diff options
author | Haojian Wu <hokein@google.com> | 2017-10-23 08:58:50 +0000 |
---|---|---|
committer | Haojian Wu <hokein@google.com> | 2017-10-23 08:58:50 +0000 |
commit | 4e7c0628623316fe522d2b2688d8c7d4a8047105 (patch) | |
tree | 18a3e635edf72365b837fd34736b2607189dfe14 /unittests | |
parent | ef34bcb258ffbf7a500bb715edced98fe6348676 (diff) |
[rename] Don't overwrite the template argument when renaming a template function.
Reviewers: ioeric
Reviewed By: ioeric
Subscribers: cierpuchaw, cfe-commits, klimek
Differential Revision: https://reviews.llvm.org/D39120
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@316314 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests')
-rw-r--r-- | unittests/Rename/RenameFunctionTest.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/unittests/Rename/RenameFunctionTest.cpp b/unittests/Rename/RenameFunctionTest.cpp index ef84b4bdb7..b27bbe273a 100644 --- a/unittests/Rename/RenameFunctionTest.cpp +++ b/unittests/Rename/RenameFunctionTest.cpp @@ -220,6 +220,25 @@ TEST_F(RenameFunctionTest, RenameFunctionDecls) { CompareSnippets(Expected, After); } +TEST_F(RenameFunctionTest, RenameTemplateFunctions) { + std::string Before = R"( + namespace na { + template<typename T> T X(); + } + namespace na { void f() { X<int>(); } } + namespace nb { void g() { na::X <int>(); } } + )"; + std::string Expected = R"( + namespace na { + template<typename T> T Y(); + } + namespace na { void f() { nb::Y<int>(); } } + namespace nb { void g() { Y<int>(); } } + )"; + std::string After = runClangRenameOnCode(Before, "na::X", "nb::Y"); + CompareSnippets(Expected, After); +} + TEST_F(RenameFunctionTest, RenameOutOfLineFunctionDecls) { std::string Before = R"( namespace na { |