public void TryCreateLineNegative() { Create("cat"); var column = SnapshotColumn.GetForLineAndColumnNumber(_textBuffer.CurrentSnapshot, -1, -1, FSharpOption.False); Assert.True(column.IsNone()); }
public void TryCreateColumnSimple() { Create("cat"); var column = SnapshotColumn.GetForLineAndColumnNumber(_textBuffer.CurrentSnapshot, lineNumber: 0, columnNumber: 1, includeLineBreak: FSharpOption.False); Assert.True(column.IsSome(x => x.IsCharacter('a'))); }
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 ToLineBreak() { Create("cat", "dog"); var column = new SnapshotColumn(_textBuffer.GetPointInLine(line: 0, column: 2)); var next = column.TryAddInLine(1); Assert.True(next.IsNone()); }
public void TrySubtractInSameLineStartOfBuffer() { Create("cat", "dog"); var column = new SnapshotColumn(_textBuffer.GetStartPoint()); var previous = column.TrySubtractInLine(1); Assert.True(previous.IsNone()); }
public void ToLineBreakWhenAllowed() { Create("cat", "dog"); var column = new SnapshotColumn(_textBuffer.GetPointInLine(line: 0, column: 2)); var next = column.TryAddInLine(1, includeLineBreak: FSharpOption.True); Assert.True(next.IsSome(x => x.IsLineBreak)); }
public void SecondPositionOfLineBreak() { Create("cat", "dog"); var point = _textBuffer.GetPoint(4); var column = new SnapshotColumn(point); Assert.True(column.StartPoint.Position == 3); }
public void SubtractBeforeLine() { Create("cat", "dog", "fish"); var original = new SnapshotColumn(_textBuffer.GetLine(1).Start); var column = original.Subtract(3); Assert.Equal(2, column.Column); Assert.Equal(0, column.LineNumber); }
public void EmptyLineAtEnd() { Create("cat", ""); var point = _textBuffer.GetPointInLine(line: 1, column: 0); var column = new SnapshotColumn(point); Assert.True(column.StartPoint.Position == _textBuffer.CurrentSnapshot.Length); }
public void EndPoint() { Create("cat"); var point = _textBuffer.GetEndPoint(); var column = new SnapshotColumn(point); Assert.True(column.StartPoint.Position == _textBuffer.CurrentSnapshot.Length); }
public void AddNextLine() { Create("cat", "dog", "fish"); var original = new SnapshotColumn(_textBuffer.GetPoint(0)); var column = original.Add(5); Assert.Equal(0, column.Column); Assert.Equal(1, column.LineNumber); }
public void SubtractSameLine() { Create("cat", "dog", "fish"); var original = new SnapshotColumn(_textBuffer.GetPoint(1)); var column = original.Subtract(1); Assert.Equal(0, column.Column); Assert.Equal(0, column.LineNumber); }
public void AddNextLine(string lineBreakText) { CreateRaw("cat" + lineBreakText + "dog" + lineBreakText + "fish"); var original = new SnapshotColumn(_textBuffer.GetPoint(0)); var column = original.Add(4); Assert.Equal(0, column.ColumnNumber); Assert.Equal(1, column.LineNumber); }
public void PointSimple() { Create("cat", "dog"); var point = _textBuffer.GetPoint(1); var column = new SnapshotColumn(point); Assert.Equal(0, column.LineNumber); Assert.Equal(1, column.Column); Assert.False(column.IsInsideLineBreak); }
public void EndPoint() { Create("cat"); var point = _textBuffer.GetEndPoint(); var column = new SnapshotColumn(point); Assert.True(column.IsEndColumn); Assert.False(column.IsLineBreak); }
public void SubtractBeforeLine(string lineBreakText) { CreateRaw("cat" + lineBreakText + "dog" + lineBreakText + "fish"); var original = new SnapshotColumn(_textBuffer.GetLine(1).Start); var column = original.Subtract(2); Assert.Equal(2, column.ColumnNumber); Assert.Equal(0, column.LineNumber); }
public void EmptyLineIsLineBreak() { Create("", "dog"); var column = SnapshotColumn.GetForLineAndColumnNumber(_textBuffer.CurrentSnapshot, lineNumber: 0, columnNumber: 0, includeLineBreak: FSharpOption.False); Assert.True(column.IsNone()); column = SnapshotColumn.GetForLineAndColumnNumber(_textBuffer.CurrentSnapshot, lineNumber: 0, columnNumber: 0, includeLineBreak: FSharpOption.True); Assert.True(column.IsSome(x => x.IsLineBreak)); }
public void PointSimple() { Create("cat", "dog"); var point = _textBuffer.GetPoint(1); var column = new SnapshotColumn(point); Assert.Equal(0, column.LineNumber); Assert.Equal(1, column.ColumnNumber); Assert.False(column.IsLineBreak); }
public void TrySubtractInSameLineBetweenLines() { Create("cat", "dog"); var column = new SnapshotColumn(_textBuffer.GetPointInLine(line: 1, column: 1)); var previous = column.TrySubtractInLine(1); Assert.True(previous.IsSome(c => c.IsCharacter('d'))); previous = previous.Value.TrySubtractInLine(1); Assert.True(previous.IsNone()); }
public void EndPoint() { Create("cat", "dog"); var column = new SnapshotColumn(_textBuffer.GetPointInLine(line: 1, column: 2)); var next = column.TryAddInLine(1, includeLineBreak: FSharpOption.True); Assert.True(next.IsSome(x => x.IsEndColumn)); next = column.TryAddInLine(1, includeLineBreak: FSharpOption.False); Assert.True(next.IsSome(x => x.IsEndColumn)); }
public void PointInsideLineBreak() { Create("cat", "dog"); var point = _textBuffer.GetPoint(_textBuffer.GetLine(0).End); var column = new SnapshotColumn(point); Assert.Equal(0, column.LineNumber); Assert.Equal(3, column.ColumnNumber); Assert.True(column.IsLineBreak); Assert.Equal("cat", column.Line.GetText()); }
public void AddManyLines(string lineBreakText) { var letters = CharUtil.LettersLower.Select(x => x.ToString()).ToArray(); var content = string.Join(lineBreakText, letters); CreateRaw(content); var point = new SnapshotColumn(_textBuffer.GetPoint(0)); for (var i = 0; i < letters.Length; i++) { Assert.Equal(letters[i], point.GetText()); if (i + 1 < letters.Length) { point = point.Add(1); Assert.True(point.IsLineBreak); point = point.Add(1); } } }
public void SubtractManyLines(string lineBreakText) { var letters = CharUtil.LettersLower.Select(x => x.ToString()).ToArray(); var content = string.Join(lineBreakText, letters); CreateRaw(content); var i = letters.Length - 2; var point = new SnapshotColumn(_textBuffer.GetEndPoint()); point = point.Subtract(2); while (!point.IsStartColumn) { Assert.True(point.IsLineBreak); point = point.Subtract(1); Assert.Equal(letters[i], point.GetText()); if (!point.IsStartColumn) { point = point.Subtract(1); i--; } } }
public void PointInsideLineBreak() { Create("cat", "dog"); var point = _textBuffer.GetPoint(_textBuffer.GetLine(0).End); var column = new SnapshotColumn(point); Assert.Equal(0, column.LineNumber); Assert.Equal(3, column.Column); Assert.True(column.IsInsideLineBreak); Assert.Equal("cat", column.Line.GetText()); }