Example #1
0
            public void InsideLineBreak()
            {
                Create("dog", "cat");
                var column = SnapshotOverlapColumn.GetColumnForSpaces(_textBuffer.GetLine(0), spaces: 4, tabStop: 4);

                Assert.True(column.IsNone());
            }
Example #2
0
        private SnapshotOverlapColumnSpan GetSpanFromSpaceAndCount(ITextSnapshotLine line, int start, int count, int tabStop)
        {
            var startColumn = SnapshotOverlapColumn.GetColumnForSpacesOrEnd(line, start, tabStop);
            var endColumn   = SnapshotOverlapColumn.GetColumnForSpacesOrEnd(line, start + count, tabStop);

            return(new SnapshotOverlapColumnSpan(startColumn, endColumn, tabStop));
        }
Example #3
0
            public void AtEnd()
            {
                Create("dog", "cat");
                var column = SnapshotOverlapColumn.GetColumnForSpaces(_textBuffer.GetLine(1), spaces: 3, tabStop: 4);

                AssertColumn(column, expected: SnapshotColumn.GetEndColumn(_textBuffer.CurrentSnapshot), spacesBefore: 0, spacesAfter: 0);
            }
Example #4
0
            public void PartialTab()
            {
                Create("d\tog", "extra");
                var column = SnapshotOverlapColumn.GetColumnForSpacesOrEnd(_textBuffer.GetLine(0), spaces: 4, tabStop: 4);

                Assert.Equal(_textBuffer.GetColumnFromPosition(position: 2), column.Column);
            }
Example #5
0
            public void PartialTab()
            {
                Create("d\tog", "extra");
                var column = SnapshotOverlapColumn.GetColumnForSpaces(_textBuffer.GetLine(0), spaces: 2, tabStop: 4);

                AssertColumn(column, expected: _textBuffer.GetColumnFromPosition(1), spacesBefore: 1, spacesAfter: 1, spacesTotal: 3);
            }
Example #6
0
            public void Simple()
            {
                Create("dog", "cat");
                var column = SnapshotOverlapColumn.GetColumnForSpaces(_textBuffer.GetLine(0), spaces: 1, tabStop: 4);

                AssertColumn(column, expected: _textBuffer.GetColumnFromPosition(1), spacesBefore: 0, spacesAfter: 0);
            }
Example #7
0
                public void SimpleNonColumnZero()
                {
                    Create("cat");
                    var point = new SnapshotOverlapColumn(_textBuffer.GetColumnFromPosition(1), beforeSpaces: 0, totalSpaces: 1, tabStop: 4);

                    Assert.Equal(0, point.SpacesBefore);
                    Assert.Equal(0, point.SpacesAfter);
                }
Example #8
0
                public void TabEnd()
                {
                    Create("\t");
                    var point = new SnapshotOverlapColumn(_textBuffer.GetColumnFromPosition(0), beforeSpaces: 3, totalSpaces: 4, tabStop: 4);

                    Assert.Equal(3, point.SpacesBefore);
                    Assert.Equal(0, point.SpacesAfter);
                }
Example #9
0
            public void AfterTab()
            {
                Create("d\tog", "extra");
                var column = SnapshotOverlapColumn.GetColumnForSpacesOrEnd(_textBuffer.GetLine(0), spaces: 5, tabStop: 4);

                Assert.Equal(_textBuffer.GetColumnFromPosition(position: 3), column.Column);
                Assert.True(column.Column.IsCharacter('g'));
            }
Example #10
0
            public void Simple()
            {
                Create("dog");
                var column = SnapshotOverlapColumn.GetColumnForSpacesOrEnd(_textBuffer.GetLine(0), spaces: 0, tabStop: 4);

                Assert.Equal(4, column.TabStop);
                Assert.Equal(8, column.WithTabStop(8).TabStop);
            }
Example #11
0
                public void TabMiddle()
                {
                    Create("\t");
                    var point = new SnapshotOverlapColumn(_textBuffer.GetColumnFromPosition(0), beforeSpaces: 1, totalSpaces: 4, tabStop: 4);

                    Assert.Equal(1, point.SpacesBefore);
                    Assert.Equal(2, point.SpacesAfter);
                    Assert.Equal(4, point.TotalSpaces);
                }
Example #12
0
            public void PartialTab2()
            {
                Create("d\tog", "extra");
                var column = SnapshotOverlapColumn.GetColumnForSpacesOrEnd(_textBuffer.GetLine(0), spaces: 2, tabStop: 4);

                Assert.Equal(1, column.SpacesBefore);
                Assert.Equal(3, column.TotalSpaces);
                Assert.Equal(_textBuffer.GetColumnFromPosition(position: 1), column.Column);
            }
Example #13
0
                public void EndOfBuffer()
                {
                    Create("cat");
                    var point = new SnapshotOverlapColumn(_textBuffer.GetEndColumn(), 0, 0, tabStop: 4);

                    Assert.Equal(0, point.TotalSpaces);
                    Assert.Equal(0, point.SpacesBefore);
                    Assert.Equal(0, point.SpacesAfter);
                }
Example #14
0
            public void SimpleSurrogatePair()
            {
                const string alien = "\U0001F47D"; // 👽

                Create($"{alien} dog", "cat");
                var column = SnapshotOverlapColumn.GetColumnForSpaces(_textBuffer.GetLine(0), spaces: 2, tabStop: 4);

                AssertColumn(column, expected: _textBuffer.GetColumnFromPosition(2), spacesBefore: 0, spacesAfter: 0);
            }
Example #15
0
            public void WithTab()
            {
                Create("\tdog");
                var column = SnapshotOverlapColumn.GetColumnForSpacesOrEnd(_textBuffer.GetLine(0), spaces: 2, tabStop: 4);

                Assert.Equal(4, column.TabStop);
                Assert.Equal(2, column.SpacesBefore);
                column = column.WithTabStop(1);
                Assert.True(column.Column.IsCharacter('o'));
                Assert.Equal(0, column.SpacesBefore);
            }
Example #16
0
        private static void AssertColumn(SnapshotOverlapColumn actual, SnapshotColumn?expected = null, int?spacesBefore = null, int?spacesAfter = null, int?spacesTotal = null)
        {
            if (expected != null)
            {
                Assert.Equal(expected.Value, actual.Column);
            }

            if (spacesBefore != null)
            {
                Assert.Equal(spacesBefore.Value, actual.SpacesBefore);
            }

            if (spacesAfter != null)
            {
                Assert.Equal(spacesAfter.Value, actual.SpacesAfter);
            }

            if (spacesTotal != null)
            {
                Assert.Equal(spacesTotal.Value, actual.TotalSpaces);
            }
        }
Example #17
0
 public void AtLineBreak()
 {
     Create("dog", "cat");
     var column = SnapshotOverlapColumn.GetColumnForSpaces(_textBuffer.GetLine(0), spaces: 3, tabStop: 4);
 }