@@ -11,10 +11,29 @@ import Foundation
11
11
12
12
let StringGraphemeBreaking = TestSuite ( " StringGraphemeBreaking " )
13
13
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
+
14
26
if #available( SwiftStdlib 5 . 6 , * ) {
15
27
StringGraphemeBreaking . test ( " grapheme breaking " ) {
16
28
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 ) ) " )
18
37
}
19
38
}
20
39
}
@@ -80,7 +99,12 @@ if #available(SwiftStdlib 5.6, *) {
80
99
let test = foreignTest as String
81
100
82
101
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 ) ) " )
84
108
}
85
109
}
86
110
}
0 commit comments