mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-28 11:37:44 +00:00
expr: Add tests for regex range quantifiers
This commit is contained in:
parent
7789ef46a4
commit
bbc912eb75
1 changed files with 68 additions and 0 deletions
|
@ -406,6 +406,74 @@ fn test_regex_dollar() {
|
||||||
.stdout_only("0\n");
|
.stdout_only("0\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_regex_range_quantifier() {
|
||||||
|
new_ucmd!()
|
||||||
|
.args(&["a", ":", "a\\{1\\}"])
|
||||||
|
.succeeds()
|
||||||
|
.stdout_only("1\n");
|
||||||
|
new_ucmd!()
|
||||||
|
.args(&["aaaaaaaaaa", ":", "a\\{1,\\}"])
|
||||||
|
.succeeds()
|
||||||
|
.stdout_only("10\n");
|
||||||
|
new_ucmd!()
|
||||||
|
.args(&["aaa", ":", "a\\{,3\\}"])
|
||||||
|
.succeeds()
|
||||||
|
.stdout_only("3\n");
|
||||||
|
new_ucmd!()
|
||||||
|
.args(&["aa", ":", "a\\{1,3\\}"])
|
||||||
|
.succeeds()
|
||||||
|
.stdout_only("2\n");
|
||||||
|
new_ucmd!()
|
||||||
|
.args(&["aaaa", ":", "a\\{,\\}"])
|
||||||
|
.succeeds()
|
||||||
|
.stdout_only("4\n");
|
||||||
|
new_ucmd!()
|
||||||
|
.args(&["a", ":", "ab\\{,3\\}"])
|
||||||
|
.succeeds()
|
||||||
|
.stdout_only("1\n");
|
||||||
|
new_ucmd!()
|
||||||
|
.args(&["abbb", ":", "ab\\{,3\\}"])
|
||||||
|
.succeeds()
|
||||||
|
.stdout_only("4\n");
|
||||||
|
new_ucmd!()
|
||||||
|
.args(&["abcabc", ":", "\\(abc\\)\\{,\\}"])
|
||||||
|
.succeeds()
|
||||||
|
.stdout_only("abc\n");
|
||||||
|
new_ucmd!()
|
||||||
|
.args(&["a", ":", "a\\{,6\\}"])
|
||||||
|
.succeeds()
|
||||||
|
.stdout_only("1\n");
|
||||||
|
new_ucmd!()
|
||||||
|
.args(&["{abc}", ":", "\\{abc\\}"])
|
||||||
|
.succeeds()
|
||||||
|
.stdout_only("5\n");
|
||||||
|
new_ucmd!()
|
||||||
|
.args(&["a{bc}", ":", "a\\(\\{bc\\}\\)"])
|
||||||
|
.succeeds()
|
||||||
|
.stdout_only("{bc}\n");
|
||||||
|
new_ucmd!()
|
||||||
|
.args(&["{b}", ":", "a\\|\\{b\\}"])
|
||||||
|
.succeeds()
|
||||||
|
.stdout_only("3\n");
|
||||||
|
new_ucmd!()
|
||||||
|
.args(&["{", ":", "a\\|\\{"])
|
||||||
|
.succeeds()
|
||||||
|
.stdout_only("1\n");
|
||||||
|
new_ucmd!()
|
||||||
|
.args(&["{}}}", ":", "\\{\\}\\}\\}"])
|
||||||
|
.succeeds()
|
||||||
|
.stdout_only("4\n");
|
||||||
|
new_ucmd!()
|
||||||
|
.args(&["a{}}}", ":", "a\\{\\}\\}\\}"])
|
||||||
|
.fails()
|
||||||
|
.stderr_only("expr: Invalid content of \\{\\}\n");
|
||||||
|
new_ucmd!()
|
||||||
|
.args(&["ab", ":", "ab\\{\\}"])
|
||||||
|
.fails()
|
||||||
|
.stderr_only("expr: Invalid content of \\{\\}\n");
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_substr() {
|
fn test_substr() {
|
||||||
new_ucmd!()
|
new_ucmd!()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue