Skip to content

Commit a6a8cd7

Browse files
committed
Revert "Squash test, will enable later"
This reverts commit 7bdc9cf.
1 parent 9b870d2 commit a6a8cd7

File tree

2 files changed

+75
-1
lines changed

2 files changed

+75
-1
lines changed

Tests/RegexBuilderTests/AlgorithmsTests.swift

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
//===----------------------------------------------------------------------===//
1111

1212
import XCTest
13-
import _StringProcessing
13+
@testable import _StringProcessing
1414
import RegexBuilder
1515

1616
@available(SwiftStdlib 5.7, *)
@@ -104,6 +104,66 @@ class RegexConsumerTests: XCTestCase {
104104
result: "9+16, 3, 10, 99+1")
105105
)
106106
}
107+
108+
func testSwitches() {
109+
// Failure cases
110+
do {
111+
switch "abcde" {
112+
case Regex {
113+
"a"
114+
ZeroOrMore(.any)
115+
"f"
116+
}:
117+
XCTFail()
118+
119+
case OneOrMore { CharacterClass.whitespace }:
120+
XCTFail()
121+
122+
case "abc":
123+
XCTFail()
124+
125+
case Regex {
126+
"a"
127+
"b"
128+
"c"
129+
}:
130+
XCTFail()
131+
132+
default:
133+
break
134+
}
135+
}
136+
// Success cases
137+
do {
138+
let input = "abcde"
139+
140+
switch input {
141+
case Regex {
142+
"a"
143+
ZeroOrMore(.any)
144+
"e"
145+
}:
146+
break
147+
148+
default:
149+
XCTFail()
150+
}
151+
152+
guard case Regex({
153+
"a"
154+
ZeroOrMore(.any)
155+
"e"
156+
}) = input else {
157+
XCTFail()
158+
return
159+
}
160+
161+
guard case OneOrMore(.word) = input else {
162+
XCTFail()
163+
return
164+
}
165+
}
166+
}
107167
}
108168

109169
class AlgorithmsResultBuilderTests: XCTestCase {

Tests/RegexTests/AlgorithmsTests.swift

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,4 +334,18 @@ class AlgorithmTests: XCTestCase {
334334
["aa"])
335335
}
336336

337+
func testSwitches() {
338+
switch "abcde" {
339+
case try! Regex("a.*f"):
340+
XCTFail()
341+
case try! Regex("abc"):
342+
XCTFail()
343+
344+
case try! Regex("a.*e"):
345+
break // success
346+
347+
default:
348+
XCTFail()
349+
}
350+
}
337351
}

0 commit comments

Comments
 (0)