Skip to content

Commit efbd47f

Browse files
committed
Complete the tests
1 parent b2745f3 commit efbd47f

File tree

1 file changed

+27
-5
lines changed

1 file changed

+27
-5
lines changed

src/libcore/char.rs

+27-5
Original file line numberDiff line numberDiff line change
@@ -588,21 +588,43 @@ impl Iterator for EscapeDefault {
588588
fn ed_iterator_specializations() {
589589
use super::EscapeDefault;
590590

591-
/// Check counting
591+
// Check counting
592592
assert_eq!('\n'.escape_default().count(), 2);
593593
assert_eq!('c'.escape_default().count(), 1);
594594
assert_eq!(' '.escape_default().count(), 1);
595595
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('\''));
596618
}
597619

598620

599621
impl EscapeDefault {
600622
fn get_offset(&self) -> Option<usize> {
601623
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,
606628
}
607629
}
608630
}

0 commit comments

Comments
 (0)