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
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")!.contents
StringTests.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: "\\/")
= (__FILE__ as NSString).stringByDeletingLastPathComponent + "/Fixtures/" 0014 0015 class ClangTranslationUnitTests
main_.swift:12
    ClangTranslationUnitTests(),
: 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
ClangTranslationUnitTests.swift:20
            self.testParsesObjectiveCHeaderFilesAndXcodebuildArguments),
() { 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:21
        ("testBasicObjectiveCDocs", self.testBasicObjectiveCDocs),
() { 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:22
        ("testUnicodeInObjectiveCDocs", self.testUnicodeInObjectiveCDocs),
() { 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