Merge pull request #40 from JohnSundell/xctassert

Add special case for `XCTAssert` family of functions
This commit is contained in:
John Sundell 2019-03-08 21:53:12 +01:00 committed by GitHub
commit 9a01bb7b85
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 1 deletions

View File

@ -256,6 +256,13 @@ private extension SwiftGrammar {
return false
}
// The XCTAssert family of functions is a bit of an edge case,
// since they start with capital letters. Since they are so
// commonly used, we'll add a special case for them here:
guard !segment.tokens.current.starts(with: "XCTAssert") else {
return false
}
// In a generic declaration, only highlight constraints
if segment.tokens.previous.isAny(of: "<", ",") {
var foundOpeningBracket = false

View File

@ -130,6 +130,15 @@ final class FunctionCallTests: SyntaxHighlighterTestCase {
])
}
func testXCTAssertCalls() {
let components = highlighter.highlight("XCTAssertTrue(variable)")
XCTAssertEqual(components, [
.token("XCTAssertTrue", .call),
.plainText("(variable)")
])
}
func testAllTestsRunOnLinux() {
XCTAssertTrue(TestCaseVerifier.verifyLinuxTests((type(of: self)).allTests))
}
@ -146,7 +155,8 @@ extension FunctionCallTests {
("testAccessingPropertyAfterFunctionCallWithArguments", testAccessingPropertyAfterFunctionCallWithArguments),
("testCallingStaticMethodOnGenericType", testCallingStaticMethodOnGenericType),
("testPassingTypeToFunction", testPassingTypeToFunction),
("testPassingBoolToUnnamedArgument", testPassingBoolToUnnamedArgument)
("testPassingBoolToUnnamedArgument", testPassingBoolToUnnamedArgument),
("testXCTAssertCalls", testXCTAssertCalls)
]
}
}