Skip to content

Commit 01e9390

Browse files
committed
Test semantic tokens legend response
1 parent 6a369f5 commit 01e9390

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

Tests/SourceKitLSPTests/SemanticTokensTests.swift

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,11 +71,22 @@ final class SemanticTokensTests: XCTestCase {
7171

7272
let registerCapabilityExpectation = expectation(description: "\(#function) - register semantic tokens capability")
7373
testClient.handleNextRequest { (req: RegisterCapabilityRequest) -> VoidResponse in
74-
XCTAssert(
75-
req.registrations.contains { reg in
76-
reg.method == SemanticTokensRegistrationOptions.method
77-
}
74+
let capabilityRegistration = req.registrations.first { reg in
75+
reg.method == SemanticTokensRegistrationOptions.method
76+
}
77+
78+
guard case .dictionary(let registerOptionsDict) = capabilityRegistration?.registerOptions,
79+
let registerOptions = SemanticTokensRegistrationOptions(fromLSPDictionary: registerOptionsDict)
80+
else {
81+
XCTFail("Expected semantic tokens registration options dictionary")
82+
return VoidResponse()
83+
}
84+
85+
XCTAssertFalse(
86+
registerOptions.semanticTokenOptions.legend.tokenTypes.isEmpty,
87+
"Expected semantic tokens legend"
7888
)
89+
7990
registerCapabilityExpectation.fulfill()
8091
return VoidResponse()
8192
}

0 commit comments

Comments
 (0)