Skip to content
This repository was archived by the owner on Jun 1, 2023. It is now read-only.

Commit aef1c49

Browse files
Lukas-Stuehrkmattt
andcommitted
Fix toplevel symbols (#260)
* Add failing tests for top level symbols. * Fix top level symbols. * Update Sources/SwiftDoc/Interface.swift * Remove print statement Co-authored-by: Mattt <[email protected]>
1 parent c0e49f7 commit aef1c49

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

Sources/SwiftDoc/Interface.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public final class Interface {
2424
return false
2525
}
2626

27-
return symbol.id.pathComponents.isEmpty
27+
return symbol.id.context.isEmpty
2828
}
2929

3030
self.relationships = {

Tests/SwiftDocTests/InterfaceTypeTests.swift

+29
Original file line numberDiff line numberDiff line change
@@ -359,4 +359,33 @@ final class InterfaceTypeTests: XCTestCase {
359359
XCTAssertEqual(members[0].name, "someMethod()")
360360
XCTAssertEqual(members[1].name, "someExtensionMethod()")
361361
}
362+
363+
public func testToplevelSymbols() throws {
364+
let source = #"""
365+
public class SomeClass {
366+
public func someMethod() { }
367+
}
368+
369+
public infix operator ≠
370+
371+
public typealias OtherClass = SomeClass
372+
373+
public func someFunction() { }
374+
375+
public extension OtherClass {
376+
func someExtensionMethod() { }
377+
}
378+
"""#
379+
380+
let url = try temporaryFile(contents: source)
381+
let sourceFile = try SourceFile(file: url, relativeTo: url.deletingLastPathComponent())
382+
let module = Module(name: "Module", sourceFiles: [sourceFile])
383+
384+
XCTAssertEqual(module.interface.topLevelSymbols.count, 4)
385+
386+
XCTAssertEqual(module.interface.topLevelSymbols[0].name, "SomeClass")
387+
XCTAssertEqual(module.interface.topLevelSymbols[1].name, "")
388+
XCTAssertEqual(module.interface.topLevelSymbols[2].name, "OtherClass")
389+
XCTAssertEqual(module.interface.topLevelSymbols[3].name, "someFunction()")
390+
}
362391
}

0 commit comments

Comments
 (0)