diff --git a/source/jeger.c b/source/jeger.c index 40926e3..343f639 100644 --- a/source/jeger.c +++ b/source/jeger.c @@ -48,7 +48,6 @@ bool is_magic(const char c) { // ------------------- // ### Match tests ### // ------------------- -static inline bool is_sentinel(const match_t * const match) { return (match->position == -1) && (match->width == -1) diff --git a/source/jeger.h b/source/jeger.h index 7954b90..97efd03 100644 --- a/source/jeger.h +++ b/source/jeger.h @@ -28,5 +28,6 @@ extern bool regex_search(const regex_t * const regex, const char * const st extern match_t * regex_match(const regex_t * const regex, const char * const string, const bool start_of_string); extern bool is_magic(const char c); +extern bool is_sentinel(const match_t * const match); #endif diff --git a/source/main.cpp b/source/main.cpp index 1158fb9..cd95ad5 100644 --- a/source/main.cpp +++ b/source/main.cpp @@ -5,26 +5,26 @@ #include "test.hpp" signed main() { - TEST( R"del(abc)del", "abc", true); - TEST(R"del(efg1)del", "efg1", true); + TEST( R"del(abc)del", "abc", true); + TEST(R"del(efg1)del", "efg1", true); TEST( R"del(nig)del", "ger", false); - TEST( R"del(ss)del", "sss", true); + TEST( R"del(ss)del", "sss", true); TEST( R"del(sss)del", "ss", false); puts(""); - TEST( R"del(ab+c)del", "abc", true); - TEST(R"del(ef+g1)del", "effffg1", true); + TEST( R"del(ab+c)del", "abc", true); + TEST(R"del(ef+g1)del", "effffg1", true); TEST(R"del(efg1+)del", "efg", false); - TEST(R"del(efg1+)del", "efg1", true); - TEST(R"del(efg1+)del", "efg11", true); + TEST(R"del(efg1+)del", "efg1", true); + TEST(R"del(efg1+)del", "efg11", true); puts(""); - TEST( R"del(a+a)del", "aaa", true); - TEST( R"del(a+a)del", "aa", true); + TEST( R"del(a+a)del", "aaa", true); + TEST( R"del(a+a)del", "aa", true); TEST( R"del(a+a)del", "a", false); - TEST( R"del(a+a)del", "aaa", true); + TEST( R"del(a+a)del", "aaa", true); TEST(R"del(a+\+)del", "aaa", false); puts(""); @@ -37,27 +37,27 @@ signed main() { puts(""); - TEST( R"del(ne.)del", "net", true); + TEST( R"del(ne.)del", "net", true); TEST( R"del(ne.)del", "ne", false); - TEST(R"del(ne.+)del", "neoo", true); - TEST(R"del(ne.*)del", "neoo", true); - TEST(R"del(ne.*)del", "ne", true); + TEST(R"del(ne.+)del", "neoo", true); + TEST(R"del(ne.*)del", "neoo", true); + TEST(R"del(ne.*)del", "ne", true); puts(""); - TEST( R"del(ne.o)del", "neto", true); - TEST(R"del(ne.+o)del", "nettto", true); + TEST( R"del(ne.o)del", "neto", true); + TEST(R"del(ne.+o)del", "nettto", true); TEST(R"del(ne.+o)del", "neo", false); - TEST(R"del(ne.+o)del", "neoo", true); - TEST(R"del(ne.*o)del", "neo", true); + TEST(R"del(ne.+o)del", "neoo", true); + TEST(R"del(ne.*o)del", "neo", true); puts(""); - TEST(R"del(ne.)del", "ne\t", true); + TEST(R"del(ne.)del", "ne\t", true); TEST(R"del(ne\t)del", "ne", false); - TEST(R"del(ne\t)del", "ne\t", true); + TEST(R"del(ne\t)del", "ne\t", true); TEST(R"del(ne\t)del", "net", false); - TEST(R"del(ne)del", "ne\t", true); + TEST(R"del(ne)del", "ne\t", true); puts(""); @@ -69,35 +69,35 @@ signed main() { puts(""); - TEST( R"del([A-Za-z]+)del", "HelloWorld", true); - TEST(R"del([A-Za-z]+g)del", "HelloWorldg", true); + TEST( R"del([A-Za-z]+)del", "HelloWorld", true); + TEST(R"del([A-Za-z]+g)del", "HelloWorldg", true); TEST(R"del([A-Za-z]+g)del", "g", false); - TEST(R"del([A-Za-z]*g)del", "g", true); + TEST(R"del([A-Za-z]*g)del", "g", true); TEST(R"del([A-Za-z]+1)del", "1", false); puts(""); TEST( R"del([^0-9])del", "0", false); TEST( R"del([^A-Za-z])del", "HelloWorld", false); - TEST(R"del([^A-Za-z]+g)del", "313g", true); - TEST( R"del([^0-9])del", "HelloWorld", true); - TEST( R"del([^a])del", "ba", true); + TEST(R"del([^A-Za-z]+g)del", "313g", true); + TEST( R"del([^0-9])del", "HelloWorld", true); + TEST( R"del([^a])del", "ba", true); puts(""); - TEST( R"del(^\^)del", "^^", true); + TEST( R"del(^\^)del", "^^", true); TEST( R"del(^\^)del", " ^", false); - TEST(R"del(^ \^)del", " ^", true); - TEST( R"del(^a*)del", "asd", true); - TEST( R"del(^)del", "", true); + TEST(R"del(^ \^)del", " ^", true); + TEST( R"del(^a*)del", "asd", true); + TEST( R"del(^)del", "", true); puts(""); - TEST( R"del(\)del", "test", true); + TEST( R"del(\)del", "test", true); TEST( R"del(\)del", "testa", false); - TEST(R"del(\)del", "test", true); + TEST(R"del(\)del", "test", true); puts(""); @@ -127,28 +127,28 @@ signed main() { puts(""); puts(""); - TEST2( R"del(abc)del", "abc", match_t{ 0, strlen("abc")}); + TEST2( R"del(abc)del", "abc", match_t{ 0, strlen("abc")}); TEST2(R"del(efg1)del", "efg1", match_t{ 0, strlen("efg1")}); - TEST2( R"del(nig)del", "ger", match_t{-1, -1}); - TEST2( R"del(ss)del", "sss", match_t{ 0, 2}); - TEST2( R"del(sss)del", "ss", match_t{-1, -1}); + TEST2( R"del(nig)del", "ger", match_t{-1, -1}); + TEST2( R"del(ss)del", "sss", match_t{ 0, 2}); + TEST2( R"del(sss)del", "ss", match_t{-1, -1}); puts(""); puts(""); - TEST2( R"del(ab+c)del", "abc", match_t{ 0, strlen("abc")}); + TEST2( R"del(ab+c)del", "abc", match_t{ 0, strlen("abc")}); TEST2(R"del(ef+g1)del", "effffg1", match_t{ 0, strlen("effffg1")}); - TEST2(R"del(efg1+)del", "efg", match_t{-1, -1}); - TEST2(R"del(efg1+)del", "efg1", match_t{ 0, strlen("efg1")}); - TEST2(R"del(efg1+)del", "efg11", match_t{ 0, strlen("efg11")}); + TEST2(R"del(efg1+)del", "efg", match_t{-1, -1}); + TEST2(R"del(efg1+)del", "efg1", match_t{ 0, strlen("efg1")}); + TEST2(R"del(efg1+)del", "efg11", match_t{ 0, strlen("efg11")}); puts(""); puts(""); - TEST2( R"del(a+a)del", " aaa", match_t{ 1, strlen("aaa")}); - TEST2( R"del(a+a)del", " aa", match_t{ 1, strlen("aa")}); - TEST2( R"del(a+a)del", " a", match_t{-1, -1}); - TEST2( R"del(a+a)del", " aaa", match_t{ 3, strlen("aaa")}); + TEST2( R"del(a+a)del", " aaa", match_t{ 1, strlen("aaa")}); + TEST2( R"del(a+a)del", " aa", match_t{ 1, strlen("aa")}); + TEST2( R"del(a+a)del", " a", match_t{-1, -1}); + TEST2( R"del(a+a)del", " aaa", match_t{ 3, strlen("aaa")}); TEST2(R"del(a+\+)del", "aaa+", match_t{ 0, strlen("aaa+")}); puts("");