Skip to content

Commit 4d2b9b7

Browse files
committed
Add tests
1 parent b84a608 commit 4d2b9b7

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

unittests/CppInterOp/FunctionReflectionTest.cpp

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -464,13 +464,17 @@ TEST(FunctionReflectionTest, GetFunctionSignature) {
464464
std::string code = R"(
465465
class C {
466466
void f(int i, double d, long l = 0, char ch = 'a') {}
467+
template<typename T>
468+
void ft(T a) {}
467469
};
468470
469471
namespace N
470472
{
471473
void f(int i, double d, long l = 0, char ch = 'a') {}
472474
}
473475
476+
template<typename T>
477+
void ft(T a) {}
474478
void f1() {}
475479
C f2(int i, double d, long l = 0, char ch = 'a') { return C(); }
476480
C *f3(int i, double d, long l = 0, char ch = 'a') { return new C(); }
@@ -482,18 +486,19 @@ TEST(FunctionReflectionTest, GetFunctionSignature) {
482486
GetAllSubDecls(Decls[0], Decls);
483487
GetAllSubDecls(Decls[1], Decls);
484488

485-
EXPECT_EQ(Cpp::GetFunctionSignature(Decls[2]), "void f1()");
486-
EXPECT_EQ(Cpp::GetFunctionSignature(Decls[3]),
487-
"C f2(int i, double d, long l = 0, char ch = 'a')");
489+
EXPECT_EQ(Cpp::GetFunctionSignature(Decls[2]), "void ft(T a)");
490+
EXPECT_EQ(Cpp::GetFunctionSignature(Decls[3]), "void f1()");
488491
EXPECT_EQ(Cpp::GetFunctionSignature(Decls[4]),
489-
"C *f3(int i, double d, long l = 0, char ch = 'a')");
492+
"C f2(int i, double d, long l = 0, char ch = 'a')");
490493
EXPECT_EQ(Cpp::GetFunctionSignature(Decls[5]),
491-
"void f4(int i = 0, double d = 0., long l = 0, char ch = 'a')");
494+
"C *f3(int i, double d, long l = 0, char ch = 'a')");
492495
EXPECT_EQ(Cpp::GetFunctionSignature(Decls[6]),
493-
"<unknown>");
494-
EXPECT_EQ(Cpp::GetFunctionSignature(Decls[8]),
496+
"void f4(int i = 0, double d = 0., long l = 0, char ch = 'a')");
497+
EXPECT_EQ(Cpp::GetFunctionSignature(Decls[7]), "<unknown>");
498+
EXPECT_EQ(Cpp::GetFunctionSignature(Decls[9]),
495499
"void C::f(int i, double d, long l = 0, char ch = 'a')");
496-
EXPECT_EQ(Cpp::GetFunctionSignature(Decls[13]),
500+
EXPECT_EQ(Cpp::GetFunctionSignature(Decls[10]), "void C::ft(T a)");
501+
EXPECT_EQ(Cpp::GetFunctionSignature(Decls[15]),
497502
"void N::f(int i, double d, long l = 0, char ch = 'a')");
498503
EXPECT_EQ(Cpp::GetFunctionSignature(nullptr), "<unknown>");
499504
}

0 commit comments

Comments
 (0)