public void DocumentIsUpdatedWithIncrementalChangeEvent() { var server = new LanguageServer(); server.Initialize(new InitializeParams(0, Array.Empty <WorkspaceFolder>())); server.TextDocumentDidOpen(new DidOpenTextDocumentParams(new TextDocumentItem("file:///some-uri", "some-language-id", 1, "(defun add (a b) (+ a b))"))); // incremental update sets `Range` and `RangeLength` to non-null values server.TextDocumentDidChange(new DidChangeTextDocumentParams(new VersionedTextDocumentIdentifier("file:///some-uri", 2), new[] { new TextDocumentContentChangeEvent(new Protocol.Range(new Position(0, 1), new Position(0, 6)), 5, "defmacro") })); var contents = server.GetDocumentContents("file:///some-uri"); Assert.Equal("(defmacro add (a b) (+ a b))", contents); }