public void Forward()
                {
                    Create("big dog", "big cat", "big tree", "big fish");
                    var lineRange  = _textBuffer.GetLineRange(1);
                    var visualSpan = VisualSpan.NewLine(lineRange);

                    visualSpan.Select(_textView, SearchPath.Forward);
                    Assert.False(_textView.Selection.IsReversed);
                    Assert.Equal(lineRange.ExtentIncludingLineBreak, _textView.GetSelectionSpan());
                }
Exemple #2
0
                public void Backwards()
                {
                    Create("big dog", "big cat", "big tree", "big fish");
                    var lineRange  = _textBuffer.GetLineRange(1);
                    var visualSpan = VisualSpan.NewLine(lineRange);

                    visualSpan.Select(_textView, SearchPath.Backward);
                    TestableSynchronizationContext.RunAll();
                    Assert.True(_textView.Selection.IsReversed);
                    Assert.Equal(lineRange.ExtentIncludingLineBreak, _textView.GetSelectionSpan());
                }
Exemple #3
0
            public void Edit_DeleteVisualLinesAndUndo()
            {
                Create("foo", "bar", "baz", "qux");
                var snapshot           = _textBuffer.CurrentSnapshot;
                var visualSpan         = VisualSpan.NewLine(new SnapshotLineRange(snapshot, 1, 2));
                var trackingVisualSpan = _bufferTrackingService.CreateVisualSpan(visualSpan);

                using (var undoTransaction = _undoHistory.CreateTransaction("delete"))
                {
                    _textBuffer.Delete(_textBuffer.GetLineRange(1, 2).ExtentIncludingLineBreak.Span);
                    undoTransaction.Complete();
                }
                Assert.Equal(new[] { "foo", "qux" }, _textBuffer.GetLines());
                _undoHistory.Undo(1);
                Assert.Equal(new[] { "foo", "bar", "baz", "qux" }, _textBuffer.GetLines());
                var newSnapshot   = _textBuffer.CurrentSnapshot;
                var newVisualSpan = VisualSpan.NewLine(new SnapshotLineRange(newSnapshot, 1, 2));

                Assert.True(trackingVisualSpan.VisualSpan.IsSome());
                Assert.Equal(newVisualSpan, trackingVisualSpan.VisualSpan.Value);
            }