@@ -216,3 +216,43 @@ fn test_decode_utf16() {
216
216
check ( & [ 0xD800 , 0x41 , 0x42 ] , & [ Err ( 0xD800 ) , Ok ( 'A' ) , Ok ( 'B' ) ] ) ;
217
217
check ( & [ 0xD800 , 0 ] , & [ Err ( 0xD800 ) , Ok ( '\0' ) ] ) ;
218
218
}
219
+
220
+ #[ test]
221
+ fn ed_iterator_specializations ( ) {
222
+ // Check counting
223
+ assert_eq ! ( '\n' . escape_default( ) . count( ) , 2 ) ;
224
+ assert_eq ! ( 'c' . escape_default( ) . count( ) , 1 ) ;
225
+ assert_eq ! ( ' ' . escape_default( ) . count( ) , 1 ) ;
226
+ assert_eq ! ( '\\' . escape_default( ) . count( ) , 2 ) ;
227
+ assert_eq ! ( '\'' . escape_default( ) . count( ) , 2 ) ;
228
+
229
+ // Check nth
230
+
231
+ // Check that OoB is handled correctly
232
+ assert_eq ! ( '\n' . escape_default( ) . nth( 2 ) , None ) ;
233
+ assert_eq ! ( 'c' . escape_default( ) . nth( 1 ) , None ) ;
234
+ assert_eq ! ( ' ' . escape_default( ) . nth( 1 ) , None ) ;
235
+ assert_eq ! ( '\\' . escape_default( ) . nth( 2 ) , None ) ;
236
+ assert_eq ! ( '\'' . escape_default( ) . nth( 2 ) , None ) ;
237
+
238
+ // Check the first char
239
+ assert_eq ! ( '\n' . escape_default( ) . nth( 0 ) , Some ( '\\' ) ) ;
240
+ assert_eq ! ( 'c' . escape_default( ) . nth( 0 ) , Some ( 'c' ) ) ;
241
+ assert_eq ! ( ' ' . escape_default( ) . nth( 0 ) , Some ( ' ' ) ) ;
242
+ assert_eq ! ( '\\' . escape_default( ) . nth( 0 ) , Some ( '\\' ) ) ;
243
+ assert_eq ! ( '\'' . escape_default( ) . nth( 0 ) , Some ( '\\' ) ) ;
244
+
245
+ // Check the second char
246
+ assert_eq ! ( '\n' . escape_default( ) . nth( 1 ) , Some ( 'n' ) ) ;
247
+ assert_eq ! ( '\\' . escape_default( ) . nth( 1 ) , Some ( '\\' ) ) ;
248
+ assert_eq ! ( '\'' . escape_default( ) . nth( 1 ) , Some ( '\'' ) ) ;
249
+
250
+ // Check the last char
251
+ assert_eq ! ( '\n' . escape_default( ) . last( ) , Some ( 'n' ) ) ;
252
+ assert_eq ! ( 'c' . escape_default( ) . last( ) , Some ( 'c' ) ) ;
253
+ assert_eq ! ( ' ' . escape_default( ) . last( ) , Some ( ' ' ) ) ;
254
+ assert_eq ! ( '\\' . escape_default( ) . last( ) , Some ( '\\' ) ) ;
255
+ assert_eq ! ( '\'' . escape_default( ) . last( ) , Some ( '\'' ) ) ;
256
+ }
257
+
258
+
0 commit comments