Skip to content

Commit b5b70b9

Browse files
wdiesveldfabpot
authored andcommitted
[Yaml] fix parse error when unindented collections contain a comment
1 parent 8fef49a commit b5b70b9

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

Parser.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -619,8 +619,14 @@ private function getNextEmbedBlock($indentation = null, $inSequence = false)
619619
}
620620

621621
$isItUnindentedCollection = $this->isStringUnIndentedCollectionItem();
622+
$isItComment = $this->isCurrentLineComment();
622623

623624
while ($this->moveToNextLine()) {
625+
if ($isItComment && !$isItUnindentedCollection) {
626+
$isItUnindentedCollection = $this->isStringUnIndentedCollectionItem();
627+
$isItComment = $this->isCurrentLineComment();
628+
}
629+
624630
$indent = $this->getCurrentLineIndentation();
625631

626632
if ($isItUnindentedCollection && !$this->isCurrentLineEmpty() && !$this->isStringUnIndentedCollectionItem() && $newIndent === $indent) {

Tests/Fixtures/sfComments.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,3 +74,17 @@ yaml: |
7474
'foo #': baz
7575
php: |
7676
['foo #' => 'baz']
77+
---
78+
test: Comment before first item in unindented collection
79+
brief: >
80+
Comment directly before unindented collection is allowed
81+
yaml: |
82+
collection1:
83+
# comment
84+
- a
85+
- b
86+
collection2:
87+
- a
88+
- b
89+
php: |
90+
['collection1' => ['a', 'b'], 'collection2' => ['a', 'b']]

0 commit comments

Comments
 (0)