[Yaml] fixed handling an empty value
This commit is contained in:
parent
12b7073607
commit
047212a439
@ -102,7 +102,7 @@ class Parser
|
||||
$parser->refs =& $this->refs;
|
||||
|
||||
$block = $values['value'];
|
||||
if (!$this->isNextLineIndented()) {
|
||||
if ($this->isNextLineIndented()) {
|
||||
$block .= "\n".$this->getNextEmbedBlock($this->getCurrentLineIndentation() + 2);
|
||||
}
|
||||
|
||||
@ -174,7 +174,7 @@ class Parser
|
||||
// hash
|
||||
} elseif (!isset($values['value']) || '' == trim($values['value'], ' ') || 0 === strpos(ltrim($values['value'], ' '), '#')) {
|
||||
// if next line is less indented or equal, then it means that the current value is null
|
||||
if ($this->isNextLineIndented() && !$this->isNextLineUnIndentedCollection()) {
|
||||
if (!$this->isNextLineIndented() && !$this->isNextLineUnIndentedCollection()) {
|
||||
$data[$key] = null;
|
||||
} else {
|
||||
$c = $this->getRealCurrentLineNb() + 1;
|
||||
@ -493,7 +493,7 @@ class Parser
|
||||
}
|
||||
|
||||
$ret = false;
|
||||
if ($this->getCurrentLineIndentation() <= $currentIndentation) {
|
||||
if ($this->getCurrentLineIndentation() > $currentIndentation) {
|
||||
$ret = true;
|
||||
}
|
||||
|
||||
|
@ -492,6 +492,15 @@ yaml:
|
||||
EOF
|
||||
);
|
||||
}
|
||||
|
||||
public function testEmptyValue()
|
||||
{
|
||||
$input = <<<EOF
|
||||
hash:
|
||||
EOF;
|
||||
|
||||
$this->assertEquals(array('hash' => null), Yaml::parse($input));
|
||||
}
|
||||
}
|
||||
|
||||
class B
|
||||
|
Reference in New Issue
Block a user