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

Commit 00f2787

Browse files
authored
Add test that non-public members aren't included in generated documentation (#151)
Verifies #136
1 parent aeed63c commit 00f2787

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

Tests/SwiftDocTests/InterfaceTypeTests.swift

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,35 @@ final class InterfaceTypeTests: XCTestCase {
3838
XCTAssertEqual(subclasses.count, 1)
3939
XCTAssertEqual(subclasses[0].id, classC.id)
4040
}
41+
42+
func testInternalMembers() throws {
43+
let source = #"""
44+
public struct A: Encodable {
45+
enum CodingKeys: String, CodingKey {
46+
case a
47+
}
48+
49+
let a: String
50+
51+
init(a: String) {
52+
self.a = a
53+
}
54+
}
55+
56+
"""#
57+
58+
let url = try temporaryFile(contents: source)
59+
let sourceFile = try SourceFile(file: url, relativeTo: url.deletingLastPathComponent())
60+
let module = Module(name: "Module", sourceFiles: [sourceFile])
61+
62+
XCTAssertEqual(sourceFile.symbols.count, 5)
63+
XCTAssertEqual(module.interface.symbols.count, 1)
64+
65+
// `struct A`
66+
do {
67+
let symbol = sourceFile.symbols[0]
68+
XCTAssert(symbol.api is Structure)
69+
XCTAssertEqual(symbol.api.name, "A")
70+
}
71+
}
4172
}

0 commit comments

Comments
 (0)