|
@@ -50,8 +50,8 @@ TEST_F(UsingDeclarationsSorterTest, SwapsTwoConsecutiveUsingDeclarations) {
|
|
"using aa;",
|
|
"using aa;",
|
|
sortUsingDeclarations("using aa;\n"
|
|
sortUsingDeclarations("using aa;\n"
|
|
"using a;"));
|
|
"using a;"));
|
|
- EXPECT_EQ("using ::a;\n"
|
|
|
|
- "using a;",
|
|
|
|
|
|
+ EXPECT_EQ("using a;\n"
|
|
|
|
+ "using ::a;",
|
|
sortUsingDeclarations("using a;\n"
|
|
sortUsingDeclarations("using a;\n"
|
|
"using ::a;"));
|
|
"using ::a;"));
|
|
|
|
|
|
@@ -86,21 +86,32 @@ TEST_F(UsingDeclarationsSorterTest, SwapsTwoConsecutiveUsingDeclarations) {
|
|
"using a, b;"));
|
|
"using a, b;"));
|
|
}
|
|
}
|
|
|
|
|
|
-TEST_F(UsingDeclarationsSorterTest, SortsCaseSensitively) {
|
|
|
|
|
|
+TEST_F(UsingDeclarationsSorterTest, UsingDeclarationOrder) {
|
|
EXPECT_EQ("using A;\n"
|
|
EXPECT_EQ("using A;\n"
|
|
"using a;",
|
|
"using a;",
|
|
sortUsingDeclarations("using A;\n"
|
|
sortUsingDeclarations("using A;\n"
|
|
"using a;"));
|
|
"using a;"));
|
|
- EXPECT_EQ("using A;\n"
|
|
|
|
- "using a;",
|
|
|
|
|
|
+ EXPECT_EQ("using a;\n"
|
|
|
|
+ "using A;",
|
|
sortUsingDeclarations("using a;\n"
|
|
sortUsingDeclarations("using a;\n"
|
|
"using A;"));
|
|
"using A;"));
|
|
- EXPECT_EQ("using B;\n"
|
|
|
|
- "using a;",
|
|
|
|
|
|
+ EXPECT_EQ("using a;\n"
|
|
|
|
+ "using B;",
|
|
sortUsingDeclarations("using B;\n"
|
|
sortUsingDeclarations("using B;\n"
|
|
"using a;"));
|
|
"using a;"));
|
|
|
|
|
|
- // Sorts '_' right before 'A'.
|
|
|
|
|
|
+ // Ignores leading '::'.
|
|
|
|
+ EXPECT_EQ("using ::a;\n"
|
|
|
|
+ "using A;",
|
|
|
|
+ sortUsingDeclarations("using ::a;\n"
|
|
|
|
+ "using A;"));
|
|
|
|
+
|
|
|
|
+ EXPECT_EQ("using ::A;\n"
|
|
|
|
+ "using a;",
|
|
|
|
+ sortUsingDeclarations("using ::A;\n"
|
|
|
|
+ "using a;"));
|
|
|
|
+
|
|
|
|
+ // Sorts '_' before 'a' and 'A'.
|
|
EXPECT_EQ("using _;\n"
|
|
EXPECT_EQ("using _;\n"
|
|
"using A;",
|
|
"using A;",
|
|
sortUsingDeclarations("using A;\n"
|
|
sortUsingDeclarations("using A;\n"
|
|
@@ -114,18 +125,58 @@ TEST_F(UsingDeclarationsSorterTest, SortsCaseSensitively) {
|
|
sortUsingDeclarations("using a::a;\n"
|
|
sortUsingDeclarations("using a::a;\n"
|
|
"using a::_;"));
|
|
"using a::_;"));
|
|
|
|
|
|
|
|
+ // Sorts non-namespace names before namespace names at the same level.
|
|
EXPECT_EQ("using ::testing::_;\n"
|
|
EXPECT_EQ("using ::testing::_;\n"
|
|
"using ::testing::Aardvark;\n"
|
|
"using ::testing::Aardvark;\n"
|
|
|
|
+ "using ::testing::kMax;\n"
|
|
"using ::testing::Xylophone;\n"
|
|
"using ::testing::Xylophone;\n"
|
|
"using ::testing::apple::Honeycrisp;\n"
|
|
"using ::testing::apple::Honeycrisp;\n"
|
|
"using ::testing::zebra::Stripes;",
|
|
"using ::testing::zebra::Stripes;",
|
|
sortUsingDeclarations("using ::testing::Aardvark;\n"
|
|
sortUsingDeclarations("using ::testing::Aardvark;\n"
|
|
"using ::testing::Xylophone;\n"
|
|
"using ::testing::Xylophone;\n"
|
|
|
|
+ "using ::testing::kMax;\n"
|
|
"using ::testing::_;\n"
|
|
"using ::testing::_;\n"
|
|
"using ::testing::apple::Honeycrisp;\n"
|
|
"using ::testing::apple::Honeycrisp;\n"
|
|
"using ::testing::zebra::Stripes;"));
|
|
"using ::testing::zebra::Stripes;"));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+TEST_F(UsingDeclarationsSorterTest, SortsStably) {
|
|
|
|
+ EXPECT_EQ("using a;\n"
|
|
|
|
+ "using a;\n"
|
|
|
|
+ "using A;\n"
|
|
|
|
+ "using a;\n"
|
|
|
|
+ "using A;\n"
|
|
|
|
+ "using a;\n"
|
|
|
|
+ "using A;\n"
|
|
|
|
+ "using a;\n"
|
|
|
|
+ "using B;\n"
|
|
|
|
+ "using b;\n"
|
|
|
|
+ "using b;\n"
|
|
|
|
+ "using B;\n"
|
|
|
|
+ "using b;\n"
|
|
|
|
+ "using b;\n"
|
|
|
|
+ "using b;\n"
|
|
|
|
+ "using B;\n"
|
|
|
|
+ "using b;",
|
|
|
|
+ sortUsingDeclarations("using a;\n"
|
|
|
|
+ "using B;\n"
|
|
|
|
+ "using a;\n"
|
|
|
|
+ "using b;\n"
|
|
|
|
+ "using A;\n"
|
|
|
|
+ "using a;\n"
|
|
|
|
+ "using b;\n"
|
|
|
|
+ "using B;\n"
|
|
|
|
+ "using b;\n"
|
|
|
|
+ "using A;\n"
|
|
|
|
+ "using a;\n"
|
|
|
|
+ "using b;\n"
|
|
|
|
+ "using b;\n"
|
|
|
|
+ "using B;\n"
|
|
|
|
+ "using b;\n"
|
|
|
|
+ "using A;\n"
|
|
|
|
+ "using a;"));
|
|
|
|
+}
|
|
|
|
+
|
|
TEST_F(UsingDeclarationsSorterTest, SortsMultipleTopLevelDeclarations) {
|
|
TEST_F(UsingDeclarationsSorterTest, SortsMultipleTopLevelDeclarations) {
|
|
EXPECT_EQ("using a;\n"
|
|
EXPECT_EQ("using a;\n"
|
|
"using b;\n"
|
|
"using b;\n"
|
|
@@ -139,14 +190,14 @@ TEST_F(UsingDeclarationsSorterTest, SortsMultipleTopLevelDeclarations) {
|
|
"using c;"));
|
|
"using c;"));
|
|
|
|
|
|
EXPECT_EQ("#include <iostream>\n"
|
|
EXPECT_EQ("#include <iostream>\n"
|
|
- "using ::std::endl;\n"
|
|
|
|
"using std::cin;\n"
|
|
"using std::cin;\n"
|
|
"using std::cout;\n"
|
|
"using std::cout;\n"
|
|
|
|
+ "using ::std::endl;\n"
|
|
"int main();",
|
|
"int main();",
|
|
sortUsingDeclarations("#include <iostream>\n"
|
|
sortUsingDeclarations("#include <iostream>\n"
|
|
"using std::cout;\n"
|
|
"using std::cout;\n"
|
|
- "using std::cin;\n"
|
|
|
|
"using ::std::endl;\n"
|
|
"using ::std::endl;\n"
|
|
|
|
+ "using std::cin;\n"
|
|
"int main();"));
|
|
"int main();"));
|
|
}
|
|
}
|
|
|
|
|