Adding tests for repeat, while, continue and Fallthrough
This commit is contained in:
parent
338e3b6ef9
commit
3c638adcf5
@ -135,6 +135,40 @@ final class StatementTests: SyntaxHighlighterTestCase {
|
||||
])
|
||||
}
|
||||
|
||||
func testSwitchStatementWithFallthrough() {
|
||||
let components = highlighter.highlight("""
|
||||
switch variable {
|
||||
case .one: fallthrough
|
||||
default:
|
||||
callB()
|
||||
}
|
||||
""")
|
||||
|
||||
XCTAssertEqual(components, [
|
||||
.token("switch", .keyword),
|
||||
.whitespace(" "),
|
||||
.plainText("variable"),
|
||||
.whitespace(" "),
|
||||
.plainText("{"),
|
||||
.whitespace("\n"),
|
||||
.token("case", .keyword),
|
||||
.whitespace(" "),
|
||||
.plainText("."),
|
||||
.token("one", .dotAccess),
|
||||
.plainText(":"),
|
||||
.whitespace(" "),
|
||||
.token("fallthrough", .keyword),
|
||||
.whitespace("\n"),
|
||||
.token("default", .keyword),
|
||||
.plainText(":"),
|
||||
.whitespace("\n "),
|
||||
.token("callB", .call),
|
||||
.plainText("()"),
|
||||
.whitespace("\n"),
|
||||
.plainText("}")
|
||||
])
|
||||
}
|
||||
|
||||
func testForStatementWithStaticProperty() {
|
||||
let components = highlighter.highlight("for value in Enum.allCases { }")
|
||||
|
||||
@ -155,6 +189,83 @@ final class StatementTests: SyntaxHighlighterTestCase {
|
||||
])
|
||||
}
|
||||
|
||||
func testForStatementWithContinue() {
|
||||
let components = highlighter.highlight("for value in Enum.allCases { continue }")
|
||||
|
||||
XCTAssertEqual(components, [
|
||||
.token("for", .keyword),
|
||||
.whitespace(" "),
|
||||
.plainText("value"),
|
||||
.whitespace(" "),
|
||||
.token("in", .keyword),
|
||||
.whitespace(" "),
|
||||
.token("Enum", .type),
|
||||
.plainText("."),
|
||||
.token("allCases", .property),
|
||||
.whitespace(" "),
|
||||
.plainText("{"),
|
||||
.whitespace(" "),
|
||||
.token("continue",.keyword),
|
||||
.plainText("}")
|
||||
])
|
||||
}
|
||||
|
||||
func testRepeatWhileStatement() {
|
||||
let components = highlighter.highlight("""
|
||||
var x = 5
|
||||
repeat {
|
||||
print(x)
|
||||
x = x - 1
|
||||
} while x > 1
|
||||
""")
|
||||
|
||||
XCTAssertEqual(components, [
|
||||
.token("var", .keyword),
|
||||
.whitespace(" "),
|
||||
.plainText("x"),
|
||||
.whitespace(" "),
|
||||
.plainText("="),
|
||||
.whitespace(" "),
|
||||
.token("5", .number),
|
||||
.whitespace("\n"),
|
||||
.token("repeat", .keyword),
|
||||
.whitespace(" "),
|
||||
.plainText("{"),
|
||||
.whitespace("\n"),
|
||||
.whitespace(" "),
|
||||
.whitespace(" "),
|
||||
.whitespace(" "),
|
||||
.whitespace(" "),
|
||||
.token("print", .call),
|
||||
.plainText("(x)"),
|
||||
.whitespace("\n"),
|
||||
.whitespace(" "),
|
||||
.whitespace(" "),
|
||||
.whitespace(" "),
|
||||
.whitespace(" "),
|
||||
.plainText("x"),
|
||||
.whitespace(" "),
|
||||
.plainText("="),
|
||||
.whitespace(" "),
|
||||
.plainText("x"),
|
||||
.whitespace(" "),
|
||||
.plainText("-"),
|
||||
.whitespace(" "),
|
||||
.token("1", .number),
|
||||
.whitespace("\n"),
|
||||
.plainText("}"),
|
||||
.whitespace(" "),
|
||||
.token("while", .keyword),
|
||||
.whitespace(" "),
|
||||
.plainText("x"),
|
||||
.whitespace(" "),
|
||||
.plainText(">"),
|
||||
.whitespace(" "),
|
||||
.token("1", .number)
|
||||
])
|
||||
|
||||
}
|
||||
|
||||
func testAllTestsRunOnLinux() {
|
||||
XCTAssertTrue(TestCaseVerifier.verifyLinuxTests((type(of: self)).allTests))
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user