deprecate missing space after mapping key colon
This commit is contained in:
parent
983b560e15
commit
9a31eeff56
@ -456,6 +456,11 @@ class Inline
|
||||
|
||||
// key
|
||||
$key = self::parseScalar($mapping, $flags, array(':', ' '), array('"', "'"), $i, false);
|
||||
$i = strpos($mapping, ':', $i);
|
||||
|
||||
if (!isset($mapping[$i + 1]) || ' ' !== $mapping[$i + 1]) {
|
||||
@trigger_error('Omitting the space after the colon that follows a mapping key definition is deprecated since version 3.2 and will throw a ParseException in 4.0.', E_USER_DEPRECATED);
|
||||
}
|
||||
|
||||
// value
|
||||
$done = false;
|
||||
|
@ -165,6 +165,17 @@ class InlineTest extends \PHPUnit_Framework_TestCase
|
||||
Inline::parse($value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @requires function Symfony\Bridge\PhpUnit\ErrorAssert::assertDeprecationsAreTriggered
|
||||
* throws \Symfony\Component\Yaml\Exception\ParseException in 4.0
|
||||
*/
|
||||
public function testParseMappingKeyWithColonNotFollowedBySpace()
|
||||
{
|
||||
ErrorAssert::assertDeprecationsAreTriggered('Omitting the space after the colon that follows a mapping key definition is deprecated since version 3.2 and will throw a ParseException in 4.0.', function () {
|
||||
Inline::parse('{1:""}');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \Symfony\Component\Yaml\Exception\ParseException
|
||||
*/
|
||||
|
Reference in New Issue
Block a user