diff options
| author | Feoramund <161657516+Feoramund@users.noreply.github.com> | 2025-05-24 06:02:50 -0400 |
|---|---|---|
| committer | Feoramund <161657516+Feoramund@users.noreply.github.com> | 2025-05-24 07:42:04 -0400 |
| commit | 37d6491300269502341d7f5ea455ae089a36ce06 (patch) | |
| tree | a4333515cb43f2a34e802e36a953de4324272c95 /tests | |
| parent | fedb9efb413dda3f2d9d4bbb39050219f8c0f394 (diff) | |
Remove `Global` RegEx flag, default to unanchored patterns
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/benchmark/text/regex/benchmark_regex.odin | 10 | ||||
| -rw-r--r-- | tests/core/text/regex/test_core_text_regex.odin | 24 |
2 files changed, 18 insertions, 16 deletions
diff --git a/tests/benchmark/text/regex/benchmark_regex.odin b/tests/benchmark/text/regex/benchmark_regex.odin index 8d29888a3..73d19ad0f 100644 --- a/tests/benchmark/text/regex/benchmark_regex.odin +++ b/tests/benchmark/text/regex/benchmark_regex.odin @@ -103,9 +103,11 @@ expensive_for_backtrackers :: proc(t: ^testing.T) { @test global_capture_end_word :: proc(t: ^testing.T) { + // NOTE: The previous behavior of `.Global`, which was to automatically + // insert `.*?` at the start of the pattern, is now default. EXPR :: `Hellope World!` - rex, err := regex.create(EXPR, { .Global }) + rex, err := regex.create(EXPR, { /*.Global*/ }) if !testing.expect_value(t, err, nil) { return } @@ -145,7 +147,7 @@ global_capture_end_word_unicode :: proc(t: ^testing.T) { EXPR :: `こにちは` needle := string(EXPR) - rex, err := regex.create(EXPR, { .Global, .Unicode }) + rex, err := regex.create(EXPR, { /*.Global,*/ .Unicode }) if !testing.expect_value(t, err, nil) { return } @@ -185,7 +187,7 @@ global_capture_end_word_unicode :: proc(t: ^testing.T) { alternations :: proc(t: ^testing.T) { EXPR :: `a(?:bb|cc|dd|ee|ff)` - rex, err := regex.create(EXPR, { .No_Capture, .Global }) + rex, err := regex.create(EXPR, { .No_Capture, /*.Global*/ }) if !testing.expect_value(t, err, nil) { return } @@ -219,7 +221,7 @@ classes :: proc(t: ^testing.T) { EXPR :: `[\w\d]+` NEEDLE :: "0123456789abcdef" - rex, err := regex.create(EXPR, { .Global }) + rex, err := regex.create(EXPR, { /*.Global*/ }) if !testing.expect_value(t, err, nil) { return } diff --git a/tests/core/text/regex/test_core_text_regex.odin b/tests/core/text/regex/test_core_text_regex.odin index 8b4e3f997..696a2dc48 100644 --- a/tests/core/text/regex/test_core_text_regex.odin +++ b/tests/core/text/regex/test_core_text_regex.odin @@ -51,13 +51,13 @@ check_expression_with_flags :: proc(t: ^testing.T, pattern: string, flags: regex } check_expression :: proc(t: ^testing.T, pattern, haystack: string, needles: ..string, extra_flags := regex.Flags{}, loc := #caller_location) { - check_expression_with_flags(t, pattern, { .Global } + extra_flags, + check_expression_with_flags(t, pattern, extra_flags, haystack, ..needles, loc = loc) - check_expression_with_flags(t, pattern, { .Global, .No_Optimization } + extra_flags, + check_expression_with_flags(t, pattern, { .No_Optimization } + extra_flags, haystack, ..needles, loc = loc) - check_expression_with_flags(t, pattern, { .Global, .Unicode } + extra_flags, + check_expression_with_flags(t, pattern, { .Unicode } + extra_flags, haystack, ..needles, loc = loc) - check_expression_with_flags(t, pattern, { .Global, .Unicode, .No_Optimization } + extra_flags, + check_expression_with_flags(t, pattern, { .Unicode, .No_Optimization } + extra_flags, haystack, ..needles, loc = loc) } @@ -516,7 +516,7 @@ test_pos_index_explicitly :: proc(t: ^testing.T) { STR :: "This is an island." EXPR :: `\bis\b` - rex, err := regex.create(EXPR, { .Global }) + rex, err := regex.create(EXPR) if !testing.expect_value(t, err, nil) { return } @@ -642,9 +642,9 @@ test_unicode_explicitly :: proc(t: ^testing.T) { } { EXPR :: "こにちは!" - check_expression_with_flags(t, EXPR, { .Global, .Unicode }, + check_expression_with_flags(t, EXPR, { .Unicode }, "Hello こにちは!", "こにちは!") - check_expression_with_flags(t, EXPR, { .Global, .Unicode, .No_Optimization }, + check_expression_with_flags(t, EXPR, { .Unicode, .No_Optimization }, "Hello こにちは!", "こにちは!") } } @@ -901,12 +901,12 @@ test_everything_at_once :: proc(t: ^testing.T) { @test test_creation_from_user_string :: proc(t: ^testing.T) { { - USER_EXPR :: `/^hellope$/gmixun-` + USER_EXPR :: `/^hellope$/mixun-` STR :: "hellope" rex, err := regex.create_by_user(USER_EXPR) defer regex.destroy(rex) testing.expect_value(t, err, nil) - testing.expect_value(t, rex.flags, regex.Flags{ .Global, .Multiline, .Case_Insensitive, .Ignore_Whitespace, .Unicode, .No_Capture, .No_Optimization }) + testing.expect_value(t, rex.flags, regex.Flags{ .Multiline, .Case_Insensitive, .Ignore_Whitespace, .Unicode, .No_Capture, .No_Optimization }) _, ok := regex.match(rex, STR) testing.expectf(t, ok, "expected user-provided RegEx %v to match %q", rex, STR) @@ -1102,14 +1102,14 @@ Iterator_Test :: struct { iterator_vectors := []Iterator_Test{ { - `xxab32ab52xx`, `(ab\d{1})`, {}, // {.Global} implicitly added by the iterator + `xxab32ab52xx`, `(ab\d{1})`, {}, { {pos = {{2, 5}, {2, 5}}, groups = {"ab3", "ab3"}}, {pos = {{6, 9}, {6, 9}}, groups = {"ab5", "ab5"}}, }, }, { - `xxfoobarxfoobarxx`, `f(o)ob(ar)`, {.Global}, + `xxfoobarxfoobarxx`, `f(o)ob(ar)`, {}, { {pos = {{2, 8}, {3, 4}, {6, 8}}, groups = {"foobar", "o", "ar"}}, {pos = {{9, 15}, {10, 11}, {13, 15}}, groups = {"foobar", "o", "ar"}}, @@ -1135,4 +1135,4 @@ test_match_iterator :: proc(t: ^testing.T) { } testing.expect_value(t, it.idx, len(test.expected)) } -}
\ No newline at end of file +} |