Skip to content

Commit 2032cc1

Browse files
committed
Added missing fix its
1 parent 9ad7a48 commit 2032cc1

File tree

5 files changed

+115
-45
lines changed

5 files changed

+115
-45
lines changed

Tests/SwiftParserTest/VariadicGenericsTests.swift

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -561,8 +561,11 @@ final class TypeParameterPackTests: XCTestCase {
561561
var foo: (bar: Int 1️⃣bar2: Int)
562562
""",
563563
diagnostics: [
564-
DiagnosticSpec(message: "expected ',' in tuple type")
565-
]
564+
DiagnosticSpec(message: "expected ',' in tuple type", fixIts: ["insert ','"])
565+
],
566+
fixedSource: """
567+
var foo: (bar: Int, bar2: Int)
568+
"""
566569
)
567570

568571
assertParse(
@@ -579,8 +582,11 @@ final class TypeParameterPackTests: XCTestCase {
579582
var foo: (a 1️⃣Int)
580583
""",
581584
diagnostics: [
582-
DiagnosticSpec(message: "expected ':' in tuple type")
583-
]
585+
DiagnosticSpec(message: "expected ':' in tuple type", fixIts: ["insert ':'"])
586+
],
587+
fixedSource: """
588+
var foo: (a: Int)
589+
"""
584590
)
585591

586592
assertParse(
@@ -607,26 +613,35 @@ final class TypeParameterPackTests: XCTestCase {
607613
var foo: (Array<Foo> 1️⃣Array<Bar>)
608614
""",
609615
diagnostics: [
610-
DiagnosticSpec(message: "expected ',' in tuple type")
611-
]
616+
DiagnosticSpec(message: "expected ',' in tuple type", fixIts: ["insert ','"])
617+
],
618+
fixedSource: """
619+
var foo: (Array<Foo> , Array<Bar>)
620+
"""
612621
)
613622

614623
assertParse(
615624
"""
616625
var foo: (a 1️⃣Array<Bar>)
617626
""",
618627
diagnostics: [
619-
DiagnosticSpec(message: "expected ':' in tuple type")
620-
]
628+
DiagnosticSpec(message: "expected ':' in tuple type", fixIts: ["insert ':'"])
629+
],
630+
fixedSource: """
631+
var foo: (a: Array<Bar>)
632+
"""
621633
)
622634

623635
assertParse(
624636
"""
625637
var foo: (Array<Foo> 1️⃣a)
626638
""",
627639
diagnostics: [
628-
DiagnosticSpec(message: "expected ',' in tuple type")
629-
]
640+
DiagnosticSpec(message: "expected ',' in tuple type", fixIts: ["insert ','"])
641+
],
642+
fixedSource: """
643+
var foo: (Array<Foo> , a)
644+
"""
630645
)
631646
}
632647
}

Tests/SwiftParserTest/translated/AsyncTests.swift

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ final class AsyncTests: XCTestCase {
5959
assertParse(
6060
"func asyncGlobal5() -> Int 1️⃣async throws { }",
6161
diagnostics: [
62-
DiagnosticSpec(message: "'async throws' must preceed '->'")
62+
DiagnosticSpec(message: "'async throws' must preceed '->'", fixIts: ["move 'async throws' in front of '->'"])
6363
],
6464
fixedSource: "func asyncGlobal5() async throws -> Int { }"
6565
)
@@ -79,7 +79,7 @@ final class AsyncTests: XCTestCase {
7979
assertParse(
8080
"func asyncGlobal7() throws -> Int 1️⃣async { }",
8181
diagnostics: [
82-
DiagnosticSpec(message: "'async' must preceed '->'")
82+
DiagnosticSpec(message: "'async' must preceed '->'", fixIts: ["move 'async' in front of '->'"])
8383
],
8484
fixedSource: "func asyncGlobal7() async throws -> Int { }"
8585
)
@@ -118,7 +118,7 @@ final class AsyncTests: XCTestCase {
118118
}
119119
""",
120120
diagnostics: [
121-
DiagnosticSpec(locationMarker: "1️⃣", message: "deinitializers cannot have a name"),
121+
DiagnosticSpec(locationMarker: "1️⃣", message: "deinitializers cannot have a name", fixIts: ["remove 'async'"]),
122122
DiagnosticSpec(locationMarker: "2️⃣", message: "unexpected code 'async' in subscript"),
123123
]
124124
)
@@ -144,7 +144,7 @@ final class AsyncTests: XCTestCase {
144144
assertParse(
145145
"typealias AsyncFunc3 = () throws 1️⃣async -> ()",
146146
diagnostics: [
147-
DiagnosticSpec(message: "'async' must precede 'throws'")
147+
DiagnosticSpec(message: "'async' must precede 'throws'", fixIts: ["move 'async' in front of 'throws'"])
148148
],
149149
fixedSource: "typealias AsyncFunc3 = () async throws -> ()"
150150
)
@@ -170,7 +170,7 @@ final class AsyncTests: XCTestCase {
170170
assertParse(
171171
"let _ = [() throws 1️⃣async -> ()]()",
172172
diagnostics: [
173-
DiagnosticSpec(message: "'async' must precede 'throws'")
173+
DiagnosticSpec(message: "'async' must precede 'throws'", fixIts: ["move 'async' in front of 'throws'"])
174174
],
175175
fixedSource: "let _ = [() async throws -> ()]()"
176176
)
@@ -182,8 +182,11 @@ final class AsyncTests: XCTestCase {
182182
let _ = [() -> 1️⃣async ()]()
183183
""",
184184
diagnostics: [
185-
DiagnosticSpec(message: "'async' must preceed '->'")
186-
]
185+
DiagnosticSpec(message: "'async' must preceed '->'", fixIts: ["move 'async' in front of '->'"])
186+
],
187+
fixedSource:"""
188+
let _ = [() async -> ()]()
189+
"""
187190
)
188191
}
189192

Tests/SwiftParserTest/translated/AvailabilityQueryUnavailabilityTests.swift

Lines changed: 67 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,12 @@ final class AvailabilityQueryUnavailabilityTests: XCTestCase {
9090
}
9191
""",
9292
diagnostics: [
93-
DiagnosticSpec(message: "expected '(', '@availability' arguments, and ')' in availability condition")
94-
]
93+
DiagnosticSpec(message: "expected '(', '@availability' arguments, and ')' in availability condition", fixIts: ["insert '(', '@availability' arguments, and ')'"])
94+
],
95+
fixedSource: """
96+
if #unavailable( <#identifier#>){
97+
}
98+
"""
9599
)
96100
}
97101

@@ -102,9 +106,13 @@ final class AvailabilityQueryUnavailabilityTests: XCTestCase {
102106
}
103107
""",
104108
diagnostics: [
105-
DiagnosticSpec(message: "expected version restriction in availability argument"),
106-
DiagnosticSpec(message: "expected ')' to end availability condition"),
107-
]
109+
DiagnosticSpec(message: "expected version restriction in availability argument", fixIts: ["insert version restriction"]),
110+
DiagnosticSpec(message: "expected ')' to end availability condition", fixIts: ["insert ')'"]),
111+
],
112+
fixedSource:"""
113+
if #unavailable(<#identifier#> ){
114+
}
115+
"""
108116
)
109117
}
110118

@@ -115,8 +123,11 @@ final class AvailabilityQueryUnavailabilityTests: XCTestCase {
115123
}
116124
""",
117125
diagnostics: [
118-
DiagnosticSpec(message: "expected version restriction in availability argument")
119-
]
126+
DiagnosticSpec(message: "expected version restriction in availability argument", fixIts: ["insert version restriction"])
127+
],fixedSource: """
128+
if #unavailable(<#identifier#>) {
129+
}
130+
"""
120131
)
121132
}
122133

@@ -131,7 +142,8 @@ final class AvailabilityQueryUnavailabilityTests: XCTestCase {
131142
message: "expected ')' to end availability condition",
132143
notes: [
133144
NoteSpec(message: "to match this opening '('")
134-
]
145+
],
146+
fixIts: ["insert ')'"]
135147
)
136148
]
137149
)
@@ -157,9 +169,14 @@ final class AvailabilityQueryUnavailabilityTests: XCTestCase {
157169
message: "expected ')' to end availability condition",
158170
notes: [
159171
NoteSpec(message: "to match this opening '('")
160-
]
172+
],
173+
fixIts: ["insert ')'"]
161174
)
162-
]
175+
],
176+
fixedSource: """
177+
if #unavailable(OSX 10.51) {
178+
}
179+
"""
163180
)
164181
}
165182

@@ -253,8 +270,13 @@ final class AvailabilityQueryUnavailabilityTests: XCTestCase {
253270
}
254271
""",
255272
diagnostics: [
256-
DiagnosticSpec(message: "expected version restriction in availability argument")
257-
]
273+
DiagnosticSpec(message: "expected version restriction in availability argument", fixIts: ["insert version restriction"])
274+
],
275+
fixedSource: """
276+
// Should this be a valid spelling since `#unvailable(*)` cannot be written?
277+
if #unavailable(<#identifier#>) {
278+
}
279+
"""
258280
)
259281
}
260282

@@ -269,9 +291,14 @@ final class AvailabilityQueryUnavailabilityTests: XCTestCase {
269291
message: "expected ')' to end availability condition",
270292
notes: [
271293
NoteSpec(message: "to match this opening '('")
272-
]
294+
],
295+
fixIts: ["insert ')'"]
273296
)
274-
]
297+
],
298+
fixedSource: """
299+
if #unavailable(OSX 10) {
300+
}
301+
"""
275302
)
276303
}
277304

@@ -292,9 +319,13 @@ final class AvailabilityQueryUnavailabilityTests: XCTestCase {
292319
}
293320
""",
294321
diagnostics: [
295-
DiagnosticSpec(message: "expected version restriction in availability argument"),
296-
DiagnosticSpec(message: "expected ')' to end availability condition"),
297-
]
322+
DiagnosticSpec(message: "expected version restriction in availability argument", fixIts: ["insert version restriction"]),
323+
DiagnosticSpec(message: "expected ')' to end availability condition", fixIts: ["insert ')'"]),
324+
],
325+
fixedSource: """
326+
if #unavailable(OSX 10.51,<#identifier#> ){
327+
}
328+
"""
298329
)
299330
}
300331

@@ -305,8 +336,12 @@ final class AvailabilityQueryUnavailabilityTests: XCTestCase {
305336
}
306337
""",
307338
diagnostics: [
308-
DiagnosticSpec(message: "expected version restriction in availability argument")
309-
]
339+
DiagnosticSpec(message: "expected version restriction in availability argument", fixIts: ["insert version restriction"])
340+
],
341+
fixedSource: """
342+
if #unavailable(OSX 10.51,<#identifier#>) {
343+
}
344+
"""
310345
)
311346
}
312347

@@ -321,9 +356,14 @@ final class AvailabilityQueryUnavailabilityTests: XCTestCase {
321356
message: "expected ')' to end availability condition",
322357
notes: [
323358
NoteSpec(message: "to match this opening '('")
324-
]
359+
],
360+
fixIts: ["insert ')'"]
325361
)
326-
]
362+
],
363+
fixedSource: """
364+
if #unavailable(OSX 10.51, iOS) {
365+
}
366+
"""
327367
)
328368
}
329369

@@ -352,8 +392,12 @@ final class AvailabilityQueryUnavailabilityTests: XCTestCase {
352392
}
353393
""",
354394
diagnostics: [
355-
DiagnosticSpec(message: "expected ',' joining platforms in availability condition")
356-
]
395+
DiagnosticSpec(message: "expected ',' joining platforms in availability condition", fixIts: ["replace '||' with ','"])
396+
],
397+
fixedSource: """
398+
if #unavailable(OSX 10.51 , iOS 8.0) {
399+
}
400+
"""
357401
)
358402
}
359403

Tests/SwiftParserTest/translated/DiagnoseDynamicReplacementTests.swift

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,15 @@ final class DiagnoseDynamicReplacementTests: XCTestCase {
6363
message: "expected ')' to end attribute",
6464
notes: [
6565
NoteSpec(message: "to match this opening '('")
66-
]
66+
],
67+
fixIts: ["insert ')'"]
6768
)
68-
]
69+
],
70+
fixedSource: """
71+
@_dynamicReplacement(for: dynamically_replaceable() )
72+
func test_dynamic_replacement_for3() {
73+
}
74+
"""
6975
)
7076
}
71-
7277
}

Tests/SwiftParserTest/translated/UnclosedStringInterpolationTests.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,11 @@ final class UnclosedStringInterpolationTests: XCTestCase {
2929
_ = "mid == \(pete1️⃣"
3030
"""##,
3131
diagnostics: [
32-
DiagnosticSpec(message: "expected ')' in string literal")
33-
]
32+
DiagnosticSpec(message: "expected ')' in string literal", fixIts: ["insert ')'"])
33+
],
34+
fixedSource: ##"""
35+
_ = "mid == \(pete)"
36+
"""##
3437
)
3538
}
3639

0 commit comments

Comments
 (0)