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

Add initial tests for head.

This commit is contained in:
Joseph Crail 2015-05-30 18:54:28 -04:00
parent 1580daea7c
commit 133a6c5563
6 changed files with 102 additions and 0 deletions

View file

@ -170,6 +170,7 @@ TEST_PROGS := \
false \
fold \
hashsum \
head \
mkdir \
mv \
nl \

24
test/fixtures/head/lorem_ipsum.txt vendored Normal file
View file

@ -0,0 +1,24 @@
Lorem ipsum dolor sit amet,
consectetur adipiscing elit.
Nunc interdum suscipit sem vel ornare.
Proin euismod,
justo sed mollis dictum,
eros urna ultricies augue,
eu pharetra mi ex id ante.
Duis convallis porttitor aliquam.
Nunc vitae tincidunt ex.
Suspendisse iaculis ligula ac diam consectetur lacinia.
Donec vel velit dui.
Etiam fringilla,
dolor quis tempor vehicula,
lacus turpis bibendum velit,
et pellentesque elit odio a magna.
Cras vulputate tortor non libero vehicula euismod.
Aliquam tincidunt nisl eget enim cursus,
viverra sagittis magna commodo.
Cras rhoncus egestas leo nec blandit.
Suspendisse potenti.
Etiam ullamcorper leo vel lacus vestibulum,
cursus semper eros efficitur.
In hac habitasse platea dictumst.
Phasellus scelerisque vehicula fringilla.

View file

@ -0,0 +1 @@
Lorem ipsum dolor sit amet,

View file

@ -0,0 +1 @@
Lorem

View file

@ -0,0 +1,10 @@
Lorem ipsum dolor sit amet,
consectetur adipiscing elit.
Nunc interdum suscipit sem vel ornare.
Proin euismod,
justo sed mollis dictum,
eros urna ultricies augue,
eu pharetra mi ex id ante.
Duis convallis porttitor aliquam.
Nunc vitae tincidunt ex.
Suspendisse iaculis ligula ac diam consectetur lacinia.

65
test/head.rs Normal file
View file

@ -0,0 +1,65 @@
use std::process::Command;
use util::*;
static PROGNAME: &'static str = "./head";
static INPUT: &'static str = "lorem_ipsum.txt";
#[path = "common/util.rs"]
#[macro_use]
mod util;
#[test]
fn test_stdin_default() {
let mut cmd = Command::new(PROGNAME);
let result = run_piped_stdin(&mut cmd, get_file_contents(INPUT));
assert_eq!(result.stdout, get_file_contents("lorem_ipsum_default.expected"));
}
#[test]
fn test_stdin_1_line_obsolete() {
let mut cmd = Command::new(PROGNAME);
let result = run_piped_stdin(&mut cmd.args(&["-1"]), get_file_contents(INPUT));
assert_eq!(result.stdout, get_file_contents("lorem_ipsum_1_line.expected"));
}
#[test]
fn test_stdin_1_line() {
let mut cmd = Command::new(PROGNAME);
let result = run_piped_stdin(&mut cmd.args(&["-n", "1"]), get_file_contents(INPUT));
assert_eq!(result.stdout, get_file_contents("lorem_ipsum_1_line.expected"));
}
#[test]
fn test_stdin_5_chars() {
let mut cmd = Command::new(PROGNAME);
let result = run_piped_stdin(&mut cmd.args(&["-c", "5"]), get_file_contents(INPUT));
assert_eq!(result.stdout, get_file_contents("lorem_ipsum_5_chars.expected"));
}
#[test]
fn test_single_default() {
let mut cmd = Command::new(PROGNAME);
let result = run(&mut cmd.arg(INPUT));
assert_eq!(result.stdout, get_file_contents("lorem_ipsum_default.expected"));
}
#[test]
fn test_single_1_line_obsolete() {
let mut cmd = Command::new(PROGNAME);
let result = run(&mut cmd.args(&["-1", INPUT]));
assert_eq!(result.stdout, get_file_contents("lorem_ipsum_1_line.expected"));
}
#[test]
fn test_single_1_line() {
let mut cmd = Command::new(PROGNAME);
let result = run(&mut cmd.args(&["-n", "1", INPUT]));
assert_eq!(result.stdout, get_file_contents("lorem_ipsum_1_line.expected"));
}
#[test]
fn test_single_5_chars() {
let mut cmd = Command::new(PROGNAME);
let result = run(&mut cmd.args(&["-c", "5", INPUT]));
assert_eq!(result.stdout, get_file_contents("lorem_ipsum_5_chars.expected"));
}