Files
sourcekit-lsp/Tests/SourceKitLSPTests/SwiftCompileCommandsTest.swift
Alex Hoppen 9496b49c72 Add an experimental request to return the build settings that SourceKit-LSP uses to process a file
This can be useful to IDEs that want to perform some additional semantic processing of source files, which requires knowledge of a file’s build settings.
2025-02-26 09:12:47 -08:00

42 lines
1.6 KiB
Swift

//===----------------------------------------------------------------------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2020 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
//
//===----------------------------------------------------------------------===//
import BuildSystemIntegration
import LanguageServerProtocol
import SourceKitLSP
import XCTest
final class SwiftCompileCommandsTest: XCTestCase {
func testWorkingDirectoryIsAdded() {
let settings = FileBuildSettings(compilerArguments: ["a", "b"], workingDirectory: "/build/root", language: .swift)
let compileCommand = SwiftCompileCommand(settings)
XCTAssertEqual(compileCommand.compilerArgs, ["a", "b", "-working-directory", "/build/root"])
}
func testNoWorkingDirectory() {
let settings = FileBuildSettings(compilerArguments: ["a", "b"], language: .swift)
let compileCommand = SwiftCompileCommand(settings)
XCTAssertEqual(compileCommand.compilerArgs, ["a", "b"])
}
func testPreexistingWorkingDirectoryArg() {
let settings = FileBuildSettings(
compilerArguments: ["a", "b", "-working-directory", "/custom-root"],
workingDirectory: "/build/root",
language: .swift
)
let compileCommand = SwiftCompileCommand(settings)
XCTAssertEqual(compileCommand.compilerArgs, ["a", "b", "-working-directory", "/custom-root"])
}
}