public void CurrentSnapshot_ChangesWhenTextBufferChanges() { // Arrange var textBuffer = new TestTextBuffer(new StringTextSnapshot(string.Empty)); textBuffer.ChangeContentType(NotInertContentType, editTag: null); using var document = new DefaultLSPDocument(Uri, textBuffer, virtualDocuments: Array.Empty <VirtualDocument>()); var originalSnapshot = document.CurrentSnapshot; // Act var edit = textBuffer.CreateEdit(); edit.Insert(0, "New!"); edit.Apply(); // Assert var newSnapshot = document.CurrentSnapshot; Assert.NotSame(originalSnapshot, newSnapshot); Assert.Equal(1, originalSnapshot.Version); Assert.Equal(2, newSnapshot.Version); }
public void InertTextBuffer_DoesNotCreateSnapshot() { // Arrange var textBuffer = new TestTextBuffer(new StringTextSnapshot(string.Empty)); textBuffer.ChangeContentType(NotInertContentType, editTag: null); using var document = new DefaultLSPDocument(Uri, textBuffer, virtualDocuments: Array.Empty <VirtualDocument>()); var originalSnapshot = document.CurrentSnapshot; textBuffer.ChangeContentType(TestInertContentType.Instance, editTag: null); // Act var edit = textBuffer.CreateEdit(); edit.Insert(0, "New!"); edit.Apply(); // Assert var newSnapshot = document.CurrentSnapshot; Assert.Same(originalSnapshot, newSnapshot); }