Skip to content

Commit f892f4a

Browse files
author
thk123
committed
Added tests for bracket matcher to include different types of brackets
1 parent 3beab8b commit f892f4a

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

unit/java_bytecode/java_utils_test.cpp

+35
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,41 @@ SCENARIO("Test that the generic signature delimiter lookup works reliably",
6363
REQUIRE(find_closing_delimiter(generic_sigs[6], 9, '<', '>')==17);
6464
}
6565
}
66+
GIVEN("Some bracketed functions")
67+
{
68+
std::vector<std::string> bracket_sigs{
69+
// Valid inputs
70+
"(Entry)",
71+
"Something(Else)",
72+
"(Nested(Bracket))",
73+
// Invalid inputs
74+
"(",
75+
"(Integer>",
76+
};
77+
WHEN("We check if the closing tag is recognised correctly")
78+
{
79+
// TEST VALID CASES
80+
81+
// (Entry)
82+
REQUIRE(find_closing_delimiter(bracket_sigs[0], 0, '(', ')') == 6);
83+
// Something(Else)
84+
REQUIRE(find_closing_delimiter(bracket_sigs[1], 9, '(', ')') == 14);
85+
// (Nested(Bracket))
86+
REQUIRE(find_closing_delimiter(bracket_sigs[2], 0, '(', ')') == 16);
87+
REQUIRE(find_closing_delimiter(bracket_sigs[2], 7, '(', ')') == 15);
88+
89+
// TEST INVALID CASES
90+
91+
// (
92+
REQUIRE(
93+
find_closing_delimiter(bracket_sigs[3], 0, '(', ')') ==
94+
std::string::npos);
95+
// (Integer>
96+
REQUIRE(
97+
find_closing_delimiter(bracket_sigs[4], 0, '(', ')') ==
98+
std::string::npos);
99+
}
100+
}
66101
}
67102

68103
SCENARIO("gather_full_class_name")

0 commit comments

Comments
 (0)