Skip to content

Commit 8ac5e4f

Browse files
authored
Merge pull request #27 from mattpolzin/fix-underscore-keyword-escaping
escape underscore keyword
2 parents e7d47de + 0f63999 commit 8ac5e4f

3 files changed

Lines changed: 7 additions & 2 deletions

File tree

.github/workflows/tests.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ jobs:
1515
image:
1616
- swift:5.9-focal
1717
- swift:5.9-jammy
18-
- swift:5.9-amazonlinux2
18+
- swift:5.10-focal
19+
- swift:5.10-jammy
1920
container: ${{ matrix.image }}
2021
steps:
2122
- name: Checkout code

Sources/JSONAPISwiftGen/Swift Generators/Test Generators/TestFunctionName.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ public struct TestFunctionName: Equatable, RawRepresentable {
152152
if string == "do" { return "`do`" }
153153
if string == "try" { return "`try`" }
154154
if string == "continue" { return "`continue`" }
155+
if string == "_" { return "`_`" }
155156
return string
156157
}
157158

Tests/JSONAPISwiftGenTests/TestFunctionNameTests.swift

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,14 @@ final class TestFunctionNameTests: XCTestCase {
9595

9696
func test_reservedWordsInPath() {
9797
let t1 = TestFunctionName(
98-
path: .init(["go", "continue", "do", "try", "accept"]),
98+
path: .init(["go", "_", "continue", "do", "try", "accept"]),
9999
endpoint: .post,
100100
direction: .request,
101101
context: TestFunctionLocalContext(functionName: "_hello_world➎")!
102102
)
103+
XCTAssertTrue(t1.fullyQualifiedTestFunctionName.contains("go."))
104+
105+
XCTAssertFalse(t1.fullyQualifiedTestFunctionName.contains("._."))
103106
XCTAssertFalse(t1.fullyQualifiedTestFunctionName.contains(".do."))
104107
XCTAssertFalse(t1.fullyQualifiedTestFunctionName.contains(".continue."))
105108
XCTAssertFalse(t1.fullyQualifiedTestFunctionName.contains(".try."))

0 commit comments

Comments
 (0)