7 expected: UnvalidatedRawStr,
8 validated: Result<ValidatedRawStr, LexRawStrError>,
10 let s = &format!("r{}", s);
11 let mut cursor = Cursor::new(s);
13 let tok = cursor.raw_double_quoted_string(0);
14 assert_eq!(tok, expected);
15 assert_eq!(tok.validate(), validated);
19 fn test_naked_raw_str() {
27 possible_terminator_offset: None,
29 Ok(ValidatedRawStr { n_hashes: 0 }),
34 fn test_raw_no_start() {
42 possible_terminator_offset: None,
44 Ok(ValidatedRawStr { n_hashes: 0 }),
49 fn test_too_many_terminators() {
50 // this error is handled in the parser later
58 possible_terminator_offset: None,
60 Ok(ValidatedRawStr { n_hashes: 1 }),
65 fn test_unterminated() {
73 possible_terminator_offset: None,
75 Err(LexRawStrError::NoTerminator {
78 possible_terminator_offset: None,
88 possible_terminator_offset: Some(7),
90 Err(LexRawStrError::NoTerminator {
93 possible_terminator_offset: Some(7),
96 // We're looking for "# not just any #
104 possible_terminator_offset: None,
106 Err(LexRawStrError::NoTerminator {
109 possible_terminator_offset: None,
115 fn test_invalid_start() {
123 possible_terminator_offset: None,
125 Err(LexRawStrError::InvalidStarter),
130 fn test_unterminated_no_pound() {
131 // https://github.com/rust-lang/rust/issues/70677
139 possible_terminator_offset: None,
141 Err(LexRawStrError::NoTerminator {
144 possible_terminator_offset: None,