Merge branch '2.7' into 2.8

* 2.7:
  [Console] Fix too strict test
  [validator] Updated croatian translation
  ignore invalid cookies expires date format
  [TwigBundle] Fix the name of the cache warming test class
  [Console] Fix TableCell issues with decoration
  Add missing pieces in the upgrade guide to 3.0
This commit is contained in:
Nicolas Grekas 2017-01-31 22:48:58 +01:00
commit 9cf01d8a3a
8 changed files with 118 additions and 18 deletions

View File

@ -1,6 +1,35 @@
UPGRADE FROM 2.x to 3.0
=======================
# Table of Contents
- [ClassLoader](#classloader)
- [Config](#config)
- [Console](#console)
- [DependencyInjection](#dependencyinjection)
- [DoctrineBridge](#doctrinebridge)
- [DomCrawler](#domcrawler)
- [EventDispatcher](#eventdispatcher)
- [Form](#form)
- [FrameworkBundle](#frameworkbundle)
- [HttpFoundation](#httpfoundation)
- [HttpKernel](#httpkernel)
- [Locale](#locale)
- [Monolog Bridge](#monolog-bridge)
- [Process](#process)
- [PropertyAccess](#propertyaccess)
- [Routing](#routing)
- [Security](#security)
- [SecurityBundle](#securitybundle)
- [Serializer](#serializer)
- [Swiftmailer Bridge](#swiftmailer-bridge)
- [Translator](#translator)
- [Twig Bridge](#twig-bridge)
- [TwigBundle](#twigbundle)
- [Validator](#validator)
- [WebProfiler](#webprofiler)
- [Yaml](#yaml)
### ClassLoader
* The `UniversalClassLoader` class has been removed in favor of
@ -1755,3 +1784,9 @@ UPGRADE FROM 2.x to 3.0
```php
$request->query->get('foo')['bar'];
```
### Monolog Bridge
* `Symfony\Bridge\Monolog\Logger::emerg()` was removed. Use `emergency()` which is PSR-3 compatible.
* `Symfony\Bridge\Monolog\Logger::crit()` was removed. Use `critical()` which is PSR-3 compatible.
* `Symfony\Bridge\Monolog\Logger::err()` was removed. Use `error()` which is PSR-3 compatible.
* `Symfony\Bridge\Monolog\Logger::warn()` was removed. Use `warning()` which is PSR-3 compatible.

View File

@ -17,7 +17,7 @@ use Symfony\Component\Filesystem\Filesystem;
use Symfony\Bundle\FrameworkBundle\FrameworkBundle;
use Symfony\Bundle\TwigBundle\TwigBundle;
class NewCacheWamingTest extends \PHPUnit_Framework_TestCase
class CacheWarmingTest extends \PHPUnit_Framework_TestCase
{
public function testCacheIsProperlyWarmedWhenTemplatingIsAvailable()
{

View File

@ -213,8 +213,6 @@ class Cookie
if (false !== $date = date_create($dateValue, new \DateTimeZone('GMT'))) {
return $date->format('U');
}
throw new \InvalidArgumentException(sprintf('Could not parse date "%s".', $dateValue));
}
/**

View File

@ -88,10 +88,11 @@ class CookieTest extends \PHPUnit_Framework_TestCase
Cookie::fromString('foo');
}
public function testFromStringThrowsAnExceptionIfCookieDateIsNotValid()
public function testFromStringIgnoresInvalidExpiresDate()
{
$this->setExpectedException('InvalidArgumentException');
Cookie::fromString('foo=bar; expires=Flursday July 31st 2020, 08:49:37 GMT');
$cookie = Cookie::fromString('foo=bar; expires=Flursday July 31st 2020, 08:49:37 GMT');
$this->assertFalse($cookie->isExpired());
}
public function testFromStringThrowsAnExceptionIfUrlIsNotValid()

View File

@ -560,7 +560,7 @@ class Table
foreach ($row as $i => $cell) {
if ($cell instanceof TableCell) {
$textLength = strlen($cell);
$textLength = Helper::strlenWithoutDecoration($this->output->getFormatter(), $cell);
if ($textLength > 0) {
$contentColumns = str_split($cell, ceil($textLength / $cell->getColspan()));
foreach ($contentColumns as $position => $content) {

View File

@ -16,6 +16,7 @@ use Symfony\Component\Console\Helper\HelperSet;
use Symfony\Component\Console\Output\StreamOutput;
use Symfony\Component\Console\Helper\ProcessHelper;
use Symfony\Component\Process\Process;
use Symfony\Component\Process\ProcessBuilder;
class ProcessHelperTest extends \PHPUnit_Framework_TestCase
{
@ -83,9 +84,9 @@ EOT;
EOT;
$errorMessage = 'An error occurred';
if ('\\' === DIRECTORY_SEPARATOR) {
$successOutputProcessDebug = str_replace("'", '"', $successOutputProcessDebug);
}
$args = new ProcessBuilder(array('php', '-r', 'echo 42;'));
$args = $args->getProcess()->getCommandLine();
$successOutputProcessDebug = str_replace("'php' '-r' 'echo 42;'", $args, $successOutputProcessDebug);
return array(
array('', 'php -r "echo 42;"', StreamOutput::VERBOSITY_VERBOSE, null),

View File

@ -35,9 +35,9 @@ class TableTest extends \PHPUnit_Framework_TestCase
/**
* @dataProvider testRenderProvider
*/
public function testRender($headers, $rows, $style, $expected)
public function testRender($headers, $rows, $style, $expected, $decorated = false)
{
$table = new Table($output = $this->getOutputStream());
$table = new Table($output = $this->getOutputStream($decorated));
$table
->setHeaders($headers)
->setRows($rows)
@ -51,9 +51,9 @@ class TableTest extends \PHPUnit_Framework_TestCase
/**
* @dataProvider testRenderProvider
*/
public function testRenderAddRows($headers, $rows, $style, $expected)
public function testRenderAddRows($headers, $rows, $style, $expected, $decorated = false)
{
$table = new Table($output = $this->getOutputStream());
$table = new Table($output = $this->getOutputStream($decorated));
$table
->setHeaders($headers)
->addRows($rows)
@ -67,9 +67,9 @@ class TableTest extends \PHPUnit_Framework_TestCase
/**
* @dataProvider testRenderProvider
*/
public function testRenderAddRowsOneByOne($headers, $rows, $style, $expected)
public function testRenderAddRowsOneByOne($headers, $rows, $style, $expected, $decorated = false)
{
$table = new Table($output = $this->getOutputStream());
$table = new Table($output = $this->getOutputStream($decorated));
$table
->setHeaders($headers)
->setStyle($style)
@ -485,6 +485,35 @@ TABLE
TABLE
),
'Coslpan and table cells with comment style' => array(
array(
new TableCell('<comment>Long Title</comment>', array('colspan' => 3)),
),
array(
array(
new TableCell('9971-5-0210-0', array('colspan' => 3)),
),
new TableSeparator(),
array(
'Dante Alighieri',
'J. R. R. Tolkien',
'J. R. R',
),
),
'default',
<<<TABLE
+-----------------+------------------+---------+
|\033[32m \033[39m\033[33mLong Title\033[39m\033[32m \033[39m|
+-----------------+------------------+---------+
| 9971-5-0210-0 |
+-----------------+------------------+---------+
| Dante Alighieri | J. R. R. Tolkien | J. R. R |
+-----------------+------------------+---------+
TABLE
,
true,
),
);
}
@ -650,9 +679,9 @@ TABLE;
Table::getStyleDefinition('absent');
}
protected function getOutputStream()
protected function getOutputStream($decorated = false)
{
return new StreamOutput($this->stream, StreamOutput::VERBOSITY_NORMAL, false);
return new StreamOutput($this->stream, StreamOutput::VERBOSITY_NORMAL, $decorated);
}
protected function getOutputContent(StreamOutput $output)

View File

@ -278,6 +278,42 @@
<source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source>
<target>Ova vrijednost ne bi trebala biti {{ compared_value_type }} {{ compared_value }}.</target>
</trans-unit>
<trans-unit id="73">
<source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source>
<target>Omjer slike je prevelik ({{ ratio }}). Dozvoljeni maksimalni omjer je {{ max_ratio }}.</target>
</trans-unit>
<trans-unit id="74">
<source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source>
<target>Omjer slike je premali ({{ ratio }}). Minimalni očekivani omjer je {{ min_ratio }}.</target>
</trans-unit>
<trans-unit id="75">
<source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source>
<target>Slika je kvadratnog oblika ({{ width }}x{{ height }}px). Kvadratne slike nisu dozvoljene.</target>
</trans-unit>
<trans-unit id="76">
<source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source>
<target>Slika je orijentirana horizontalno ({{ width }}x{{ height }}px). Horizontalno orijentirane slike nisu dozvoljene.</target>
</trans-unit>
<trans-unit id="77">
<source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source>
<target>Slika je orijentirana vertikalno ({{ width }}x{{ height }}px). Vertikalno orijentirane slike nisu dozvoljene.</target>
</trans-unit>
<trans-unit id="78">
<source>An empty file is not allowed.</source>
<target>Prazna datoteka nije dozvoljena.</target>
</trans-unit>
<trans-unit id="79">
<source>The host could not be resolved.</source>
<target>Poslužitelj nije mogao biti razriješen.</target>
</trans-unit>
<trans-unit id="80">
<source>This value does not match the expected {{ charset }} charset.</source>
<target>Znakovne oznake vrijednosti ne odgovaraju očekivanom {{ charset }} skupu.</target>
</trans-unit>
<trans-unit id="81">
<source>This is not a valid Business Identifier Code (BIC).</source>
<target>Ovo nije validan poslovni identifikacijski broj (BIC).</target>
</trans-unit>
</body>
</file>
</xliff>