@@ -34,9 +34,81 @@ public void TestDescendants()
34
34
test.sub.key = ""yes""
35
35
[[array]]
36
36
hello = true
37
- " . ReplaceLineEndings ( "\r \n " ) ;
37
+ " ;
38
+ var expected = """
39
+ trivia: (1,1)-(1,19) Comment "# This is a comment"
40
+ trivia: (1,20)-(1,21) NewLine "\r\n"
41
+ token: (2,1)-(2,1) "["
42
+ token: (2,2)-(2,6) "table"
43
+ token: (2,7)-(2,7) "]"
44
+ token: (2,8)-(2,9) "\r\n"
45
+ token: (3,1)-(3,3) "key"
46
+ trivia: (3,4)-(3,4) Whitespaces " "
47
+ token: (3,5)-(3,5) "="
48
+ trivia: (3,6)-(3,6) Whitespaces " "
49
+ token: (3,7)-(3,7) "1"
50
+ trivia: (3,8)-(3,8) Whitespaces " "
51
+ trivia: (3,9)-(3,33) Comment "# This is another comment"
52
+ token: (3,34)-(3,35) "\r\n"
53
+ token: (4,1)-(4,4) "test"
54
+ token: (4,5)-(4,5) "."
55
+ token: (4,6)-(4,8) "sub"
56
+ token: (4,9)-(4,9) "."
57
+ token: (4,10)-(4,12) "key"
58
+ trivia: (4,13)-(4,13) Whitespaces " "
59
+ token: (4,14)-(4,14) "="
60
+ trivia: (4,15)-(4,15) Whitespaces " "
61
+ token: (4,16)-(4,20) "\"yes\""
62
+ token: (4,21)-(4,22) "\r\n"
63
+ token: (5,1)-(5,2) "[["
64
+ token: (5,3)-(5,7) "array"
65
+ token: (5,8)-(5,9) "]]"
66
+ token: (5,10)-(5,11) "\r\n"
67
+ token: (6,1)-(6,5) "hello"
68
+ trivia: (6,6)-(6,6) Whitespaces " "
69
+ token: (6,7)-(6,7) "="
70
+ trivia: (6,8)-(6,8) Whitespaces " "
71
+ token: (6,9)-(6,12) "true"
72
+ token: (6,13)-(6,14) "\r\n"
73
+
74
+ """ ;
75
+ AssertDocumentSyntax ( expected , input ) ;
76
+ }
77
+
78
+ [ Test ]
79
+ public void TestInlineArray ( )
80
+ {
81
+ var input = @"x = [1,
82
+ 2,
83
+ 3
84
+ ]
85
+ " ;
86
+ var expected = """
87
+ token: (1,1)-(1,1) "x"
88
+ trivia: (1,2)-(1,2) Whitespaces " "
89
+ token: (1,3)-(1,3) "="
90
+ trivia: (1,4)-(1,4) Whitespaces " "
91
+ token: (1,5)-(1,5) "["
92
+ token: (1,6)-(1,6) "1"
93
+ token: (1,7)-(1,7) ","
94
+ trivia: (1,8)-(1,9) NewLine "\r\n"
95
+ token: (2,1)-(2,1) "2"
96
+ token: (2,2)-(2,2) ","
97
+ trivia: (2,3)-(2,4) NewLine "\r\n"
98
+ token: (3,1)-(3,1) "3"
99
+ trivia: (3,2)-(3,3) NewLine "\r\n"
100
+ token: (4,1)-(4,1) "]"
101
+ token: (4,2)-(4,3) "\r\n"
102
+
103
+ """ ;
104
+ AssertDocumentSyntax ( expected , input ) ;
105
+ }
38
106
39
- var tokens = Toml . Parse ( input ) . Tokens ( ) . ToList ( ) ;
107
+ private static void AssertDocumentSyntax ( string expected , string input )
108
+ {
109
+ input = input . ReplaceLineEndings ( "\r \n " ) ;
110
+ var doc = Toml . Parse ( input ) ;
111
+ var tokens = doc . Tokens ( ) . ToList ( ) ;
40
112
var builder = new StringBuilder ( ) ;
41
113
foreach ( var node in tokens )
42
114
{
@@ -49,48 +121,8 @@ public void TestDescendants()
49
121
builder . AppendLine ( $ "token: { token . Span } { ( token . Text is not null ? TomlFormatHelper . ToString ( token . Text , TomlPropertyDisplayKind . Default ) : string . Empty ) } ") ;
50
122
}
51
123
}
52
-
53
-
54
- var actual = builder . ToString ( ) ;
55
- var expected = @"trivia: (1,1)-(1,19) Comment ""# This is a comment""
56
- trivia: (1,20)-(1,21) NewLine ""\r\n""
57
- token: (2,1)-(2,1) ""[""
58
- token: (2,2)-(2,6) ""table""
59
- token: (2,7)-(2,7) ""]""
60
- token: (2,8)-(2,9) ""\r\n""
61
- token: (3,1)-(3,3) ""key""
62
- trivia: (3,4)-(3,4) Whitespaces "" ""
63
- token: (3,5)-(3,5) ""=""
64
- trivia: (3,6)-(3,6) Whitespaces "" ""
65
- token: (3,7)-(3,7) ""1""
66
- trivia: (3,8)-(3,8) Whitespaces "" ""
67
- trivia: (3,9)-(3,33) Comment ""# This is another comment""
68
- token: (3,34)-(3,35) ""\r\n""
69
- token: (4,1)-(4,4) ""test""
70
- token: (4,5)-(4,5) "".""
71
- token: (4,6)-(4,8) ""sub""
72
- token: (4,9)-(4,9) "".""
73
- token: (4,10)-(4,12) ""key""
74
- trivia: (4,13)-(4,13) Whitespaces "" ""
75
- token: (4,14)-(4,14) ""=""
76
- trivia: (4,15)-(4,15) Whitespaces "" ""
77
- token: (4,16)-(4,20) ""\""yes\""""
78
- token: (4,21)-(4,22) ""\r\n""
79
- token: (5,1)-(5,2) ""[[""
80
- token: (5,3)-(5,7) ""array""
81
- token: (5,8)-(5,9) ""]]""
82
- token: (5,10)-(5,11) ""\r\n""
83
- token: (6,1)-(6,5) ""hello""
84
- trivia: (6,6)-(6,6) Whitespaces "" ""
85
- token: (6,7)-(6,7) ""=""
86
- trivia: (6,8)-(6,8) Whitespaces "" ""
87
- token: (6,9)-(6,12) ""true""
88
- token: (6,13)-(6,14) ""\r\n""
89
- " ;
90
- //Console.WriteLine(builder.ToString());
91
-
92
- AssertHelper . AreEqualNormalizeNewLine ( expected , actual , true ) ;
124
+
125
+ var docStr = builder . ToString ( ) ;
126
+ AssertHelper . AreEqualNormalizeNewLine ( expected , docStr , true ) ;
93
127
}
94
-
95
-
96
128
}
0 commit comments