mirror of
https://github.com/uutils/coreutils.git
synced 2026-06-10 15:48:22 -07:00
tr: add -c/-d tests
This commit is contained in:
+17
-5
@@ -1,7 +1,7 @@
|
||||
use std::io::process::Command;
|
||||
|
||||
fn run(input: &str, set1: &str, set2: &str) -> Vec<u8> {
|
||||
let mut process = Command::new("build/tr").arg(set1).arg(set2).spawn().unwrap();
|
||||
fn run(input: &str, args: &[&'static str]) -> Vec<u8> {
|
||||
let mut process = Command::new("build/tr").args(args).spawn().unwrap();
|
||||
|
||||
process.stdin.take_unwrap().write_str(input).unwrap();
|
||||
|
||||
@@ -14,20 +14,32 @@ fn run(input: &str, set1: &str, set2: &str) -> Vec<u8> {
|
||||
|
||||
#[test]
|
||||
fn test_toupper() {
|
||||
let out = run("!abcd!", "a-z", "A-Z");
|
||||
let out = run("!abcd!", ["a-z", "A-Z"]);
|
||||
assert_eq!(out.as_slice(), bytes!("!ABCD!"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_small_set2() {
|
||||
let out = run("@0123456789", "0-9", "X");
|
||||
let out = run("@0123456789", ["0-9", "X"]);
|
||||
assert_eq!(out.as_slice(), bytes!("@XXXXXXXXXX"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_unicode() {
|
||||
let out = run("(,°□°), ┬─┬", ", ┬─┬", "╯︵┻━┻");
|
||||
let out = run("(,°□°), ┬─┬", [", ┬─┬", "╯︵┻━┻"]);
|
||||
assert_eq!(out.as_slice(), bytes!("(╯°□°)╯︵┻━┻"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_delete() {
|
||||
let out = run("aBcD", ["-d", "a-z"]);
|
||||
assert_eq!(out.as_slice(), bytes!("BD"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_delete_complement() {
|
||||
let out = run("aBcD", ["-d", "-c", "a-z"]);
|
||||
assert_eq!(out.as_slice(), bytes!("ac"));
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user