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

Commit fee0c78

Browse files
committed
Add tests for extensions on typealiases.
1 parent 09b9720 commit fee0c78

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

Tests/SwiftDocTests/InterfaceTypeTests.swift

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,4 +331,32 @@ final class InterfaceTypeTests: XCTestCase {
331331
XCTAssertNil(module.interface.symbols(named: "UIGestureRecognizer.State", resolvingTypealiases: true).first)
332332
XCTAssertNil(module.interface.symbols(named: "UIGestureRecognizer.State", resolvingTypealiases: false).first)
333333
}
334+
335+
public func testMembersOfTypealiasedSymbols() throws {
336+
let source = #"""
337+
public class SomeClass {
338+
public func someMethod() { }
339+
}
340+
341+
public typealias OtherClass = SomeClass
342+
343+
public extension OtherClass {
344+
func someExtensionMethod() { }
345+
}
346+
"""#
347+
348+
349+
let url = try temporaryFile(contents: source)
350+
let sourceFile = try SourceFile(file: url, relativeTo: url.deletingLastPathComponent())
351+
let module = Module(name: "Module", sourceFiles: [sourceFile])
352+
353+
XCTAssertEqual(module.interface.symbols.count, 4)
354+
355+
let someClass = module.interface.symbols[0]
356+
XCTAssertEqual(someClass.name, "SomeClass")
357+
let members = module.interface.members(of: someClass)
358+
XCTAssertEqual(2, members.count)
359+
XCTAssertEqual(members[0].name, "someMethod()")
360+
XCTAssertEqual(members[1].name, "someExtensionMethod()")
361+
}
334362
}

0 commit comments

Comments
 (0)