Skip to content

Commit 69f27cc

Browse files
committed
Merge branch 'master' into auto-generate-linux-test
# Conflicts: # Tests/SwiftSyntaxTest/SyntaxFactoryTests.swift
2 parents f61ec82 + 1c2feb7 commit 69f27cc

File tree

2 files changed

+35
-5
lines changed

2 files changed

+35
-5
lines changed

Sources/SwiftSyntax/SyntaxFactory.swift.gyb

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -188,9 +188,10 @@ public enum SyntaxFactory {
188188
trailingTrivia: trailingTrivia)
189189
}
190190

191-
public static func makeEqualityOperator(leadingTrivia: Trivia = [],
191+
public static func makeBinaryOperator(_ name: String,
192+
leadingTrivia: Trivia = [],
192193
trailingTrivia: Trivia = []) -> TokenSyntax {
193-
return makeToken(.spacedBinaryOperator("=="),
194+
return makeToken(.spacedBinaryOperator(name),
194195
presence: .present,
195196
leadingTrivia: leadingTrivia,
196197
trailingTrivia: trailingTrivia)
@@ -199,9 +200,7 @@ public enum SyntaxFactory {
199200
public static func makeStringLiteralExpr(_ text: String,
200201
leadingTrivia: Trivia = [],
201202
trailingTrivia: Trivia = []) -> StringLiteralExprSyntax {
202-
let string = makeStringSegment(text,
203-
leadingTrivia: leadingTrivia,
204-
trailingTrivia: trailingTrivia)
203+
let string = makeStringSegment(text)
205204
let segment = makeStringSegment(content: string)
206205
let segments = makeStringLiteralSegments([segment])
207206
let openQuote = makeStringQuoteToken(leadingTrivia: leadingTrivia)

Tests/SwiftSyntaxTest/SyntaxFactoryTests.swift

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,4 +152,35 @@ public class SyntaxFactoryTests: XCTestCase {
152152
XCTAssertNoThrow(try SyntaxVerifier.verify(expr))
153153
XCTAssertThrowsError(try SyntaxVerifier.verify(unknown))
154154
}
155+
156+
public func testMakeStringLiteralExpr() {
157+
let expr = SyntaxFactory.makeStringLiteralExpr(
158+
"Hello, world!",
159+
leadingTrivia: .init(pieces: [.lineComment("// hello"), .newlines(1)])
160+
)
161+
let expected = """
162+
// hello
163+
"Hello, world!"
164+
"""
165+
XCTAssertEqual(expr.description, expected)
166+
}
167+
168+
public func testMakeBinaryOperator() {
169+
let first = IntegerLiteralExprSyntax {
170+
$0.useDigits(SyntaxFactory.makeIntegerLiteral("1", trailingTrivia: .spaces(1)))
171+
}
172+
let second = IntegerLiteralExprSyntax {
173+
$0.useDigits(SyntaxFactory.makeIntegerLiteral("1"))
174+
}
175+
let operatorNames = ["==", "!=", "+", "-", "*", "/", "<", ">", "<=", ">="]
176+
operatorNames.forEach { operatorName in
177+
let operatorToken = SyntaxFactory.makeBinaryOperator(operatorName, trailingTrivia: .spaces(1))
178+
let operatorExpr = BinaryOperatorExprSyntax {
179+
$0.useOperatorToken(operatorToken)
180+
}
181+
let exprList = SyntaxFactory.makeExprList([first, operatorExpr, second])
182+
183+
XCTAssertEqual("\(exprList)", "1 \(operatorName) 1")
184+
}
185+
}
155186
}

0 commit comments

Comments
 (0)