Testing C++ declarations embedded in
<declaration> tag of Comment XML.
Added DeclPrint support for constructors
and fix tests accordingly.
This is wip. // rdar://12378714
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169412 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/unittests/AST/DeclPrinterTest.cpp b/unittests/AST/DeclPrinterTest.cpp
index a2fc839..a770022 100644
--- a/unittests/AST/DeclPrinterTest.cpp
+++ b/unittests/AST/DeclPrinterTest.cpp
@@ -412,8 +412,7 @@
" A();"
"};",
constructorDecl(ofClass(hasName("A"))).bind("id"),
- ""));
- // WRONG; Should be: "A();"
+ "A()"));
}
TEST(DeclPrinter, TestCXXConstructorDecl2) {
@@ -422,8 +421,7 @@
" A(int a);"
"};",
constructorDecl(ofClass(hasName("A"))).bind("id"),
- ""));
- // WRONG; Should be: "A(int a);"
+ "A(int a)"));
}
TEST(DeclPrinter, TestCXXConstructorDecl3) {
@@ -432,8 +430,7 @@
" A(const A &a);"
"};",
constructorDecl(ofClass(hasName("A"))).bind("id"),
- ""));
- // WRONG; Should be: "A(const A &a);"
+ "A(const A &a)"));
}
TEST(DeclPrinter, TestCXXConstructorDecl4) {
@@ -442,8 +439,7 @@
" A(const A &a, int = 0);"
"};",
constructorDecl(ofClass(hasName("A"))).bind("id"),
- ""));
- // WRONG; Should be: "A(const A &a, int = 0);"
+ "A(const A &a, int = 0)"));
}
TEST(DeclPrinter, TestCXXConstructorDecl5) {
@@ -452,8 +448,7 @@
" A(const A &&a);"
"};",
constructorDecl(ofClass(hasName("A"))).bind("id"),
- ""));
- // WRONG; Should be: "A(const A &&a);"
+ "A(const A &&a)"));
}
TEST(DeclPrinter, TestCXXConstructorDecl6) {
@@ -462,7 +457,7 @@
" explicit A(int a);"
"};",
constructorDecl(ofClass(hasName("A"))).bind("id"),
- ""));
+ "A(int a)"));
// WRONG; Should be: "explicit A(int a);"
}
@@ -472,7 +467,7 @@
" constexpr A();"
"};",
constructorDecl(ofClass(hasName("A"))).bind("id"),
- ""));
+ "A()"));
// WRONG; Should be: "constexpr A();"
}
@@ -482,8 +477,8 @@
" A() = default;"
"};",
constructorDecl(ofClass(hasName("A"))).bind("id"),
- ""));
- // WRONG; Should be: "A() = default;"
+ "A() noexcept"));
+ // WRONG; Should be: "A() = delete;"
}
TEST(DeclPrinter, TestCXXConstructorDecl9) {
@@ -492,8 +487,7 @@
" A() = delete;"
"};",
constructorDecl(ofClass(hasName("A"))).bind("id"),
- " = delete"));
- // WRONG; Should be: "A() = delete;"
+ "A() = delete"));
}
TEST(DeclPrinter, TestCXXConstructorDecl10) {
@@ -503,8 +497,7 @@
" A(const A &a);"
"};",
constructorDecl(ofClass(hasName("A"))).bind("id"),
- ""));
- // WRONG; Should be: "A(const A &a);"
+ "A<T...>(const A<T...> &a)"));
}
#if !defined(_MSC_VER)