@@ -18,41 +18,44 @@ final class ObjectLiteralsTests: ParserTestCase {
1818 func testObjectLiterals1a( ) {
1919 assertParse (
2020 """
21- let _ = [#Color(colorLiteralRed: red, green: green, blue: blue, alpha: alpha)# 1️⃣]
21+ let _ = [#Color(colorLiteralRed: red, green: green, blue: blue, alpha: alpha)1️⃣#2️⃣ ]
2222 """ ,
2323 diagnostics: [
24- DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected identifier in macro expansion " , fixIts: [ " insert identifier " ] )
24+ DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected ',' in array element " , fixIts: [ " insert ',' " ] ) ,
25+ DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " expected identifier in macro expansion " , fixIts: [ " insert identifier " ] ) ,
2526 ] ,
2627 fixedSource: """
27- let _ = [#Color(colorLiteralRed: red, green: green, blue: blue, alpha: alpha)#<#identifier#>]
28+ let _ = [#Color(colorLiteralRed: red, green: green, blue: blue, alpha: alpha), #<#identifier#>]
2829 """
2930 )
3031 }
3132
3233 func testObjectLiterals1b( ) {
3334 assertParse (
3435 """
35- let _ = [#Image(imageLiteral: localResourceNameAsString)# 1️⃣]
36+ let _ = [#Image(imageLiteral: localResourceNameAsString)1️⃣#2️⃣ ]
3637 """ ,
3738 diagnostics: [
38- DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected identifier in macro expansion " , fixIts: [ " insert identifier " ] )
39+ DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected ',' in array element " , fixIts: [ " insert ',' " ] ) ,
40+ DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " expected identifier in macro expansion " , fixIts: [ " insert identifier " ] ) ,
3941 ] ,
4042 fixedSource: """
41- let _ = [#Image(imageLiteral: localResourceNameAsString)#<#identifier#>]
43+ let _ = [#Image(imageLiteral: localResourceNameAsString), #<#identifier#>]
4244 """
4345 )
4446 }
4547
4648 func testObjectLiterals1c( ) {
4749 assertParse (
4850 """
49- let _ = [#FileReference(fileReferenceLiteral: localResourceNameAsString)# 1️⃣]
51+ let _ = [#FileReference(fileReferenceLiteral: localResourceNameAsString)1️⃣#2️⃣ ]
5052 """ ,
5153 diagnostics: [
52- DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected identifier in macro expansion " , fixIts: [ " insert identifier " ] )
54+ DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected ',' in array element " , fixIts: [ " insert ',' " ] ) ,
55+ DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " expected identifier in macro expansion " , fixIts: [ " insert identifier " ] ) ,
5356 ] ,
5457 fixedSource: """
55- let _ = [#FileReference(fileReferenceLiteral: localResourceNameAsString)#<#identifier#>]
58+ let _ = [#FileReference(fileReferenceLiteral: localResourceNameAsString), #<#identifier#>]
5659 """
5760 )
5861 }
@@ -112,22 +115,22 @@ final class ObjectLiteralsTests: ParserTestCase {
112115 """ ,
113116 diagnostics: [
114117 DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected identifier in macro expansion " , fixIts: [ " insert identifier " ] ) ,
118+ DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected ',' in array element " , fixIts: [ " insert ',' " ] ) ,
115119 DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " expected identifier in macro expansion " , fixIts: [ " insert identifier " ] ) ,
116120 ] ,
117121 fixedSource: """
118- let _ = [#<#identifier#> #<#identifier#>]
122+ let _ = [#<#identifier#>, #<#identifier#>]
119123 """
120124 )
121125 }
122126
123127 func testObjectLiterals5( ) {
124128 assertParse (
125129 """
126- let _ = ℹ️[#Color(_: 1, green: 1, 2)2️⃣
130+ let _ = ℹ️[#Color(_: 1, green: 1, 2)1️⃣
127131 """ ,
128132 diagnostics: [
129133 DiagnosticSpec (
130- locationMarker: " 2️⃣ " ,
131134 message: " expected ']' to end array " ,
132135 notes: [ NoteSpec ( message: " to match this opening '[' " ) ] ,
133136 fixIts: [ " insert ']' " ]
@@ -142,37 +145,43 @@ final class ObjectLiteralsTests: ParserTestCase {
142145 func testObjectLiterals6( ) {
143146 assertParse (
144147 """
145- let _ = ℹ️[1️⃣ #Color(red: 1, green: 1, blue: 1)#2️⃣3️⃣
148+ let _ = ℹ️[#Color(red: 1, green: 1, blue: 1)1️⃣#2️⃣
146149 """ ,
147150 diagnostics: [
151+ DiagnosticSpec (
152+ locationMarker: " 1️⃣ " ,
153+ message: " expected ',' in array element " ,
154+ fixIts: [ " insert ',' " ]
155+ ) ,
148156 DiagnosticSpec (
149157 locationMarker: " 2️⃣ " ,
150158 message: " expected identifier in macro expansion " ,
151159 fixIts: [ " insert identifier " ]
152160 ) ,
153161 DiagnosticSpec (
154- locationMarker: " 3️⃣ " ,
162+ locationMarker: " 2️⃣ " ,
155163 message: " expected ']' to end array " ,
156164 notes: [ NoteSpec ( message: " to match this opening '[' " ) ] ,
157165 fixIts: [ " insert ']' " ]
158166 ) ,
159167 ] ,
160168 fixedSource: """
161- let _ = [#Color(red: 1, green: 1, blue: 1)#<#identifier#>]
169+ let _ = [#Color(red: 1, green: 1, blue: 1), #<#identifier#>]
162170 """
163171 )
164172 }
165173
166174 func testObjectLiterals7( ) {
167175 assertParse (
168176 """
169- let _ = [#Color(withRed: 1, green: 1, whatever: 2)# 1️⃣]
177+ let _ = [#Color(withRed: 1, green: 1, whatever: 2)1️⃣#2️⃣ ]
170178 """ ,
171179 diagnostics: [
172- DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected identifier in macro expansion " , fixIts: [ " insert identifier " ] )
180+ DiagnosticSpec ( locationMarker: " 1️⃣ " , message: " expected ',' in array element " , fixIts: [ " insert ',' " ] ) ,
181+ DiagnosticSpec ( locationMarker: " 2️⃣ " , message: " expected identifier in macro expansion " , fixIts: [ " insert identifier " ] ) ,
173182 ] ,
174183 fixedSource: """
175- let _ = [#Color(withRed: 1, green: 1, whatever: 2)#<#identifier#>]
184+ let _ = [#Color(withRed: 1, green: 1, whatever: 2), #<#identifier#>]
176185 """
177186 )
178187 }
0 commit comments