const PANDAS_HTML_SRC: &str = include_str!("../resources/test/fixtures/pandas_html.py"); use lsp_types::{Position, Range, TextDocumentContentChangeEvent}; use ruff_server::{PositionEncoding, TextDocument}; #[test] fn delete_lines_pandas_html() { let mut document = TextDocument::new(PANDAS_HTML_SRC.to_string(), 1); let changes = vec![ TextDocumentContentChangeEvent { range: Some(Range { start: Position { line: 79, character: 0, }, end: Position { line: 91, character: 67, }, }), range_length: Some(388), text: String::new(), }, TextDocumentContentChangeEvent { range: Some(Range { start: Position { line: 81, character: 4, }, end: Position { line: 81, character: 36, }, }), range_length: Some(32), text: "p".into(), }, TextDocumentContentChangeEvent { range: Some(Range { start: Position { line: 81, character: 5, }, end: Position { line: 81, character: 5, }, }), range_length: Some(0), text: "a".into(), }, TextDocumentContentChangeEvent { range: Some(Range { start: Position { line: 81, character: 6, }, end: Position { line: 81, character: 6, }, }), range_length: Some(0), text: "s".into(), }, TextDocumentContentChangeEvent { range: Some(Range { start: Position { line: 81, character: 7, }, end: Position { line: 81, character: 7, }, }), range_length: Some(0), text: "s".into(), }, ]; let mut version = 2; for change in changes { document.apply_changes(vec![change], version, PositionEncoding::UTF16); version += 1; } insta::assert_snapshot!(document.contents()); }