0
@@ -346,4 +346,66 @@ public class PositioningScannerImplTest extends YAMLTestCase {
0
assertEquals("Position should be correct for exception", new Position.Range(new Position(0,5,5)), ((PositionedScannerException)e).getRange());
0
+ public void testSimpleObjectWithCommentBefore() throws Exception {
0
+ List expected = new ArrayList();
0
+ expected.add(new PositionedStreamStartToken(new Position.Range(new Position(0,0,0))));
0
+ expected.add(new PositionedScalarToken(s("abc"), true, (char)0, new Position.Range(new Position(1,0,9), new Position(1,3,12))));
0
+ expected.add(new PositionedStreamEndToken(new Position.Range(new Position(1,3,12))));
0
+ List tokens = getScan("#comment\nabc");
0
+ assertEquals(expected, tokens);
0
+ public void testCommentBeforeFirstKey() throws Exception {
0
+ List expected = new ArrayList();
0
+ expected.add(new PositionedStreamStartToken( new Position.Range(new Position(0,0,0))));
0
+ expected.add(new PositionedBlockMappingStartToken( new Position.Range(new Position(1,0,5))));
0
+ expected.add(new PositionedKeyToken( new Position.Range(new Position(1,0,5))));
0
+ expected.add(new PositionedScalarToken(s("a"), true, (char)0, new Position.Range(new Position(1,0,5), new Position(1,1,6))));
0
+ expected.add(new PositionedValueToken( new Position.Range(new Position(1,2,7))));
0
+ expected.add(new PositionedScalarToken(s("b"), true, (char)0, new Position.Range(new Position(1,3,8), new Position(1,4,9))));
0
+ expected.add(new PositionedBlockEndToken( new Position.Range(new Position(1,4,9))));
0
+ expected.add(new PositionedStreamEndToken( new Position.Range(new Position(1,4,9))));
0
+ List tokens = getScan("#foo\na: b");
0
+ assertEquals(expected, tokens);
0
+ public void testCommentBeforeSecondKey() throws Exception {
0
+ List expected = new ArrayList();
0
+ expected.add(new PositionedStreamStartToken( new Position.Range(new Position(0,0,0))));
0
+ expected.add(new PositionedBlockMappingStartToken( new Position.Range(new Position(0,0,0))));
0
+ expected.add(new PositionedKeyToken( new Position.Range(new Position(0,0,0))));
0
+ expected.add(new PositionedScalarToken(s("a"), true, (char)0, new Position.Range(new Position(0,0,0), new Position(0,1,1))));
0
+ expected.add(new PositionedValueToken( new Position.Range(new Position(0,2,2))));
0
+ expected.add(new PositionedScalarToken(s("b"), true, (char)0, new Position.Range(new Position(0,3,3), new Position(0,4,4))));
0
+ expected.add(new PositionedKeyToken( new Position.Range(new Position(2,0,10))));
0
+ expected.add(new PositionedScalarToken(s("c"), true, (char)0, new Position.Range(new Position(2,0,10), new Position(2,1,11))));
0
+ expected.add(new PositionedValueToken( new Position.Range(new Position(2,2,12))));
0
+ expected.add(new PositionedScalarToken(s("d"), true, (char)0, new Position.Range(new Position(2,3,13), new Position(2,4,14))));
0
+ expected.add(new PositionedBlockEndToken( new Position.Range(new Position(2,4,14))));
0
+ expected.add(new PositionedStreamEndToken( new Position.Range(new Position(2,4,14))));
0
+ List tokens = getScan("a: b\n#foo\nc: d");
0
+ assertEquals(expected, tokens);
0
+ public void testCommentBeforeSecondKeyWithBlankFirst() throws Exception {
0
+ List expected = new ArrayList();
0
+ expected.add(new PositionedStreamStartToken( new Position.Range(new Position(0,0,0))));
0
+ expected.add(new PositionedBlockMappingStartToken( new Position.Range(new Position(0,0,0))));
0
+ expected.add(new PositionedKeyToken( new Position.Range(new Position(0,0,0))));
0
+ expected.add(new PositionedScalarToken(s("a"), true, (char)0, new Position.Range(new Position(0,0,0), new Position(0,1,1))));
0
+ expected.add(new PositionedValueToken( new Position.Range(new Position(0,2,2))));
0
+ expected.add(new PositionedKeyToken( new Position.Range(new Position(2,0,9))));
0
+ expected.add(new PositionedScalarToken(s("c"), true, (char)0, new Position.Range(new Position(2,0,9), new Position(2,1,10))));
0
+ expected.add(new PositionedValueToken( new Position.Range(new Position(2,2,11))));
0
+ expected.add(new PositionedScalarToken(s("d"), true, (char)0, new Position.Range(new Position(2,3,12), new Position(2,4,13))));
0
+ expected.add(new PositionedBlockEndToken( new Position.Range(new Position(2,4,13))));
0
+ expected.add(new PositionedStreamEndToken( new Position.Range(new Position(2,4,13))));
0
+ List tokens = getScan("a: \n#foo\nc: d");
0
+ assertEquals(expected, tokens);
0
}// PositioningScannerImplTest
Comments
No one has commented yet.