示例#1
0
        public void TextBuffer_OnChanged_NoopsIfNoChanges()
        {
            // Arrange
            var editorOperationsFactory = new Mock <IEditorOperationsFactoryService>();
            var changeCollection        = new TestTextChangeCollection();
            var textContentChangeArgs   = new TestTextContentChangedEventArgs(changeCollection);
            var documentTracker         = CreateDocumentTracker(() => Mock.Of <ITextBuffer>(), Mock.Of <ITextView>());
            var braceSmartIndenter      = new BraceSmartIndenter(Dispatcher, documentTracker, editorOperationsFactory.Object);

            // Act & Assert
            braceSmartIndenter.TextBuffer_OnChanged(null, textContentChangeArgs);
        }
示例#2
0
        public void TextChangeOccurred_NoChanges_ReturnsFalse()
        {
            // Arrange
            var before   = new StringTextSnapshot(string.Empty);
            var after    = new StringTextSnapshot(string.Empty);
            var testArgs = new TestTextContentChangedEventArgs(before, after);

            // Act
            var result = testArgs.TextChangeOccurred(out _);

            // Assert
            Assert.False(result);
        }
示例#3
0
        public void TextBuffer_OnChanged_NoopsIfNoChanges()
        {
            // Arrange
            var editorOperationsFactory = new Mock <IEditorOperationsFactoryService>(MockBehavior.Strict);
            var changeCollection        = new TestTextChangeCollection();
            var textContentChangeArgs   = new TestTextContentChangedEventArgs(changeCollection);
            var documentTracker         = CreateDocumentTracker(() => Mock.Of <ITextBuffer>(MockBehavior.Strict), Mock.Of <ITextView>(MockBehavior.Strict));
            var codeDocumentProvider    = Mock.Of <TextBufferCodeDocumentProvider>(MockBehavior.Strict);

            using var braceSmartIndenter = new BraceSmartIndenter(JoinableTaskFactory.Context, documentTracker, codeDocumentProvider, editorOperationsFactory.Object);

            // Act & Assert
            braceSmartIndenter.TextBuffer_OnChanged(null, textContentChangeArgs);
        }
示例#4
0
        public void TextChangeOccurred_CancelingChanges_ReturnsFalse()
        {
            // Arrange
            var before = new StringTextSnapshot("by");

            before.Version.Changes.Add(new TestTextChange(new SourceChange(0, 2, "hi")));
            before.Version.Changes.Add(new TestTextChange(new SourceChange(0, 2, "by")));
            var after    = new StringTextSnapshot("by");
            var testArgs = new TestTextContentChangedEventArgs(before, after);

            // Act
            var result = testArgs.TextChangeOccurred(out _);

            // Assert
            Assert.False(result);
        }
示例#5
0
        public void TextChangeOccurred_SingleChange_ReturnsTrue()
        {
            // Arrange
            var before      = new StringTextSnapshot("by");
            var firstChange = new TestTextChange(new SourceChange(0, 2, "hi"));

            before.Version.Changes.Add(firstChange);
            var after    = new StringTextSnapshot("hi");
            var testArgs = new TestTextContentChangedEventArgs(before, after);

            // Act
            var result = testArgs.TextChangeOccurred(out var changeInformation);

            // Assert
            Assert.True(result);
            Assert.Same(firstChange, changeInformation.firstChange);
            Assert.Equal(firstChange, changeInformation.lastChange);
            Assert.Equal("hi", changeInformation.newText);
            Assert.Equal("by", changeInformation.oldText);
        }