fmt: add basic tests for split-only, prefix, and skip-prefix args

This commit is contained in:
Ben Wiederhake 2024-05-05 04:56:12 +02:00
parent e76f92c212
commit a13949b4ba
5 changed files with 127 additions and 0 deletions

View file

@ -185,3 +185,74 @@ fn test_fmt_set_goal_not_contain_width() {
.stdout_is("this is a file with one word per line\n");
}
}
#[test]
fn split_does_not_reflow() {
for arg in ["-s", "-ss", "--split-only"] {
new_ucmd!()
.arg("one-word-per-line.txt")
.arg(arg)
.succeeds()
.stdout_is_fixture("one-word-per-line.txt");
}
}
#[test]
fn prefix_minus() {
for prefix_args in [
vec!["-p-"],
vec!["-p", "-"],
vec!["--prefix=-"],
vec!["--prefix", "-"],
vec!["--pref=-"],
vec!["--pref", "-"],
// Test self-overriding:
vec!["--prefix==", "--prefix=-"],
] {
new_ucmd!()
.args(&prefix_args)
.arg("prefixed-one-word-per-line.txt")
.succeeds()
.stdout_is_fixture("prefixed-one-word-per-line_p-.txt");
}
}
#[test]
fn prefix_equal() {
for prefix_args in [
// FIXME: #6353 vec!["-p="],
vec!["-p", "="],
vec!["--prefix=="],
vec!["--prefix", "="],
vec!["--pref=="],
vec!["--pref", "="],
// Test self-overriding:
vec!["--prefix=-", "--prefix=="],
] {
new_ucmd!()
.args(&prefix_args)
.arg("prefixed-one-word-per-line.txt")
.succeeds()
.stdout_is_fixture("prefixed-one-word-per-line_p=.txt");
}
}
#[test]
fn prefix_equal_skip_prefix_equal_two() {
for prefix_args in [
// FIXME: #6353 vec!["--prefix==", "-P=2"],
vec!["--prefix==", "-P", "=2"],
vec!["--prefix==", "--skip-prefix==2"],
vec!["--prefix==", "--skip-prefix", "=2"],
vec!["--prefix==", "--skip-pref==2"],
vec!["--prefix==", "--skip-pref", "=2"],
// Test self-overriding:
vec!["--prefix==", "--skip-pref", "asdf", "-P", "=2"],
] {
new_ucmd!()
.args(&prefix_args)
.arg("prefixed-one-word-per-line.txt")
.succeeds()
.stdout_is_fixture("prefixed-one-word-per-line_p=_P=2.txt");
}
}

View file

@ -0,0 +1,19 @@
- this
- is
- a
- file
- with
- one
- word
- per
- line
=1this
=1is
=1a
=2file
=2with
=2one
=3word
=3per
=3line

View file

@ -0,0 +1,11 @@
- this is a file with one word per line
=1this
=1is
=1a
=2file
=2with
=2one
=3word
=3per
=3line

View file

@ -0,0 +1,11 @@
- this
- is
- a
- file
- with
- one
- word
- per
- line
=1this 1is 1a 2file 2with 2one 3word 3per 3line

View file

@ -0,0 +1,15 @@
- this
- is
- a
- file
- with
- one
- word
- per
- line
=1this 1is 1a
=2file
=2with
=2one
=3word 3per 3line