From 391868233938cc965815c89dd2b76928cb4158ab Mon Sep 17 00:00:00 2001 From: Aadhavan Srinivasan Date: Tue, 28 Jan 2025 15:52:11 -0500 Subject: [PATCH] Added more tests --- re_test.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/re_test.go b/re_test.go index 06189ce..749a999 100644 --- a/re_test.go +++ b/re_test.go @@ -430,6 +430,22 @@ var reTests = []struct { {`\0009`, []ReFlag{RE_CASE_INSENSITIVE}, "\x009", []Group{{0, 2}}}, {`\141`, []ReFlag{RE_CASE_INSENSITIVE}, "A", []Group{{0, 1}}}, + {`a[-]?c`, []ReFlag{RE_CASE_INSENSITIVE}, `AC`, []Group{{0, 2}}}, + + {`a(?!b).`, nil, `abad`, []Group{{2, 4}}}, + {`a(?=d).`, nil, `abad`, []Group{{2, 4}}}, + {`a(?=c|d).`, nil, `abad`, []Group{{2, 4}}}, + + {`^abc`, nil, "jkl\nabc\nxyz", []Group{}}, + {`^abc`, []ReFlag{RE_MULTILINE}, "jkl\nabc\nxyz", []Group{{4, 7}}}, + {`abc$`, nil, "jkl\nabc\nxyz", []Group{}}, + {`abc$`, []ReFlag{RE_MULTILINE}, "jkl\nabc\nxyz", []Group{{4, 7}}}, + {`abc$`, []ReFlag{RE_MULTILINE}, "jkl\n123abc\nxyz", []Group{{7, 10}}}, + {`^`, nil, "jkl\n123abc\nxyz", []Group{{0, 0}}}, + {`^`, []ReFlag{RE_MULTILINE}, "jkl\n123abc\nxyz", []Group{{0, 0}, {4, 4}, {11, 11}}}, + {`$`, nil, "jkl\n123abc\nxyz", []Group{{14, 14}}}, + {`$`, []ReFlag{RE_MULTILINE}, "jkl\n123abc\nxyz", []Group{{3, 3}, {10, 10}, {14, 14}}}, + // Todo - add numeric range tests } @@ -563,6 +579,15 @@ var groupTests = []struct { {`([abc])*d`, []ReFlag{RE_CASE_INSENSITIVE}, `ABBBCD`, []Match{[]Group{{0, 6}, {4, 5}}}}, {`([abc])*bcd`, []ReFlag{RE_CASE_INSENSITIVE}, `ABCD`, []Match{[]Group{{0, 4}, {0, 1}}}}, {`^(ab|cd)e`, []ReFlag{RE_CASE_INSENSITIVE}, `ABCDE`, []Match{}}, + + {`(?:(?:(?:(?:(?:(?:a))))))`, nil, `a`, []Match{[]Group{{0, 1}}}}, + {`a(?:b|c|d)(.)`, nil, `ace`, []Match{[]Group{{0, 3}, {2, 3}}}}, + {`a(?:b|c|d)*(.)`, nil, `ace`, []Match{[]Group{{0, 3}, {2, 3}}}}, + {`a(?:b|c|d)+(.)`, nil, `ace`, []Match{[]Group{{0, 3}, {2, 3}}}}, + {`a(?:b|(c|e){1,2}?|d)+?(.)`, nil, `ace`, []Match{[]Group{{0, 3}, {1, 2}, {2, 3}}}}, + {`(?