0001 // 0002 // OffsetMapTests.swift 0003 // SourceKitten 0004 // 0005 // Created by JP Simard on 2015-01-03. 0006 // Copyright (c) 2015 SourceKitten. All rights reserved. 0007 // 0008 0009 import Foundation 0010 import SourceKittenFramework 0011 import XCTest 0012 0013 class OffsetMapTests: XCTestCase { 0014 0015 // protocol XCTestCaseProvider 0016 lazy var allTests: [(String, () throws -> Void)] = [ 0017 ("testOffsetMapContainsDeclarationOffsetWithDocCommentButNotAlreadyDocumented", 0018 self.testOffsetMapContainsDeclarationOffsetWithDocCommentButNotAlreadyDocumented), 0019 ("testOffsetMapDoesntContainAlreadyDocumentedDeclarationOffset", 0020 self.testOffsetMapDoesntContainAlreadyDocumentedDeclarationOffset), 0021 ] 0022 0023 func testOffsetMapContainsDeclarationOffsetWithDocCommentButNotAlreadyDocumented
main_.swift:16 OffsetMapTests(),() { 0024 // Subscripts aren't parsed by SourceKit, so OffsetMap should contain its offset. 0025 let file = File(contents: 0026 "struct VoidStruct {\n/// Returns or sets Void.\nsubscript(key: String) -> () {\n" + 0027 "get { return () }\nset {}\n}\n}" 0028 ) 0029 let documentedTokenOffsets = file.contents.documentedTokenOffsets(SyntaxMap(file: file)) 0030 let response = file.processDictionary(Request.EditorOpen(file).send(), cursorInfoRequest: nil) 0031 let offsetMap = file.generateOffsetMap(documentedTokenOffsets, dictionary: response) 0032 XCTAssertEqual(offsetMap, [46: 7], "should generate correct offset map of [(declaration offset): (parent offset)]") 0033 } 0034 0035 func testOffsetMapDoesntContainAlreadyDocumentedDeclarationOffset
OffsetMapTests.swift:18 self.testOffsetMapContainsDeclarationOffsetWithDocCommentButNotAlreadyDocumented),() { 0036 // Struct declarations are parsed by SourceKit, so OffsetMap shouldn't contain its offset. 0037 let file = File(contents: "/// Doc Comment\nstruct DocumentedStruct {}") 0038 let documentedTokenOffsets = file.contents.documentedTokenOffsets(SyntaxMap(file: file)) 0039 let response = file.processDictionary(Request.EditorOpen(file).send(), cursorInfoRequest: nil) 0040 let offsetMap = file.generateOffsetMap(documentedTokenOffsets, dictionary: response) 0041 XCTAssertEqual(offsetMap, [:], "should generate empty offset map") 0042 } 0043 } 0044
OffsetMapTests.swift:20 self.testOffsetMapDoesntContainAlreadyDocumentedDeclarationOffset),