You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
1.9 KiB
109 lines
1.9 KiB
using NUnit.Framework; |
|
using ICSharpCode.NRefactory.CSharp.Refactoring.CodeActions; |
|
|
|
namespace ICSharpCode.NRefactory.CSharp.CodeActions |
|
{ |
|
[TestFixture] |
|
public class SortUsingsTests : ContextActionTestBase |
|
{ |
|
[Test] |
|
public void TestActiveWhenCursorAtUsing() |
|
{ |
|
Test<SortUsingsAction>(@"using Sys$tem.Linq; |
|
using System;", @"using System; |
|
using System.Linq;"); |
|
} |
|
|
|
[Test] |
|
public void TestActiveWhenCursorBehindUsing() |
|
{ |
|
Test<SortUsingsAction>(@"using System.Linq;$ |
|
using System;", @"using System; |
|
using System.Linq;"); |
|
} |
|
|
|
[Test] |
|
public void TestInActiveWhenCursorOutsideUsings() |
|
{ |
|
TestWrongContext<SortUsingsAction>(@"using System.Linq; |
|
using System; |
|
$"); |
|
} |
|
|
|
[Test] |
|
public void TestSortsAllUsingBlocksInFile() |
|
{ |
|
Test<SortUsingsAction>(@"using $System.Linq; |
|
using System; |
|
|
|
namespace Foo |
|
{ |
|
using System.IO; |
|
using System.Collections; |
|
} |
|
|
|
namespace Bar |
|
{ |
|
using System.IO; |
|
using System.Runtime; |
|
using System.Diagnostics; |
|
}", @"using System; |
|
using System.Linq; |
|
|
|
namespace Foo |
|
{ |
|
using System.Collections; |
|
using System.IO; |
|
} |
|
|
|
namespace Bar |
|
{ |
|
using System.Diagnostics; |
|
using System.IO; |
|
using System.Runtime; |
|
}"); |
|
} |
|
|
|
[Test] |
|
public void TestAliasesGoesToTheEnd() |
|
{ |
|
Test<SortUsingsAction>(@"$using Sys = System; |
|
using System;", @"using System; |
|
using Sys = System;"); |
|
} |
|
|
|
[Test] |
|
public void TestUnknownNamespacesGoesAfterKnownOnes() |
|
{ |
|
Test<SortUsingsAction>(@"$using Foo; |
|
using System;", @"using System; |
|
using Foo;"); |
|
} |
|
|
|
[Test] |
|
public void TestMixedStuff() |
|
{ |
|
Test<SortUsingsAction>(@"$using Foo; |
|
using System.Linq; |
|
using Sys = System; |
|
using System; |
|
using FooAlias = Foo; |
|
using Linq = System.Linq;", @"using System; |
|
using System.Linq; |
|
using Foo; |
|
using Linq = System.Linq; |
|
using Sys = System; |
|
using FooAlias = Foo;"); |
|
} |
|
|
|
[Test] |
|
public void TestPreservesEmptyLinesWhichIsInFactABug() |
|
{ |
|
Test<SortUsingsAction>(@"$using System.Linq; |
|
|
|
using System;", @"using System; |
|
|
|
using System.Linq;"); |
|
} |
|
} |
|
}
|
|
|