From 8722483b597161b54a81d51671394c04f7beb94a Mon Sep 17 00:00:00 2001 From: mike Date: Thu, 3 May 2012 17:18:53 +0200 Subject: [PATCH] [Formatting] Fixed using alias declarations. --- .../Formatter/AstFormattingVisitor.cs | 2 ++ .../TestTypeLevelIndentation.cs | 18 ++++++++++++++++++ .../FormattingTests/TextEditorTestAdapter.cs | 4 ++-- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/ICSharpCode.NRefactory.CSharp/Formatter/AstFormattingVisitor.cs b/ICSharpCode.NRefactory.CSharp/Formatter/AstFormattingVisitor.cs index c0015dfa96..dc8db5dc41 100644 --- a/ICSharpCode.NRefactory.CSharp/Formatter/AstFormattingVisitor.cs +++ b/ICSharpCode.NRefactory.CSharp/Formatter/AstFormattingVisitor.cs @@ -237,6 +237,7 @@ namespace ICSharpCode.NRefactory.CSharp public override void VisitUsingDeclaration(UsingDeclaration usingDeclaration) { + FixIndentationForceNewLine(usingDeclaration.StartLocation); if (!(usingDeclaration.PrevSibling is UsingDeclaration || usingDeclaration.PrevSibling is UsingAliasDeclaration)) { EnsureBlankLinesBefore(usingDeclaration, policy.BlankLinesBeforeUsings); } @@ -247,6 +248,7 @@ namespace ICSharpCode.NRefactory.CSharp public override void VisitUsingAliasDeclaration(UsingAliasDeclaration usingDeclaration) { + FixIndentationForceNewLine(usingDeclaration.StartLocation); if (!(usingDeclaration.PrevSibling is UsingDeclaration || usingDeclaration.PrevSibling is UsingAliasDeclaration)) { EnsureBlankLinesBefore(usingDeclaration, policy.BlankLinesBeforeUsings); } diff --git a/ICSharpCode.NRefactory.Tests/FormattingTests/TestTypeLevelIndentation.cs b/ICSharpCode.NRefactory.Tests/FormattingTests/TestTypeLevelIndentation.cs index 933d433efc..38aae69620 100644 --- a/ICSharpCode.NRefactory.Tests/FormattingTests/TestTypeLevelIndentation.cs +++ b/ICSharpCode.NRefactory.Tests/FormattingTests/TestTypeLevelIndentation.cs @@ -34,6 +34,24 @@ namespace ICSharpCode.NRefactory.CSharp.FormattingTests [TestFixture()] public class TestTypeLevelIndentation : TestBase { + [Test()] + public void TestUsingDeclarations() + { + CSharpFormattingOptions policy = FormattingOptionsFactory.CreateMono(); + + Test(policy, @" using Foo;", @"using Foo; +"); + } + + [Test()] + public void TestUsingAliasDeclarations() + { + CSharpFormattingOptions policy = FormattingOptionsFactory.CreateMono(); + + Test(policy, @" using Foo = Bar;", @"using Foo = Bar; +"); + } + [Test()] public void TestClassIndentation () { diff --git a/ICSharpCode.NRefactory.Tests/FormattingTests/TextEditorTestAdapter.cs b/ICSharpCode.NRefactory.Tests/FormattingTests/TextEditorTestAdapter.cs index cc9c9fd656..2e62278f83 100644 --- a/ICSharpCode.NRefactory.Tests/FormattingTests/TextEditorTestAdapter.cs +++ b/ICSharpCode.NRefactory.Tests/FormattingTests/TextEditorTestAdapter.cs @@ -28,7 +28,7 @@ namespace ICSharpCode.NRefactory.CSharp.FormattingTests return b.ToString(); }*/ - protected static IDocument GetResult(CSharpFormattingOptions policy, string input, FormattingMode mode = FormattingMode.OnTheFly) + protected static IDocument GetResult(CSharpFormattingOptions policy, string input, FormattingMode mode = FormattingMode.Intrusive) { input = NormalizeNewlines(input); var document = new StringBuilderDocument(input); @@ -43,7 +43,7 @@ namespace ICSharpCode.NRefactory.CSharp.FormattingTests return document; } - protected static IDocument Test (CSharpFormattingOptions policy, string input, string expectedOutput, FormattingMode mode = FormattingMode.OnTheFly) + protected static IDocument Test (CSharpFormattingOptions policy, string input, string expectedOutput, FormattingMode mode = FormattingMode.Intrusive) { expectedOutput = NormalizeNewlines(expectedOutput); IDocument doc = GetResult(policy, input, mode);