Skip to content

Commit

Permalink
Added test for multiple lines
Browse files Browse the repository at this point in the history
  • Loading branch information
akshita31 committed Dec 5, 2017
1 parent 4e16b20 commit dd5dbbd
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 9 deletions.
Expand Up @@ -30,12 +30,8 @@ public async Task<FormatRangeResponse> Handle(FormatRangeRequest request)
var text = await document.GetTextAsync();
var start = text.Lines.GetPosition(new LinePosition(request.Line, request.Column));
var end = text.Lines.GetPosition(new LinePosition(request.EndLine, request.EndColumn));
var syntaxTreeRoot = document.GetSyntaxRootAsync().Result;
var StartToken = syntaxTreeRoot.FindToken(start);
var tokenStart = StartToken.FullSpan.Start;
var EndToken = syntaxTreeRoot.FindToken(end);
var tokenEnd = EndToken.FullSpan.End;
var changes = await FormattingWorker.GetFormattingChanges(document, tokenStart, tokenEnd);
var tokenStart = document.GetSyntaxRootAsync().Result.FindToken(start).FullSpan.Start;
var changes = await FormattingWorker.GetFormattingChanges(document, tokenStart, end);

return new FormatRangeResponse()
{
Expand Down
46 changes: 43 additions & 3 deletions tests/OmniSharp.Roslyn.CSharp.Tests/FormattingFacts.cs
Expand Up @@ -132,7 +132,7 @@ public async Task TextChangesAreSortedLastFirst_MultipleLines()


[Fact]
public async Task TextChangesOnSelectingBeforeFirstPositionInLine()
public async Task TextChangesOnStaringSpanBeforeFirstCharacterInLine()
{
var source = new[]
{
Expand All @@ -150,7 +150,7 @@ public async Task TextChangesOnSelectingBeforeFirstPositionInLine()
}

[Fact]
public async Task TextChangesOnSelectingAfterFirstPositionInLine()
public async Task TextChangesOnStartingSpanAtFirstCharacterInLine()
{
var source = new[]
{
Expand All @@ -166,7 +166,47 @@ public async Task TextChangesOnSelectingAfterFirstPositionInLine()
await AssertTextChanges(string.Join("\r\n", source),
new LinePositionSpanTextChange { StartLine = 3, StartColumn = 5, EndLine = 4, EndColumn = 7, NewText = "\n" });
}


[Fact]
public async Task TextChangesOnStartingSpanAfterFirstCharacterInLine()
{
var source = new[]
{
"class Program",
"{",
" public static void Main()",
" {",
" i[|nt foo = 1;|]",
" }",
"}",
};

await AssertTextChanges(string.Join("\r\n", source),
new LinePositionSpanTextChange { StartLine = 3, StartColumn = 5, EndLine = 4, EndColumn = 7, NewText = "\n" });
}

[Fact]
public async Task TextChangesOnStartingSpanAfterFirstCharacterInLineWithMultipleLines()
{
var source = new[]
{
"class Program",
"{",
" public static void Main()",
" {",
" i[|nt foo = 1;",
" bool b = false;",
" Console.WriteLine(foo);|] ",
" }",
"}",
};

await AssertTextChanges(string.Join("\r\n", source),
new LinePositionSpanTextChange { StartLine = 5, StartColumn = 30, EndLine = 6, EndColumn = 7, NewText = "\n" },
new LinePositionSpanTextChange { StartLine = 4, StartColumn = 27, EndLine = 5, EndColumn = 7, NewText = "\n" },
new LinePositionSpanTextChange { StartLine = 3, StartColumn = 5, EndLine = 4, EndColumn = 7, NewText = "\n" });
}

[Fact]
public async Task FormatRespectsIndentationSize()
{
Expand Down

0 comments on commit dd5dbbd

Please sign in to comment.