Skip to content

Commit c61770d

Browse files
committed
Added missing fix its
1 parent 17e41b6 commit c61770d

File tree

62 files changed

+960
-774
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+960
-774
lines changed

Tests/SwiftParserTest/Assertions.swift

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -434,7 +434,18 @@ func assertDiagnostic<T: SyntaxProtocol>(
434434
}
435435
}
436436
}
437-
if let fixIts = spec.fixIts {
437+
438+
if diag.fixIts.count != (spec.fixIts?.count ?? 0) {
439+
XCTFail(
440+
"""
441+
Expected \(spec.fixIts?.count ?? 0) fix its but received \(diag.fixIts.count):
442+
\(diag.fixIts.map { $0.message.message }.joined(separator: "\n"))
443+
""",
444+
file: file,
445+
line: line
446+
)
447+
} else if let fixIts = spec.fixIts {
448+
XCTAssertEqual(diag.fixIts.map { $0.message.message }, spec.fixIts ?? [], file: file, line: line)
438449
if fixIts != diag.fixIts.map(\.message.message) {
439450
failStringsEqualWithDiff(
440451
diag.fixIts.map(\.message.message).joined(separator: "\n"),

Tests/SwiftParserTest/AttributeTests.swift

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,9 @@ final class AttributeTests: XCTestCase {
6060
@_specialize(e1️⃣
6161
""",
6262
diagnostics: [
63-
DiagnosticSpec(message: "expected ':' in attribute argument"),
64-
DiagnosticSpec(message: "expected ')' to end attribute"),
65-
DiagnosticSpec(message: "expected declaration after attribute"),
63+
DiagnosticSpec(message: "expected ':' in attribute argument", fixIts: ["insert ':'"]),
64+
DiagnosticSpec(message: "expected ')' to end attribute", fixIts: ["insert ')'"]),
65+
DiagnosticSpec(message: "expected declaration after attribute", fixIts: ["insert declaration"]),
6666
]
6767
)
6868
}
@@ -73,9 +73,9 @@ final class AttributeTests: XCTestCase {
7373
@_specialize(e1️⃣, exported2️⃣)3️⃣
7474
""",
7575
diagnostics: [
76-
DiagnosticSpec(locationMarker: "1️⃣", message: "expected ':' in attribute argument"),
77-
DiagnosticSpec(locationMarker: "2️⃣", message: "expected ': false' in attribute argument"),
78-
DiagnosticSpec(locationMarker: "3️⃣", message: "expected declaration after attribute"),
76+
DiagnosticSpec(locationMarker: "1️⃣", message: "expected ':' in attribute argument", fixIts: ["insert ':'"]),
77+
DiagnosticSpec(locationMarker: "2️⃣", message: "expected ': false' in attribute argument", fixIts: ["insert ': false'"]),
78+
DiagnosticSpec(locationMarker: "3️⃣", message: "expected declaration after attribute", fixIts: ["insert declaration"]),
7979
]
8080
)
8181
}
@@ -309,7 +309,7 @@ final class AttributeTests: XCTestCase {
309309
func testMissingDeclarationAfterAttributes() {
310310
assertParse(
311311
"@resultBuilder1️⃣",
312-
diagnostics: [DiagnosticSpec(message: "expected declaration after attribute")],
312+
diagnostics: [DiagnosticSpec(message: "expected declaration after attribute", fixIts: ["insert declaration"])],
313313
fixedSource: """
314314
@resultBuilder
315315
<#declaration#>
@@ -426,7 +426,7 @@ final class AttributeTests: XCTestCase {
426426
@_expose(Cxx, 1️⃣baz) func foo() {}
427427
""",
428428
diagnostics: [
429-
DiagnosticSpec(message: "expected string literal to end @_expose arguments"),
429+
DiagnosticSpec(message: "expected string literal to end @_expose arguments", fixIts: ["insert string literal"]),
430430
DiagnosticSpec(message: "unexpected code 'baz' in attribute"),
431431
]
432432
)
@@ -476,7 +476,7 @@ final class AttributeTests: XCTestCase {
476476
func foo() {}
477477
""",
478478
diagnostics: [
479-
DiagnosticSpec(message: "expected 'message' in @_unavailableFromAsync argument"),
479+
DiagnosticSpec(message: "expected 'message' in @_unavailableFromAsync argument", fixIts: ["insert 'message'"]),
480480
DiagnosticSpec(message: "unexpected code 'nope' before @_unavailableFromAsync argument"),
481481
]
482482
)
@@ -487,7 +487,7 @@ final class AttributeTests: XCTestCase {
487487
func foo() {}
488488
""",
489489
diagnostics: [
490-
DiagnosticSpec(message: "expected ':' and string literal in @_unavailableFromAsync argument"),
490+
DiagnosticSpec(message: "expected ':' and string literal in @_unavailableFromAsync argument", fixIts: ["insert ':' and string literal"]),
491491
DiagnosticSpec(message: #"unexpected code '= "abc"' in attribute"#),
492492
]
493493
)
@@ -498,7 +498,7 @@ final class AttributeTests: XCTestCase {
498498
func foo() {}
499499
""",
500500
diagnostics: [
501-
DiagnosticSpec(message: "expected string literal to end @_unavailableFromAsync argument"),
501+
DiagnosticSpec(message: "expected string literal to end @_unavailableFromAsync argument", fixIts: ["insert string literal"]),
502502
DiagnosticSpec(message: "unexpected code 'abc' in attribute"),
503503
]
504504
)

Tests/SwiftParserTest/AvailabilityTests.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ final class AvailabilityTests: XCTestCase {
149149
func test() {}
150150
""",
151151
diagnostics: [
152-
DiagnosticSpec(message: "expected version tuple in version restriction"),
152+
DiagnosticSpec(message: "expected version tuple in version restriction", fixIts: ["insert version tuple"]),
153153
DiagnosticSpec(message: "unexpected code '10e10' in attribute"),
154154
]
155155
)
@@ -160,7 +160,7 @@ final class AvailabilityTests: XCTestCase {
160160
func test() {}
161161
""",
162162
diagnostics: [
163-
DiagnosticSpec(message: "expected integer literal in version tuple"),
163+
DiagnosticSpec(message: "expected integer literal in version tuple", fixIts: ["insert integer literal"]),
164164
DiagnosticSpec(message: "unexpected code '0e10' in attribute"),
165165
]
166166
)
@@ -171,7 +171,7 @@ final class AvailabilityTests: XCTestCase {
171171
func test() {}
172172
""",
173173
diagnostics: [
174-
DiagnosticSpec(message: "expected version tuple in version restriction"),
174+
DiagnosticSpec(message: "expected version tuple in version restriction", fixIts: ["insert version tuple"]),
175175
DiagnosticSpec(message: "unexpected code '0xff' in attribute"),
176176
]
177177
)
@@ -182,7 +182,7 @@ final class AvailabilityTests: XCTestCase {
182182
func test() {}
183183
""",
184184
diagnostics: [
185-
DiagnosticSpec(message: "expected integer literal in version tuple"),
185+
DiagnosticSpec(message: "expected integer literal in version tuple", fixIts: ["insert integer literal"]),
186186
DiagnosticSpec(message: "unexpected code '0xff' in attribute"),
187187
]
188188
)

0 commit comments

Comments
 (0)