Merge branch '3.4' into 4.3
* 3.4: Fix tests on console cs fix Fix path to phpunit binary [Yaml] PHP-8: Uncaught TypeError: abs() expects parameter 1 to be int or float, string given
This commit is contained in:
commit
69ef436481
@ -670,7 +670,7 @@ class Parser
|
||||
if (\in_array($value[0], ['!', '|', '>'], true) && self::preg_match('/^(?:'.self::TAG_PATTERN.' +)?'.self::BLOCK_SCALAR_HEADER_PATTERN.'$/', $value, $matches)) {
|
||||
$modifiers = isset($matches['modifiers']) ? $matches['modifiers'] : '';
|
||||
|
||||
$data = $this->parseBlockScalar($matches['separator'], preg_replace('#\d+#', '', $modifiers), (int) abs($modifiers));
|
||||
$data = $this->parseBlockScalar($matches['separator'], preg_replace('#\d+#', '', $modifiers), (int) abs((int) $modifiers));
|
||||
|
||||
if ('' !== $matches['tag'] && '!' !== $matches['tag']) {
|
||||
if ('!!binary' === $matches['tag']) {
|
||||
|
@ -2108,6 +2108,48 @@ YAML;
|
||||
|
||||
$this->assertSame(['parameters' => 'abc'], $this->parser->parse($yaml));
|
||||
}
|
||||
|
||||
public function testParseValueWithModifiers()
|
||||
{
|
||||
$yaml = <<<YAML
|
||||
parameters:
|
||||
abc: |+5 # plus five spaces indent
|
||||
one
|
||||
two
|
||||
three
|
||||
four
|
||||
five
|
||||
YAML;
|
||||
$this->assertSame(
|
||||
[
|
||||
'parameters' => [
|
||||
'abc' => implode("\n", ['one', 'two', 'three', 'four', 'five']),
|
||||
],
|
||||
],
|
||||
$this->parser->parse($yaml)
|
||||
);
|
||||
}
|
||||
|
||||
public function testParseValueWithNegativeModifiers()
|
||||
{
|
||||
$yaml = <<<YAML
|
||||
parameters:
|
||||
abc: |-3 # minus
|
||||
one
|
||||
two
|
||||
three
|
||||
four
|
||||
five
|
||||
YAML;
|
||||
$this->assertSame(
|
||||
[
|
||||
'parameters' => [
|
||||
'abc' => implode("\n", ['one', 'two', 'three', 'four', 'five']),
|
||||
],
|
||||
],
|
||||
$this->parser->parse($yaml)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class B
|
||||
|
Reference in New Issue
Block a user