1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-29 12:07:46 +00:00

Add tests for cut.

This commit is contained in:
Joseph Crail 2015-07-31 00:14:58 -04:00
parent ab5a5ba9e9
commit 929474040b
10 changed files with 91 additions and 0 deletions

View file

@ -166,6 +166,7 @@ TEST_PROGS := \
basename \ basename \
cat \ cat \
cp \ cp \
cut \
env \ env \
dirname \ dirname \
echo \ echo \

58
test/cut.rs Normal file
View file

@ -0,0 +1,58 @@
use std::process::Command;
use util::*;
static PROGNAME: &'static str = "./cut";
static INPUT: &'static str = "lists.txt";
#[path = "common/util.rs"]
#[macro_use]
mod util;
#[test]
fn test_prefix() {
let mut cmd = Command::new(PROGNAME);
let result = run(&mut cmd.args(&["-c", "-10", INPUT]));
assert_eq!(result.stdout, get_file_contents("lists_prefix.expected"));
}
#[test]
fn test_char_range() {
let mut cmd = Command::new(PROGNAME);
let result = run(&mut cmd.args(&["-c", "4-10", INPUT]));
assert_eq!(result.stdout, get_file_contents("lists_char_range.expected"));
}
#[test]
fn test_column_to_end_of_line() {
let mut cmd = Command::new(PROGNAME);
let result = run(&mut cmd.args(&["-d", ":", "-f", "5-", INPUT]));
assert_eq!(result.stdout, get_file_contents("lists_column_to_end_of_line.expected"));
}
#[test]
fn test_specific_field() {
let mut cmd = Command::new(PROGNAME);
let result = run(&mut cmd.args(&["-d", " ", "-f", "3", INPUT]));
assert_eq!(result.stdout, get_file_contents("lists_specific_field.expected"));
}
#[test]
fn test_multiple_fields() {
let mut cmd = Command::new(PROGNAME);
let result = run(&mut cmd.args(&["-d", ":", "-f", "1,3", INPUT]));
assert_eq!(result.stdout, get_file_contents("lists_multiple_fields.expected"));
}
#[test]
fn test_tail() {
let mut cmd = Command::new(PROGNAME);
let result = run(&mut cmd.args(&["-d", ":", "--complement", "-f", "1", INPUT]));
assert_eq!(result.stdout, get_file_contents("lists_tail.expected"));
}
#[test]
fn test_change_delimiter() {
let mut cmd = Command::new(PROGNAME);
let result = run(&mut cmd.args(&["-d", ":", "--complement", "--output-delimiter=#", "-f", "1", INPUT]));
assert_eq!(result.stdout, get_file_contents("lists_change_delimiter.expected"));
}

4
test/fixtures/cut/lists.txt vendored Normal file
View file

@ -0,0 +1,4 @@
foo:bar:baz:qux:quux
one:two:three:four:five:six:seven
alpha:beta:gamma:delta:epsilon:zeta:eta:theta:iota:kappa:lambda:mu
the quick brown fox jumps over the lazy dog

View file

@ -0,0 +1,4 @@
bar#baz#qux#quux
two#three#four#five#six#seven
beta#gamma#delta#epsilon#zeta#eta#theta#iota#kappa#lambda#mu
the quick brown fox jumps over the lazy dog

View file

@ -0,0 +1,4 @@
:bar:ba
:two:th
ha:beta
quick

View file

@ -0,0 +1,4 @@
quux
five:six:seven
epsilon:zeta:eta:theta:iota:kappa:lambda:mu
the quick brown fox jumps over the lazy dog

View file

@ -0,0 +1,4 @@
foo:baz
one:three
alpha:gamma
the quick brown fox jumps over the lazy dog

View file

@ -0,0 +1,4 @@
foo:bar:ba
one:two:th
alpha:beta
the quick

View file

@ -0,0 +1,4 @@
foo:bar:baz:qux:quux
one:two:three:four:five:six:seven
alpha:beta:gamma:delta:epsilon:zeta:eta:theta:iota:kappa:lambda:mu
brown

4
test/fixtures/cut/lists_tail.expected vendored Normal file
View file

@ -0,0 +1,4 @@
bar:baz:qux:quux
two:three:four:five:six:seven
beta:gamma:delta:epsilon:zeta:eta:theta:iota:kappa:lambda:mu
the quick brown fox jumps over the lazy dog