MCPcopy Create free account
hub / github.com/cppcheck-opensource/cppcheck / findLambdaEndTokenTest

Method findLambdaEndTokenTest

test/testastutils.cpp:62–88  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

60 }
61
62 void findLambdaEndTokenTest() {
63 const Token* nullTok = nullptr;
64 ASSERT(nullptr == (::findLambdaEndToken)(nullTok));
65 ASSERT_EQUALS(false, findLambdaEndToken("void f() { }"));
66 ASSERT_EQUALS(true, findLambdaEndToken("[]{ }"));
67 ASSERT_EQUALS(true, findLambdaEndToken("[]{ return 0; }"));
68 ASSERT_EQUALS(true, findLambdaEndToken("[](){ }"));
69 ASSERT_EQUALS(true, findLambdaEndToken("[&](){ }"));
70 ASSERT_EQUALS(true, findLambdaEndToken("[&, i](){ }"));
71 ASSERT_EQUALS(true, findLambdaEndToken("[](void) { return -1; }"));
72 ASSERT_EQUALS(true, findLambdaEndToken("[](int a, int b) { return a + b; }"));
73 ASSERT_EQUALS(true, findLambdaEndToken("[](int a, int b) mutable { return a + b; }"));
74 ASSERT_EQUALS(true, findLambdaEndToken("[](int a, int b) constexpr { return a + b; }"));
75 ASSERT_EQUALS(true, findLambdaEndToken("[](void) -> int { return -1; }"));
76 ASSERT_EQUALS(true, findLambdaEndToken("[](void) mutable -> int { return -1; }"));
77 ASSERT_EQUALS(false, findLambdaEndToken("[](void) foo -> int { return -1; }"));
78 ASSERT_EQUALS(true, findLambdaEndToken("[](void) constexpr -> int { return -1; }"));
79 ASSERT_EQUALS(true, findLambdaEndToken("[](void) constexpr -> int* { return x; }"));
80 ASSERT_EQUALS(true, findLambdaEndToken("[](void) constexpr -> const * int { return x; }"));
81 ASSERT_EQUALS(true, findLambdaEndToken("[](void) mutable -> const * int { return x; }"));
82 ASSERT_EQUALS(true, findLambdaEndToken("[](void) constexpr -> const ** int { return x; }"));
83 ASSERT_EQUALS(true, findLambdaEndToken("[](void) constexpr -> const * const* int { return x; }"));
84 ASSERT_EQUALS(false, findLambdaEndToken("int** a[] { new int*[2] { new int, new int} };", "[ ]"));
85 ASSERT_EQUALS(false, findLambdaEndToken("int** a[] { new int*[2] { new int, new int} };", "[ 2"));
86 ASSERT_EQUALS(false, findLambdaEndToken("shared_ptr<Type *[]> sp{ new Type *[2] {new Type, new Type}, Deleter<Type>{ 2 } };", "[ 2"));
87 ASSERT_EQUALS(true, findLambdaEndToken("int i = 5 * []{ return 7; }();", "[", /*checkNext*/ false));
88 }
89
90#define findLambdaStartToken(...) findLambdaStartToken_(__FILE__, __LINE__, __VA_ARGS__)
91 template<size_t size>

Callers

nothing calls this directly

Calls 1

findLambdaEndTokenFunction · 0.85

Tested by

no test coverage detected