()
| 201 | |
| 202 | #[test] |
| 203 | fn test_basic() { |
| 204 | let source_text = "black white"; |
| 205 | let bump = Bump::default(); |
| 206 | let lexer = Lexer::new(&EmptyAtomSet::ATOMS, source_text); |
| 207 | let mut p = Parser::new(&bump, source_text, lexer); |
| 208 | let output = p.parse_entirely::<(T![Ident], T![Ident])>().output.unwrap(); |
| 209 | |
| 210 | let overlay_text = "green"; |
| 211 | let lexer = Lexer::new(&EmptyAtomSet::ATOMS, overlay_text); |
| 212 | let mut p = Parser::new(&bump, overlay_text, lexer); |
| 213 | let overlay = p.parse_entirely::<T![Ident]>(); |
| 214 | let mut source_cursors = Vec::new_in(&bump); |
| 215 | let mut sink = CursorToSourceCursorSink::new(overlay_text, &mut source_cursors); |
| 216 | overlay.to_cursors(&mut sink); |
| 217 | let mut overlays = CursorOverlaySet::new(&bump); |
| 218 | overlays.insert(output.1.to_span(), source_cursors); |
| 219 | |
| 220 | let mut str = String::new(); |
| 221 | let mut stream = CursorOverlaySink::new(source_text, &overlays, CursorWriteSink::new(source_text, &mut str)); |
| 222 | output.to_cursors(&mut stream); |
| 223 | |
| 224 | assert_eq!(str, "black green"); |
| 225 | } |
| 226 | |
| 227 | #[test] |
| 228 | fn test_with_pretty_writer() { |
nothing calls this directly
no test coverage detected