@@ -588,21 +588,43 @@ impl Iterator for EscapeDefault {
588
588
fn ed_iterator_specializations ( ) {
589
589
use super :: EscapeDefault ;
590
590
591
- /// Check counting
591
+ // Check counting
592
592
assert_eq ! ( '\n' . escape_default( ) . count( ) , 2 ) ;
593
593
assert_eq ! ( 'c' . escape_default( ) . count( ) , 1 ) ;
594
594
assert_eq ! ( ' ' . escape_default( ) . count( ) , 1 ) ;
595
595
assert_eq ! ( '\\' . escape_default( ) . count( ) , 2 ) ;
596
+ assert_eq ! ( '\'' . escape_default( ) . count( ) , 2 ) ;
597
+
598
+ // Check nth
599
+
600
+ // Check that OoB is handled correctly
601
+ assert_eq ! ( '\n' . escape_default( ) . nth( 2 ) , None ) ;
602
+ assert_eq ! ( 'c' . escape_default( ) . nth( 1 ) , None ) ;
603
+ assert_eq ! ( ' ' . escape_default( ) . nth( 1 ) , None ) ;
604
+ assert_eq ! ( '\\' . escape_default( ) . nth( 2 ) , None ) ;
605
+ assert_eq ! ( '\'' . escape_default( ) . nth( 2 ) , None ) ;
606
+
607
+ // Check the first char
608
+ assert_eq ! ( '\n' . escape_default( ) . nth( 0 ) , Some ( '\\' ) ) ;
609
+ assert_eq ! ( 'c' . escape_default( ) . nth( 0 ) , Some ( 'c' ) ) ;
610
+ assert_eq ! ( ' ' . escape_default( ) . nth( 0 ) , Some ( ' ' ) ) ;
611
+ assert_eq ! ( '\\' . escape_default( ) . nth( 0 ) , Some ( '\\' ) ) ;
612
+ assert_eq ! ( '\'' . escape_default( ) . nth( 0 ) , Some ( '\\' ) ) ;
613
+
614
+ // Check the second char
615
+ assert_eq ! ( '\n' . escape_default( ) . nth( 1 ) , Some ( 'n' ) ) ;
616
+ assert_eq ! ( '\\' . escape_default( ) . nth( 1 ) , Some ( '\\' ) ) ;
617
+ assert_eq ! ( '\'' . escape_default( ) . nth( 1 ) , Some ( '\'' ) ) ;
596
618
}
597
619
598
620
599
621
impl EscapeDefault {
600
622
fn get_offset ( & self ) -> Option < usize > {
601
623
match self . state {
602
- EscapeDefaultState :: Backslash ( c) => Some ( 0 ) ,
603
- EscapeDefaultState :: Char ( c) => Some ( 1 ) ,
604
- EscapeDefaultState :: Done => None ,
605
- EscapeDefaultState :: Unicode ( ref mut iter ) => None ,
624
+ EscapeDefaultState :: Backslash ( c) => Some ( 0 ) ,
625
+ EscapeDefaultState :: Char ( c) => Some ( 1 ) ,
626
+ EscapeDefaultState :: Done => None ,
627
+ EscapeDefaultState :: Unicode ( _ ) => None ,
606
628
}
607
629
}
608
630
}
0 commit comments