0001 // 0002 // ClangTranslationUnitTests.swift 0003 // SourceKitten 0004 // 0005 // Created by JP Simard on 2015-01-12. 0006 // Copyright (c) 2015 SourceKitten. All rights reserved. 0007 // 0008 0009 import Foundation 0010 import SourceKittenFramework 0011 import XCTest 0012 0013 let fixturesDirectory= (__FILE__ as NSString).stringByDeletingLastPathComponent + "/Fixtures/" 0014 0015 class ClangTranslationUnitTests
ClangTranslationUnitTests.swift:42 let headerFiles = [fixturesDirectory + "Musician.h"]ClangTranslationUnitTests.swift:45 let escapedFixturesDirectory = fixturesDirectory.stringByReplacingOccurrencesOfString("/", withString: "\\/")ClangTranslationUnitTests.swift:51 let headerFiles = [fixturesDirectory + "SuperScript.h"]ClangTranslationUnitTests.swift:52 let compilerArguments = ["-x", "objective-c", "-isysroot", sdkPath(), "-I", fixturesDirectory]ClangTranslationUnitTests.swift:54 let escapedFixturesDirectory = fixturesDirectory.stringByReplacingOccurrencesOfString("/", withString: "\\/")ClangTranslationUnitTests.swift:60 let headerFiles = [fixturesDirectory + "/Realm/Realm.h"]ClangTranslationUnitTests.swift:61 let compilerArguments = ["-x", "objective-c", "-isysroot", sdkPath(), "-I", fixturesDirectory]ClangTranslationUnitTests.swift:63 let escapedFixturesDirectory = fixturesDirectory.stringByReplacingOccurrencesOfString("/", withString: "\\/")ModuleTests.swift:54 let expected = File(path: fixturesDirectory + "Commandant.json")!.contentsStringTests.swift:135 let file = File(path: fixturesDirectory + "Subscript.swift")!SwiftDocsTests.swift:20 let secondValue = jsonValue(File(path: fixturesDirectory + name + ".json")!.contents)SwiftDocsTests.swift:32 let swiftFilePath = fixturesDirectory + name + ".swift"SwiftDocsTests.swift:35 let escapedFixturesDirectory = fixturesDirectory.stringByReplacingOccurrencesOfString("/", withString: "\\/"): XCTestCase { 0016 0017 // protocol XCTestCaseProvider 0018 lazy var allTests: [(String, () throws -> Void)] = [ 0019 ("testParsesObjectiveCHeaderFilesAndXcodebuildArguments", 0020 self.testParsesObjectiveCHeaderFilesAndXcodebuildArguments), 0021 ("testBasicObjectiveCDocs", self.testBasicObjectiveCDocs), 0022 ("testUnicodeInObjectiveCDocs", self.testUnicodeInObjectiveCDocs), 0023 // ("testRealmObjectiveCDocs", self.testRealmObjectiveCDocs), FIXME: Failing on SPM 0024 ] 0025 0026 func testParsesObjectiveCHeaderFilesAndXcodebuildArguments
main_.swift:12 ClangTranslationUnitTests(),() { 0027 let headerFiles = [ 0028 "a.h", 0029 "b.hpp", 0030 "c.hh" 0031 ] 0032 let xcodebuildArguments = [ 0033 "arg1", 0034 "arg2" 0035 ] 0036 let (parsedHeaderFiles, parsedXcodebuildArguments) = parseHeaderFilesAndXcodebuildArguments(headerFiles + xcodebuildArguments) 0037 XCTAssertEqual(parsedHeaderFiles, headerFiles.map({$0.absolutePathRepresentation()}), "Objective-C header files should be parsed") 0038 XCTAssertEqual(parsedXcodebuildArguments, xcodebuildArguments, "xcodebuild arguments should be parsed") 0039 } 0040 0041 func testBasicObjectiveCDocs
ClangTranslationUnitTests.swift:20 self.testParsesObjectiveCHeaderFilesAndXcodebuildArguments),() { 0042 let headerFiles = [fixturesDirectory + "Musician.h"] 0043 let compilerArguments = ["-x", "objective-c", "-isysroot", sdkPath()] 0044 let tu = ClangTranslationUnit(headerFiles: headerFiles, compilerArguments: compilerArguments) 0045 let escapedFixturesDirectory = fixturesDirectory.stringByReplacingOccurrencesOfString("/", withString: "\\/") 0046 let comparisonString = (tu.description + "\n").stringByReplacingOccurrencesOfString(escapedFixturesDirectory, withString: "") 0047 compareJSONStringWithFixturesName("Musician", jsonString: comparisonString) 0048 } 0049 0050 func testUnicodeInObjectiveCDocs
ClangTranslationUnitTests.swift:21 ("testBasicObjectiveCDocs", self.testBasicObjectiveCDocs),() { 0051 let headerFiles = [fixturesDirectory + "SuperScript.h"] 0052 let compilerArguments = ["-x", "objective-c", "-isysroot", sdkPath(), "-I", fixturesDirectory] 0053 let tu = ClangTranslationUnit(headerFiles: headerFiles, compilerArguments: compilerArguments) 0054 let escapedFixturesDirectory = fixturesDirectory.stringByReplacingOccurrencesOfString("/", withString: "\\/") 0055 let comparisonString = (tu.description + "\n").stringByReplacingOccurrencesOfString(escapedFixturesDirectory, withString: "") 0056 compareJSONStringWithFixturesName("SuperScript", jsonString: comparisonString) 0057 } 0058 0059 func testRealmObjectiveCDocs() { 0060 let headerFiles = [fixturesDirectory + "/Realm/Realm.h"] 0061 let compilerArguments = ["-x", "objective-c", "-isysroot", sdkPath(), "-I", fixturesDirectory] 0062 let tu = ClangTranslationUnit(headerFiles: headerFiles, compilerArguments: compilerArguments) 0063 let escapedFixturesDirectory = fixturesDirectory.stringByReplacingOccurrencesOfString("/", withString: "\\/") 0064 let comparisonString = (tu.description + "\n").stringByReplacingOccurrencesOfString(escapedFixturesDirectory, withString: "") 0065 compareJSONStringWithFixturesName("Realm", jsonString: comparisonString) 0066 } 0067 } 0068
ClangTranslationUnitTests.swift:22 ("testUnicodeInObjectiveCDocs", self.testUnicodeInObjectiveCDocs),