From fb003b718efd699ec66c9fe431fd48d50bf296f4 Mon Sep 17 00:00:00 2001 From: "K.Kosako" Date: Mon, 18 Feb 2019 17:12:44 +0900 Subject: [PATCH] add test cases for improve coverage --- test/test_utf8.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/test/test_utf8.c b/test/test_utf8.c index ec7726d..4652426 100644 --- a/test/test_utf8.c +++ b/test/test_utf8.c @@ -141,7 +141,9 @@ extern int main(int argc, char* argv[]) x2("", "", 0, 0); x2("^", "", 0, 0); + x2("^a", "\na", 1, 2); x2("$", "", 0, 0); + x2("$\\O", "bb\n", 2, 3); x2("\\G", "", 0, 0); x2("\\A", "", 0, 0); x2("\\Z", "", 0, 0); @@ -176,6 +178,7 @@ extern int main(int argc, char* argv[]) n("\\D", "4"); x2("\\b", "z ", 0, 0); x2("\\b", " z", 1, 1); + x2("\\b", " z ", 2, 2); x2("\\B", "zz ", 1, 1); x2("\\B", "z ", 2, 2); x2("\\B", " z", 0, 0); @@ -576,6 +579,7 @@ extern int main(int argc, char* argv[]) x2("(?\\(([^\\(\\)]++|\\g)*+\\))", "((a))", 0, 5); x2("()*\\1", "", 0, 0); x2("(?:()|())*\\1\\2", "", 0, 0); + x2("(?:a*|b*)*c", "abadc", 4, 5); x3("(?:\\1a|())*", "a", 0, 0, 1); x2("x((.)*)*x", "0x1x2x3", 1, 6); x2("x((.)*)*x(?i:\\1)\\Z", "0x1x2x1X2", 1, 9); @@ -585,6 +589,10 @@ extern int main(int argc, char* argv[]) n("[0-9-a]", ":"); // PR#44 x3("(\\(((?:[^(]|\\g<1>)*)\\))", "(abc)(abc)", 1, 4, 2); // PR#43 x2("\\o{101}", "A", 0, 1); + x2("\\A(a|b\\g<1>c)\\k<1+3>\\z", "bbacca", 0, 6); + n("\\A(a|b\\g<1>c)\\k<1+3>\\z", "bbaccb"); + x2("(?i)\\A(a|b\\g<1>c)\\k<1+2>\\z", "bBACcbac", 0, 8); + x2("(?i)(?aa)|(?bb)\\k", "BBbb", 0, 4); x2("(?:\\k'+1'B|(A)C)*", "ACAB", 0, 4); // relative backref by postitive number x2("\\g<+2>(abc)(ABC){0}", "ABCabc", 0, 6); // relative call by positive number x2("A\\g'0'|B()", "AAAAB", 0, 5); @@ -957,6 +965,8 @@ extern int main(int argc, char* argv[]) x2("aバージョンのダウンロード<\\/b>", "aバージョンのダウンロード", 0, 44); x2(".バージョンのダウンロード<\\/b>", "aバージョンのダウンロード", 0, 44); x2("\\n?\\z", "こんにちは", 15, 15); + x2("(?m).*", "青赤黄", 0, 9); + x2("(?m).*a", "青赤黄a", 0, 10); x2("\\p{Hiragana}", "ぴ", 0, 3); n("\\P{Hiragana}", "ぴ"); -- 2.50.1