| 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 3 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.
|
10 | 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 3 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.
|
10 | 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 StaticString const content = "abcdefghi"; |
| 50 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
|
2 | static StaticString const pattern = "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 |