@@ -185,7 +185,72 @@ let swift = 3
185
185
186
186
#endif
187
187
188
- var Tests = TestSuite ( " SubstringCompatibility " )
188
+ var Tests = TestSuite ( " StringCompatibility " )
189
+
190
+ #if !swift(>=4) && _runtime(_ObjC)
191
+ import Foundation
192
+
193
+ Tests . test ( " String/Legacy/UTF16View.Index/StrideableAPIs " ) {
194
+ let i = String . UTF16View. Index ( 0 )
195
+ expectEqual ( 0 , i. distance ( to: i) )
196
+ expectEqual ( 0 , i. distance ( to: i. samePosition ( in: " " ) ) )
197
+ expectEqual ( i, i. advanced ( by: 0 ) )
198
+ }
199
+
200
+ Tests . test ( " String/Legacy/UTF16View/OptionalIndices " ) {
201
+ let s = " somethingToTest " . utf16
202
+ let i = s. startIndex
203
+ let j = Optional ( i)
204
+ expectEqual ( s. index ( after: i) , s. index ( after: j) )
205
+ expectEqual ( s. index ( i, offsetBy: 2 ) , s. index ( j, offsetBy: 2 ) )
206
+ expectEqual (
207
+ s. distance ( from: i, to: s. endIndex) ,
208
+ s. distance ( from: j, to: s. endIndex) )
209
+ expectEqual (
210
+ s. distance ( from: i, to: s. endIndex) ,
211
+ s. distance ( from: j, to: Optional ( s. endIndex) ) )
212
+ expectEqual (
213
+ s. distance ( from: i, to: s. endIndex) ,
214
+ s. distance ( from: i, to: Optional ( s. endIndex) ) )
215
+ expectEqual ( s [ i] , s [ j] )
216
+ }
217
+
218
+ Tests . test ( " String/Legacy/UTF8View/OptionalIndices " ) {
219
+ let s = " somethingToTest " . utf8
220
+ let i = s. startIndex
221
+ let j = Optional ( i)
222
+ expectEqual ( s. index ( after: i) , s. index ( after: j) )
223
+ expectEqual ( s. index ( i, offsetBy: 2 ) , s. index ( j, offsetBy: 2 ) )
224
+ expectEqual (
225
+ s. distance ( from: i, to: s. endIndex) ,
226
+ s. distance ( from: j, to: s. endIndex) )
227
+ expectEqual (
228
+ s. distance ( from: i, to: s. endIndex) ,
229
+ s. distance ( from: j, to: Optional ( s. endIndex) ) )
230
+ expectEqual (
231
+ s. distance ( from: i, to: s. endIndex) ,
232
+ s. distance ( from: i, to: Optional ( s. endIndex) ) )
233
+ expectEqual ( s [ i] , s [ j] )
234
+ }
235
+
236
+ Tests . test ( " String/Legacy/UnicodeScalarView/OptionalIndices " ) {
237
+ let s = " somethingToTest " . unicodeScalars
238
+ let i = s. startIndex
239
+ let j = Optional ( i)
240
+ expectEqual ( s. index ( after: i) , s. index ( after: j) )
241
+ expectEqual ( s. index ( i, offsetBy: 2 ) , s. index ( j, offsetBy: 2 ) )
242
+ expectEqual (
243
+ s. distance ( from: i, to: s. endIndex) ,
244
+ s. distance ( from: j, to: s. endIndex) )
245
+ expectEqual (
246
+ s. distance ( from: i, to: s. endIndex) ,
247
+ s. distance ( from: j, to: Optional ( s. endIndex) ) )
248
+ expectEqual (
249
+ s. distance ( from: i, to: s. endIndex) ,
250
+ s. distance ( from: i, to: Optional ( s. endIndex) ) )
251
+ expectEqual ( s [ i] , s [ j] )
252
+ }
253
+ #endif
189
254
190
255
Tests . test ( " String/Range/Slice/ExpectedType/ \( swift) " ) {
191
256
var s = " hello world "
0 commit comments