@@ -85,3 +85,35 @@ suite.test("Span from Large Native String's Substring")
85
85
expectEqual ( span [ i] , u [ i] )
86
86
}
87
87
}
88
+
89
+ suite. test ( " Span from UTF8Span " )
90
+ . require ( . stdlib_6_2) . code {
91
+ guard #available( SwiftStdlib 6 . 2 , * ) else { return }
92
+
93
+ let s = String ( 200 )
94
+ let utf8span = s. utf8Span
95
+ let span1 = utf8span. span
96
+ let utf8view = s. utf8
97
+ let span2 = utf8view. span
98
+ expectEqual ( span1. count, span2. count)
99
+ for (i, j) in zip ( span1. indices, span2. indices) {
100
+ expectEqual ( span1 [ i] , span2 [ j] )
101
+ }
102
+ }
103
+
104
+ suite. test ( " UTF8Span from Span " )
105
+ . require ( . stdlib_6_2) . code {
106
+ guard #available( SwiftStdlib 6 . 2 , * ) else { return }
107
+
108
+ let s = String ( 200 ) . utf8
109
+ let span1 = s. span
110
+ guard let utf8 = expectNotNil ( try ? UTF8Span ( validating: span1) ) else { return }
111
+
112
+ expectEqual ( utf8. count, span1. count)
113
+ let span2 = utf8. span
114
+ expectTrue ( span1. isIdentical ( to: span2) )
115
+ expectEqual ( span1. count, span2. count)
116
+ for (i, j) in zip ( span1. indices, span2. indices) {
117
+ expectEqual ( span1 [ i] , span2 [ j] )
118
+ }
119
+ }
0 commit comments