mirror of
https://github.com/apple/sourcekit-lsp.git
synced 2026-03-02 18:23:24 +01:00
49 lines
1.5 KiB
Swift
49 lines
1.5 KiB
Swift
//===----------------------------------------------------------------------===//
|
||
//
|
||
// This source file is part of the Swift.org open source project
|
||
//
|
||
// Copyright (c) 2014 - 2018 Apple Inc. and the Swift project authors
|
||
// Licensed under Apache License v2.0 with Runtime Library Exception
|
||
//
|
||
// See https://swift.org/LICENSE.txt for license information
|
||
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
|
||
//
|
||
//===----------------------------------------------------------------------===//
|
||
|
||
@_spi(SourceKitLSP) import LanguageServerProtocol
|
||
import SKLogging
|
||
import SKTestSupport
|
||
import XCTest
|
||
|
||
/// Tests that test the overall state of the SourceKit-LSP server, that's not really specific to any language
|
||
final class ReferencesTests: SourceKitLSPTestCase {
|
||
func testReferencesInMacro() async throws {
|
||
let project = try await IndexedSingleSwiftFileTestProject(
|
||
"""
|
||
import Observation
|
||
|
||
@available(macOS 14.0, *)
|
||
1️⃣@Observable
|
||
class 2️⃣Foo {
|
||
var x: Int = 2
|
||
}
|
||
"""
|
||
)
|
||
|
||
let response = try await project.testClient.send(
|
||
ReferencesRequest(
|
||
textDocument: TextDocumentIdentifier(project.fileURI),
|
||
position: project.positions["2️⃣"],
|
||
context: ReferencesContext(includeDeclaration: true)
|
||
)
|
||
)
|
||
XCTAssertEqual(
|
||
response,
|
||
[
|
||
Location(uri: project.fileURI, range: Range(project.positions["1️⃣"])),
|
||
Location(uri: project.fileURI, range: Range(project.positions["2️⃣"])),
|
||
]
|
||
)
|
||
}
|
||
}
|