[Yaml] Fix 7.1 compat

This commit is contained in:
Nicolas Grekas 2016-10-24 20:31:12 +02:00
parent 57f8d1e1e4
commit 89b78f21eb
2 changed files with 10 additions and 7 deletions

View File

@ -317,7 +317,7 @@ class Inline
} }
if ($output && '%' === $output[0]) { if ($output && '%' === $output[0]) {
@trigger_error(sprintf('Not quoting the scalar "%s" starting with the "%%" indicator character is deprecated since Symfony 3.1 and will throw a ParseException in 4.0.' , $output), E_USER_DEPRECATED); @trigger_error(sprintf('Not quoting the scalar "%s" starting with the "%%" indicator character is deprecated since Symfony 3.1 and will throw a ParseException in 4.0.', $output), E_USER_DEPRECATED);
} }
if ($evaluate) { if ($evaluate) {
@ -606,7 +606,10 @@ class Inline
return (float) str_replace(',', '', $scalar); return (float) str_replace(',', '', $scalar);
case preg_match(self::getTimestampRegex(), $scalar): case preg_match(self::getTimestampRegex(), $scalar):
if (Yaml::PARSE_DATETIME & $flags) { if (Yaml::PARSE_DATETIME & $flags) {
return new \DateTime($scalar, new \DateTimeZone('UTC')); $date = new \DateTime($scalar);
$date->setTimeZone(new \DateTimeZone('UTC'));
return $date;
} }
$timeZone = date_default_timezone_get(); $timeZone = date_default_timezone_get();

View File

@ -507,7 +507,7 @@ class InlineTest extends \PHPUnit_Framework_TestCase
$expected = new \DateTime($yaml); $expected = new \DateTime($yaml);
$expected->setTimeZone(new \DateTimeZone('UTC')); $expected->setTimeZone(new \DateTimeZone('UTC'));
$expected->setDate($year, $month, $day); $expected->setDate($year, $month, $day);
$expected->setTime($hour, $minute, $second); @$expected->setTime($hour, $minute, $second, 1000000 * ($second - (int) $second));
$this->assertEquals($expected, Inline::parse($yaml, Yaml::PARSE_DATETIME)); $this->assertEquals($expected, Inline::parse($yaml, Yaml::PARSE_DATETIME));
} }
@ -515,9 +515,9 @@ class InlineTest extends \PHPUnit_Framework_TestCase
public function getTimestampTests() public function getTimestampTests()
{ {
return array( return array(
'canonical' => array('2001-12-15T02:59:43.1Z', 2001, 12, 15, 2, 59, 43), 'canonical' => array('2001-12-15T02:59:43.1Z', 2001, 12, 15, 2, 59, 43.1),
'ISO-8601' => array('2001-12-15t21:59:43.10-05:00', 2001, 12, 16, 2, 59, 43), 'ISO-8601' => array('2001-12-15t21:59:43.10-05:00', 2001, 12, 16, 2, 59, 43.1),
'spaced' => array('2001-12-15 21:59:43.10 -5', 2001, 12, 16, 2, 59, 43), 'spaced' => array('2001-12-15 21:59:43.10 -5', 2001, 12, 16, 2, 59, 43.1),
'date' => array('2001-12-15', 2001, 12, 15, 0, 0, 0), 'date' => array('2001-12-15', 2001, 12, 15, 0, 0, 0),
); );
} }
@ -530,7 +530,7 @@ class InlineTest extends \PHPUnit_Framework_TestCase
$expected = new \DateTime($yaml); $expected = new \DateTime($yaml);
$expected->setTimeZone(new \DateTimeZone('UTC')); $expected->setTimeZone(new \DateTimeZone('UTC'));
$expected->setDate($year, $month, $day); $expected->setDate($year, $month, $day);
$expected->setTime($hour, $minute, $second); @$expected->setTime($hour, $minute, $second, 1000000 * ($second - (int) $second));
$expectedNested = array('nested' => array($expected)); $expectedNested = array('nested' => array($expected));
$yamlNested = "{nested: [$yaml]}"; $yamlNested = "{nested: [$yaml]}";