diff options
| author | Eric Liu <ioeric@google.com> | 2016-12-06 10:12:23 +0000 |
|---|---|---|
| committer | Eric Liu <ioeric@google.com> | 2016-12-06 10:12:23 +0000 |
| commit | 47a42d53fc72718b0fd8f9f0501be7f6e565814d (patch) | |
| tree | 4e5404a444d00e989281674993292577384c2145 /clang-tools-extra/unittests/clang-move/ClangMoveTests.cpp | |
| parent | 8977223e5520ac3cb8f7a5e04f28129eae25c3eb (diff) | |
| download | bcm5719-llvm-47a42d53fc72718b0fd8f9f0501be7f6e565814d.tar.gz bcm5719-llvm-47a42d53fc72718b0fd8f9f0501be7f6e565814d.zip | |
[clang-move] ignore unsupported symbol kinds when checking if all symbols are moved.
llvm-svn: 288791
Diffstat (limited to 'clang-tools-extra/unittests/clang-move/ClangMoveTests.cpp')
| -rw-r--r-- | clang-tools-extra/unittests/clang-move/ClangMoveTests.cpp | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/clang-tools-extra/unittests/clang-move/ClangMoveTests.cpp b/clang-tools-extra/unittests/clang-move/ClangMoveTests.cpp index bc88bc309f4..3c4a9b591dc 100644 --- a/clang-tools-extra/unittests/clang-move/ClangMoveTests.cpp +++ b/clang-tools-extra/unittests/clang-move/ClangMoveTests.cpp @@ -330,11 +330,8 @@ TEST(ClangMove, DontMoveAll) { "#endif // NEW_FOO_H\n"; const char Code[] = "#include \"foo.h\"\nint A::f() { return 0; }"; std::vector<std::string> TestHeaders = { - "typedef int Int;\nclass A {\npublic:\n int f();\n};\n", - "using Int=int;\nclass A {\npublic:\n int f();\n};\n", "class B {};\nclass A {\npublic:\n int f();\n};\n", "void f() {};\nclass A {\npublic:\n int f();\n};\n", - "enum Color { RED };\nclass A {\npublic:\n int f();\n};\n", }; move::MoveDefinitionSpec Spec; Spec.Names.push_back("A"); @@ -351,6 +348,26 @@ TEST(ClangMove, DontMoveAll) { } } +TEST(ClangMove, IgnoreUnsupportedKindsAndMoveAll) { + const char Code[] = "#include \"foo.h\"\nint A::f() { return 0; }"; + std::vector<std::string> TestHeaders = { + "typedef int Int;\nclass A {\npublic:\n int f();\n};\n", + "using Int = int;\nclass A {\npublic:\n int f();\n};\n", + "enum Color { RED };\nclass A {\npublic:\n int f();\n};\n", + }; + move::MoveDefinitionSpec Spec; + Spec.Names.push_back("A"); + Spec.OldHeader = "foo.h"; + Spec.OldCC = "foo.cc"; + Spec.NewHeader = "new_foo.h"; + Spec.NewCC = "new_foo.cc"; + for (const auto &Header : TestHeaders) { + auto Results = runClangMoveOnCode(Spec, Header.c_str(), Code); + EXPECT_EQ(Header, Results[Spec.NewHeader]); + EXPECT_EQ("", Results[Spec.OldHeader]); + } +} + TEST(ClangMove, MacroInFunction) { const char TestHeader[] = "#define INT int\n" "class A {\npublic:\n int f();\n};\n" |

