()
| 266 | |
| 267 | #[test] |
| 268 | fn test_insert_before_and_after() { |
| 269 | let source_text = "ab"; |
| 270 | let bump = Bump::default(); |
| 271 | let lexer = Lexer::new(&EmptyAtomSet::ATOMS, source_text); |
| 272 | let mut parser = Parser::new(&bump, source_text, lexer); |
| 273 | let output = parser.parse_entirely::<Vec<'_, ComponentValue>>().output.unwrap(); |
| 274 | |
| 275 | let mut overlays = CursorOverlaySet::new(&bump); |
| 276 | overlays.push_segment(OverlaySegment::new( |
| 277 | Span::new(SourceOffset(0), SourceOffset(0)), |
| 278 | snippet_cursors(&bump, "pre"), |
| 279 | OverlayKind::InsertBefore, |
| 280 | )); |
| 281 | overlays.push_segment(OverlaySegment::new( |
| 282 | Span::new(SourceOffset(2), SourceOffset(2)), |
| 283 | snippet_cursors(&bump, "post"), |
| 284 | OverlayKind::InsertAfter, |
| 285 | )); |
| 286 | |
| 287 | let mut str = String::new(); |
| 288 | let mut stream = CursorOverlaySink::new(source_text, &overlays, CursorWriteSink::new(source_text, &mut str)); |
| 289 | output.to_cursors(&mut stream); |
| 290 | assert_eq!(str, "pre ab post"); |
| 291 | } |
| 292 | |
| 293 | #[test] |
| 294 | fn test_multiple_inserts_preserve_order() { |
nothing calls this directly
no test coverage detected