Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/bats-core/bats-assert.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Thiessen <alex.thiessen.de+github@gmail.com>2022-05-28 23:54:17 +0300
committerAlex Thiessen <alex.thiessen.de+github@gmail.com>2022-05-29 00:24:50 +0300
commitd950f28c38556bacabeb700cec1837f527b16504 (patch)
tree5e9cb955abade7a197a1b11d4ac9edf1c3cebec0
parentedb230010a64e2bea1c9411c7ed3bed4620bcec2 (diff)
{src,test}/assert_regex: Make case-sensitivity transparent
-rw-r--r--src/assert_regex.bash6
-rw-r--r--test/assert_regex.bats18
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
}