public void InsideLineBreak() { Create("dog", "cat"); var column = SnapshotOverlapColumn.GetColumnForSpaces(_textBuffer.GetLine(0), spaces: 4, tabStop: 4); Assert.True(column.IsNone()); }
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)); }
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); }
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); }
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); }
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); }
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); }
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); }
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')); }
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); }
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); }
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); }
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); }
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); }
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); }
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); } }
public void AtLineBreak() { Create("dog", "cat"); var column = SnapshotOverlapColumn.GetColumnForSpaces(_textBuffer.GetLine(0), spaces: 3, tabStop: 4); }