Line | Branch | Exec | Source |
---|---|---|---|
1 | #include "gate/tests.hpp" | ||
2 | #include "gate/regexpressions.hpp" | ||
3 | |||
4 | using namespace gate; | ||
5 | |||
6 | 7 | static void check_pattern(char const* content, char const* pattern, gate::index_t expected_match_pos, gate::index_t expected_match_len) | |
7 | { | ||
8 | 14 | String const c = String::createStatic(content); | |
9 | 14 | String const p = String::createStatic(pattern); | |
10 |
1/2✓ Branch 1 taken 7 times.
✗ Branch 2 not taken.
|
14 | RegEx r(p); |
11 | 7 | gate_size_t len = 0; | |
12 |
1/2✓ Branch 1 taken 7 times.
✗ Branch 2 not taken.
|
7 | gate::index_t pos = r.match(c, &len); |
13 |
4/12✓ Branch 1 taken 7 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 7 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 7 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 7 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
|
7 | GATEXX_TEST_CHECK_EQUAL(pos, expected_match_pos); |
14 |
4/12✓ Branch 1 taken 7 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 7 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 7 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 7 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
|
7 | GATEXX_TEST_CHECK_EQUAL(len, expected_match_len); |
15 | 7 | } | |
16 | |||
17 | 4 | static void check_pattern(char const* content, char const* pattern, bool_t expected_match_found) | |
18 | { | ||
19 | 8 | String const c = String::createStatic(content); | |
20 | 8 | String const p = String::createStatic(pattern); | |
21 |
1/2✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
|
8 | RegEx r(p); |
22 | 4 | gate::size_t pos = 0; | |
23 | 4 | gate::size_t len = 0; | |
24 |
1/2✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
|
4 | bool_t match_found = r.match(c, pos, len); |
25 |
4/12✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 4 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 4 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
|
4 | GATEXX_TEST_CHECK_EQUAL(match_found, expected_match_found); |
26 | 4 | } | |
27 | |||
28 |
2/7✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
|
6 | GATEXX_TEST_UNIT(RegexPatterns) |
29 | { | ||
30 | { | ||
31 | 2 | char const* content = "abcdefghi"; | |
32 | 2 | check_pattern(content, "^abc", 0, 3); | |
33 | 2 | check_pattern(content, "^abc$", false); | |
34 | 2 | check_pattern(content, "ghi$", 6, 3); | |
35 | 2 | check_pattern(content, "^ghi$", false); | |
36 | 2 | check_pattern(content, "def", 3, 3); | |
37 | 2 | check_pattern(content, "^def", false); | |
38 | 2 | check_pattern(content, "def$", false); | |
39 | 2 | check_pattern(content, "de?", 3, 2); | |
40 | 2 | check_pattern(content, "de+", 3, 2); | |
41 | 2 | check_pattern(content, "de*", 3, 2); | |
42 | 2 | check_pattern(content, "^abc.*i$", 0, 9); | |
43 | } | ||
44 | 2 | } | |
45 | |||
46 | |||
47 |
2/7✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
|
6 | GATEXX_TEST_UNIT(Regex) |
48 | { | ||
49 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
2 | static String const content = String::createStaticFrom("abcdefghi"); |
50 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
2 | static String const pattern = String::createStaticFrom("def"); |
51 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | RegEx r(pattern); |
52 |
5/14✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
|
2 | GATEXX_TEST_CHECK(r.c_impl() != NULL); |
53 | 2 | gate::size_t pos = 0, len = 0; | |
54 |
5/14✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
|
2 | GATEXX_TEST_CHECK(r.match(content, pos, len)); |
55 | |||
56 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
4 | RegEx r2(r); |
57 |
2/4✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
4 | RegEx r3("xyz"); |
58 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | gate::index_t ndx2 = r2.match(content); |
59 |
4/12✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
|
2 | GATEXX_TEST_CHECK(ndx2 > -1); |
60 | |||
61 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | gate::index_t ndx3 = r3.match(content); |
62 |
4/12✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
|
2 | GATEXX_TEST_CHECK(ndx3 <= -1); |
63 | |||
64 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | r3 = r; |
65 |
1/2✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
|
2 | gate::index_t ndx3b = r3.match(content); |
66 |
4/12✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
|
2 | GATEXX_TEST_CHECK(ndx3b > -1); |
67 | 2 | } | |
68 | |||
69 |