public void ApplyContentChanges_MultipleChanges() { // Arrange var endpoint = new RazorDocumentSynchronizationEndpoint(Dispatcher, DocumentResolver, ProjectService, LoggerFactory); var sourceText = SourceText.From("Hello World"); var changes = new[] { new TextDocumentContentChangeEvent() { Range = new Range(new Position(0, 5), new Position(0, 5)), RangeLength = 0, Text = Environment.NewLine }, // Hello // World new TextDocumentContentChangeEvent() { Range = new Range(new Position(1, 0), new Position(1, 0)), RangeLength = 0, Text = "!" }, // Hello // ! World new TextDocumentContentChangeEvent() { Range = new Range(new Position(0, 1), new Position(0, 1)), RangeLength = 4, Text = "i!" + Environment.NewLine }, // Hi! // // ! World }; // Act var result = endpoint.ApplyContentChanges(changes, sourceText); // Assert var resultString = GetString(result); Assert.Equal(@"Hi! ! World", resultString); }
public void ApplyContentChanges_SingleChange() { // Arrange var endpoint = new RazorDocumentSynchronizationEndpoint(Dispatcher, DocumentResolver, ProjectService, LoggerFactory); var sourceText = SourceText.From("Hello World"); var change = new TextDocumentContentChangeEvent() { Range = new Range(new Position(0, 5), new Position(0, 5)), RangeLength = 0, Text = "!" }; // Act var result = endpoint.ApplyContentChanges(new[] { change }, sourceText); // Assert var resultString = GetString(result); Assert.Equal("Hello! World", resultString); }