diff options
author | Alex Thiessen <alex.thiessen.de+github@gmail.com> | 2022-05-28 23:54:17 +0300 |
---|---|---|
committer | Alex Thiessen <alex.thiessen.de+github@gmail.com> | 2022-05-29 00:24:50 +0300 |
commit | d950f28c38556bacabeb700cec1837f527b16504 (patch) | |
tree | 5e9cb955abade7a197a1b11d4ac9edf1c3cebec0 | |
parent | edb230010a64e2bea1c9411c7ed3bed4620bcec2 (diff) |
{src,test}/assert_regex: Make case-sensitivity transparent
-rw-r--r-- | src/assert_regex.bash | 6 | ||||
-rw-r--r-- | test/assert_regex.bats | 18 |
2 files changed, 24 insertions, 0 deletions
diff --git a/src/assert_regex.bash b/src/assert_regex.bash index 1dd2081..636318e 100644 --- a/src/assert_regex.bash +++ b/src/assert_regex.bash @@ -41,9 +41,15 @@ assert_regex() { | batslib_decorate 'ERROR: assert_regex' \ | fail elif ! [[ "${value}" =~ ${pattern} ]]; then + if shopt -p nocasematch &>/dev/null; then + local case_sensitive=insensitive + else + local case_sensitive=sensitive + fi batslib_print_kv_single_or_multi 8 \ 'value' "${value}" \ 'pattern' "${pattern}" \ + 'case' "${case_sensitive}" \ | batslib_decorate 'value does not match regular expression' \ | fail fi diff --git a/test/assert_regex.bats b/test/assert_regex.bats index 0771320..ef9c3a8 100644 --- a/test/assert_regex.bats +++ b/test/assert_regex.bats @@ -19,6 +19,7 @@ load test_helper -- value does not match regular expression -- value : bcd pattern : ^[a-z]b[c-z]+ +case : sensitive -- ERR_MSG } @@ -47,6 +48,23 @@ value (2 lines): 123 pattern (1 lines): ^[a-z]b[c-z]+ +case (1 lines): + sensitive +-- +ERR_MSG + + shopt -s nocasematch + run assert_regex $'bcd\n123' '^[a-z]b[c-z]+' + assert_test_fail <<'ERR_MSG' + +-- value does not match regular expression -- +value (2 lines): + bcd + 123 +pattern (1 lines): + ^[a-z]b[c-z]+ +case (1 lines): + insensitive -- ERR_MSG } |