1
1
import XCTest
2
2
import SwiftSyntax
3
3
4
+ private extension String {
5
+ // This implementation is really slow; to use it outside a test it should be optimized.
6
+ func trimmingTrailingWhitespace( ) -> String {
7
+ return self . replacingOccurrences ( of: " [ ]+ \\ n " , with: " \n " , options: . regularExpression)
8
+ }
9
+ }
10
+
4
11
5
12
public class CustomReflectableTests : XCTestCase {
6
13
@@ -23,9 +30,9 @@ public class CustomReflectableTests: XCTestCase {
23
30
expectedDumped: """
24
31
▿ SwiftSyntax.TokenSyntax
25
32
- text: " associatedtype "
26
- ▿ leadingTrivia: SwiftSyntax.Trivia
33
+ ▿ leadingTrivia:
27
34
- pieces: 0 elements
28
- ▿ trailingTrivia: SwiftSyntax.Trivia
35
+ ▿ trailingTrivia:
29
36
- pieces: 0 elements
30
37
- tokenKind: SwiftSyntax.TokenKind.associatedtypeKeyword
31
38
@@ -48,16 +55,16 @@ public class CustomReflectableTests: XCTestCase {
48
55
▿ SwiftSyntax.TokenSequence
49
56
▿ SwiftSyntax.TokenSyntax
50
57
- text: " [ "
51
- ▿ leadingTrivia: SwiftSyntax.Trivia
58
+ ▿ leadingTrivia:
52
59
- pieces: 0 elements
53
- ▿ trailingTrivia: SwiftSyntax.Trivia
60
+ ▿ trailingTrivia:
54
61
- pieces: 0 elements
55
62
- tokenKind: SwiftSyntax.TokenKind.leftSquareBracket
56
63
▿ SwiftSyntax.TokenSyntax
57
64
- text: " ] "
58
- ▿ leadingTrivia: SwiftSyntax.Trivia
65
+ ▿ leadingTrivia:
59
66
- pieces: 0 elements
60
- ▿ trailingTrivia: SwiftSyntax.Trivia
67
+ ▿ trailingTrivia:
61
68
- pieces: 0 elements
62
69
- tokenKind: SwiftSyntax.TokenKind.rightSquareBracket
63
70
@@ -81,16 +88,16 @@ public class CustomReflectableTests: XCTestCase {
81
88
▿ SwiftSyntax.ReversedTokenSequence
82
89
▿ SwiftSyntax.TokenSyntax
83
90
- text: " ] "
84
- ▿ leadingTrivia: SwiftSyntax.Trivia
91
+ ▿ leadingTrivia:
85
92
- pieces: 0 elements
86
- ▿ trailingTrivia: SwiftSyntax.Trivia
93
+ ▿ trailingTrivia:
87
94
- pieces: 0 elements
88
95
- tokenKind: SwiftSyntax.TokenKind.rightSquareBracket
89
96
▿ SwiftSyntax.TokenSyntax
90
97
- text: " [ "
91
- ▿ leadingTrivia: SwiftSyntax.Trivia
98
+ ▿ leadingTrivia:
92
99
- pieces: 0 elements
93
- ▿ trailingTrivia: SwiftSyntax.Trivia
100
+ ▿ trailingTrivia:
94
101
- pieces: 0 elements
95
102
- tokenKind: SwiftSyntax.TokenKind.leftSquareBracket
96
103
@@ -125,9 +132,9 @@ public class CustomReflectableTests: XCTestCase {
125
132
▿ expression: SwiftSyntax.IntegerLiteralExprSyntax
126
133
▿ digits: SwiftSyntax.TokenSyntax
127
134
- text: " 1 "
128
- ▿ leadingTrivia: SwiftSyntax.Trivia
135
+ ▿ leadingTrivia:
129
136
- pieces: 0 elements
130
- ▿ trailingTrivia: SwiftSyntax.Trivia
137
+ ▿ trailingTrivia:
131
138
- pieces: 0 elements
132
139
▿ tokenKind: SwiftSyntax.TokenKind.integerLiteral
133
140
- integerLiteral: " 1 "
@@ -138,9 +145,9 @@ public class CustomReflectableTests: XCTestCase {
138
145
▿ expression: SwiftSyntax.IntegerLiteralExprSyntax
139
146
▿ digits: SwiftSyntax.TokenSyntax
140
147
- text: " 2 "
141
- ▿ leadingTrivia: SwiftSyntax.Trivia
148
+ ▿ leadingTrivia:
142
149
- pieces: 0 elements
143
- ▿ trailingTrivia: SwiftSyntax.Trivia
150
+ ▿ trailingTrivia:
144
151
- pieces: 0 elements
145
152
▿ tokenKind: SwiftSyntax.TokenKind.integerLiteral
146
153
- integerLiteral: " 2 "
@@ -178,9 +185,9 @@ public class CustomReflectableTests: XCTestCase {
178
185
▿ expression: SwiftSyntax.IntegerLiteralExprSyntax
179
186
▿ digits: SwiftSyntax.TokenSyntax
180
187
- text: " 1 "
181
- ▿ leadingTrivia: SwiftSyntax.Trivia
188
+ ▿ leadingTrivia:
182
189
- pieces: 0 elements
183
- ▿ trailingTrivia: SwiftSyntax.Trivia
190
+ ▿ trailingTrivia:
184
191
- pieces: 0 elements
185
192
▿ tokenKind: SwiftSyntax.TokenKind.integerLiteral
186
193
- integerLiteral: " 1 "
@@ -191,9 +198,9 @@ public class CustomReflectableTests: XCTestCase {
191
198
▿ expression: SwiftSyntax.IntegerLiteralExprSyntax
192
199
▿ digits: SwiftSyntax.TokenSyntax
193
200
- text: " 2 "
194
- ▿ leadingTrivia: SwiftSyntax.Trivia
201
+ ▿ leadingTrivia:
195
202
- pieces: 0 elements
196
- ▿ trailingTrivia: SwiftSyntax.Trivia
203
+ ▿ trailingTrivia:
197
204
- pieces: 0 elements
198
205
▿ tokenKind: SwiftSyntax.TokenKind.integerLiteral
199
206
- integerLiteral: " 2 "
@@ -206,7 +213,7 @@ public class CustomReflectableTests: XCTestCase {
206
213
testCases. forEach { keyAndValue in
207
214
let ( key: line, value: testCase) = keyAndValue
208
215
let actualDumped = dumped ( testCase. syntax)
209
- XCTAssertEqual ( testCase. expectedDumped, actualDumped, line: line)
216
+ XCTAssertEqual ( testCase. expectedDumped. trimmingTrailingWhitespace ( ) , actualDumped. trimmingTrailingWhitespace ( ) , line: line)
210
217
}
211
218
}
212
219
0 commit comments