|
|
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|
|
|
|
using ICSharpCode.NRefactory.CSharp; |
|
|
|
|
using System.IO; |
|
|
|
|
using NUnit.Framework; |
|
|
|
|
using ICSharpCode.NRefactory.CSharp.Refactoring; |
|
|
|
|
|
|
|
|
|
namespace ICSharpCode.NRefactory.FormattingTests |
|
|
|
|
{ |
|
|
|
|
@ -107,16 +108,6 @@ namespace ICSharpCode.NRefactory.FormattingTests
@@ -107,16 +108,6 @@ namespace ICSharpCode.NRefactory.FormattingTests
|
|
|
|
|
return new Segment (startOffset, endOffset - startOffset, delimiterLength); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void ApplyChanges (List<Change> changes) |
|
|
|
|
{ |
|
|
|
|
changes.Sort ((x, y) => x.Offset.CompareTo (y.Offset)); |
|
|
|
|
changes.Reverse (); |
|
|
|
|
foreach (var change in changes) { |
|
|
|
|
text = text.Substring (0, change.Offset) + change.InsertedText + text.Substring (change.Offset + change.RemovedChars); |
|
|
|
|
} |
|
|
|
|
delimiters = new List<Delimiter> (FindDelimiter (text)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#region ITextEditorAdapter implementation
|
|
|
|
|
public int LocationToOffset (int line, int col) |
|
|
|
|
{ |
|
|
|
|
@ -224,14 +215,15 @@ namespace ICSharpCode.NRefactory.FormattingTests
@@ -224,14 +215,15 @@ namespace ICSharpCode.NRefactory.FormattingTests
|
|
|
|
|
|
|
|
|
|
public abstract class TestBase |
|
|
|
|
{ |
|
|
|
|
static IActionFactory factory = null; |
|
|
|
|
protected static ITextEditorAdapter GetResult (CSharpFormattingOptions policy, string input) |
|
|
|
|
{ |
|
|
|
|
var adapter = new TextEditorTestAdapter (input); |
|
|
|
|
var visitior = new AstFormattingVisitor (policy, adapter); |
|
|
|
|
var visitior = new AstFormattingVisitor (policy, adapter, factory); |
|
|
|
|
|
|
|
|
|
var compilationUnit = new CSharpParser ().Parse (new StringReader (adapter.Text)); |
|
|
|
|
compilationUnit.AcceptVisitor (visitior, null); |
|
|
|
|
adapter.ApplyChanges (visitior.Changes); |
|
|
|
|
// adapter.ApplyChanges (visitior.Changes);
|
|
|
|
|
|
|
|
|
|
return adapter; |
|
|
|
|
} |
|
|
|
|
@ -239,22 +231,22 @@ namespace ICSharpCode.NRefactory.FormattingTests
@@ -239,22 +231,22 @@ namespace ICSharpCode.NRefactory.FormattingTests
|
|
|
|
|
protected static ITextEditorAdapter Test (CSharpFormattingOptions policy, string input, string expectedOutput) |
|
|
|
|
{ |
|
|
|
|
var adapter = new TextEditorTestAdapter (input); |
|
|
|
|
var visitior = new AstFormattingVisitor (policy, adapter); |
|
|
|
|
var visitior = new AstFormattingVisitor (policy, adapter, factory); |
|
|
|
|
|
|
|
|
|
var compilationUnit = new CSharpParser ().Parse (new StringReader (adapter.Text)); |
|
|
|
|
compilationUnit.AcceptVisitor (visitior, null); |
|
|
|
|
adapter.ApplyChanges (visitior.Changes); |
|
|
|
|
// adapter.ApplyChanges (visitior.Changes);
|
|
|
|
|
Assert.AreEqual (expectedOutput, adapter.Text); |
|
|
|
|
return adapter; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected static void Continue (CSharpFormattingOptions policy, ITextEditorAdapter adapter, string expectedOutput) |
|
|
|
|
{ |
|
|
|
|
var visitior = new AstFormattingVisitor (policy, adapter); |
|
|
|
|
var visitior = new AstFormattingVisitor (policy, adapter, factory); |
|
|
|
|
|
|
|
|
|
var compilationUnit = new CSharpParser ().Parse (new StringReader (adapter.Text)); |
|
|
|
|
compilationUnit.AcceptVisitor (visitior, null); |
|
|
|
|
((TextEditorTestAdapter)adapter).ApplyChanges (visitior.Changes); |
|
|
|
|
// ((TextEditorTestAdapter)adapter).ApplyChanges (visitior.Changes);
|
|
|
|
|
Assert.AreEqual (expectedOutput, adapter.Text); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|