File tree Expand file tree Collapse file tree 1 file changed +24
-1
lines changed Expand file tree Collapse file tree 1 file changed +24
-1
lines changed Original file line number Diff line number Diff line change @@ -18,10 +18,16 @@ fileprivate class Test: NSObject {
18
18
}
19
19
#endif
20
20
21
+ enum Animal {
22
+ case cat
23
+ case dog
24
+ }
25
+
21
26
public class ParseFileTestCase : XCTestCase {
22
27
23
28
public static let allTests = [
24
- ( " testParseSingleFile " , testParseSingleFile)
29
+ ( " testParseSingleFile " , testParseSingleFile) ,
30
+ ( " testEnumCaseStructure " , testEnumCaseStructure)
25
31
]
26
32
27
33
public func testParseSingleFile( ) {
@@ -33,4 +39,21 @@ public class ParseFileTestCase: XCTestCase {
33
39
try SyntaxVerifier . verify ( parsed)
34
40
} ( ) )
35
41
}
42
+
43
+ public func testEnumCaseStructure( ) {
44
+ class Visitor : SyntaxVisitor {
45
+ var cases : [ EnumCaseDeclSyntax ] = [ ]
46
+ func visit( _ node: EnumDeclSyntax ) -> SyntaxVisitorContinueKind {
47
+ cases. append ( contentsOf: node. members. members. compactMap {
48
+ ( $0 as MemberDeclListItemSyntax ) . decl as? EnumCaseDeclSyntax
49
+ } )
50
+ return . skipChildren
51
+ }
52
+ }
53
+ var v = Visitor ( )
54
+ let currentFile = URL ( fileURLWithPath: #file)
55
+ let parsed = try ! SyntaxParser . parse ( currentFile)
56
+ parsed. walk ( & v)
57
+ XCTAssertEqual ( v. cases. count, 2 )
58
+ }
36
59
}
You can’t perform that action at this time.
0 commit comments