Skip to content

Commit 3f2550f

Browse files
committed
[test] stdlib/StringGraphemeBreaking: Add backwards checks
1 parent 73312fe commit 3f2550f

File tree

1 file changed

+26
-2
lines changed

1 file changed

+26
-2
lines changed

validation-test/stdlib/StringGraphemeBreaking.swift

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,29 @@ import Foundation
1111

1212
let StringGraphemeBreaking = TestSuite("StringGraphemeBreaking")
1313

14+
extension String {
15+
var backwardsCount: Int {
16+
var c = 0
17+
var index = endIndex
18+
while index != startIndex {
19+
c += 1
20+
formIndex(before: &index)
21+
}
22+
return c
23+
}
24+
}
25+
1426
if #available(SwiftStdlib 5.6, *) {
1527
StringGraphemeBreaking.test("grapheme breaking") {
1628
for graphemeBreakTest in graphemeBreakTests {
17-
expectEqual(graphemeBreakTest.1, graphemeBreakTest.0.count)
29+
expectEqual(
30+
graphemeBreakTest.1,
31+
graphemeBreakTest.0.count,
32+
"string: \(String(reflecting: graphemeBreakTest.0))")
33+
expectEqual(
34+
graphemeBreakTest.1,
35+
graphemeBreakTest.0.backwardsCount,
36+
"string: \(String(reflecting: graphemeBreakTest.0))")
1837
}
1938
}
2039
}
@@ -80,7 +99,12 @@ if #available(SwiftStdlib 5.6, *) {
8099
let test = foreignTest as String
81100

82101
expectTrue(test._guts._isForeign())
83-
expectEqual(graphemeBreakTest.1, test.count)
102+
expectEqual(
103+
graphemeBreakTest.1, test.count,
104+
"string: \(String(reflecting: graphemeBreakTest.0))")
105+
expectEqual(
106+
graphemeBreakTest.1, test.backwardsCount,
107+
"string: \(String(reflecting: graphemeBreakTest.0))")
84108
}
85109
}
86110
}

0 commit comments

Comments
 (0)