diff options
Diffstat (limited to 'clang-tools-extra/unittests/change-namespace/ChangeNamespaceTests.cpp')
| -rw-r--r-- | clang-tools-extra/unittests/change-namespace/ChangeNamespaceTests.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/clang-tools-extra/unittests/change-namespace/ChangeNamespaceTests.cpp b/clang-tools-extra/unittests/change-namespace/ChangeNamespaceTests.cpp index 450e4a4e058..9beecedbb7d 100644 --- a/clang-tools-extra/unittests/change-namespace/ChangeNamespaceTests.cpp +++ b/clang-tools-extra/unittests/change-namespace/ChangeNamespaceTests.cpp @@ -425,6 +425,36 @@ TEST_F(ChangeNamespaceTest, FixUsingShadowDecl) { EXPECT_EQ(format(Expected), runChangeNamespaceOnCode(Code)); } +TEST_F(ChangeNamespaceTest, DontFixUsingShadowDeclInClasses) { + std::string Code = "namespace na {\n" + "class A {};\n" + "class Base { public: Base() {} void m() {} };\n" + "namespace nb {\n" + "class D : public Base {\n" + "public:\n" + " using AA = A; using B = Base;\n" + " using Base::m; using Base::Base;\n" + "};" + "} // namespace nb\n" + "} // namespace na\n"; + + std::string Expected = "namespace na {\n" + "class A {};\n" + "class Base { public: Base() {} void m() {} };\n" + "\n" + "} // namespace na\n" + "namespace x {\n" + "namespace y {\n" + "class D : public na::Base {\n" + "public:\n" + " using AA = na::A; using B = na::Base;\n" + " using Base::m; using Base::Base;\n" + "};" + "} // namespace y\n" + "} // namespace x\n"; + EXPECT_EQ(format(Expected), runChangeNamespaceOnCode(Code)); +} + TEST_F(ChangeNamespaceTest, TypeInNestedNameSpecifier) { std::string Code = "namespace na {\n" |

