Cleanup the transform_text tests.

This commit is contained in:
Ms2ger 2014-12-28 11:27:55 +01:00
parent aa18c84f0c
commit 767d0e11bf

View file

@ -144,155 +144,106 @@ fn test_true_type_tag() {
#[test] #[test]
fn test_transform_compress_none() { fn test_transform_compress_none() {
let test_strs = vec!( let test_strs = [
" foo bar", " foo bar",
"foo bar ", "foo bar ",
"foo\n bar", "foo\n bar",
"foo \nbar", "foo \nbar",
" foo bar \nbaz", " foo bar \nbaz",
"foo bar baz", "foo bar baz",
"foobarbaz\n\n" "foobarbaz\n\n",
); ];
let mode = CompressionMode::CompressNone;
for test in test_strs.iter() { let mode = CompressionMode::CompressNone;
let mut new_line_pos = vec!(); for &test in test_strs.iter() {
let mut new_line_pos = vec![];
let mut trimmed_str = String::new(); let mut trimmed_str = String::new();
transform_text(*test, mode, true, &mut trimmed_str, &mut new_line_pos); transform_text(test, mode, true, &mut trimmed_str, &mut new_line_pos);
assert_eq!(trimmed_str.as_slice(), *test) assert_eq!(trimmed_str.as_slice(), test)
} }
} }
#[test] #[test]
fn test_transform_discard_newline() { fn test_transform_discard_newline() {
let test_strs = vec!( let test_strs = [
" foo bar", (" foo bar", " foo bar"),
"foo bar ", ("foo bar ", "foo bar "),
"foo\n bar", ("foo\n bar", "foo bar"),
"foo \nbar", ("foo \nbar", "foo bar"),
" foo bar \nbaz", (" foo bar \nbaz", " foo bar baz"),
"foo bar baz", ("foo bar baz", "foo bar baz"),
"foobarbaz\n\n" ("foobarbaz\n\n", "foobarbaz"),
); ];
let oracle_strs = vec!(
" foo bar",
"foo bar ",
"foo bar",
"foo bar",
" foo bar baz",
"foo bar baz",
"foobarbaz"
);
assert_eq!(test_strs.len(), oracle_strs.len());
let mode = CompressionMode::DiscardNewline; let mode = CompressionMode::DiscardNewline;
for &(test, oracle) in test_strs.iter() {
for (test, oracle) in test_strs.iter().zip(oracle_strs.iter()) { let mut new_line_pos = vec![];
let mut new_line_pos = vec!();
let mut trimmed_str = String::new(); let mut trimmed_str = String::new();
transform_text(*test, mode, true, &mut trimmed_str, &mut new_line_pos); transform_text(test, mode, true, &mut trimmed_str, &mut new_line_pos);
assert_eq!(trimmed_str.as_slice(), *oracle) assert_eq!(trimmed_str.as_slice(), oracle)
} }
} }
#[test] #[test]
fn test_transform_compress_whitespace() { fn test_transform_compress_whitespace() {
let test_strs = vec![ let test_strs = [
" foo bar", (" foo bar", "foo bar"),
"foo bar ", ("foo bar ", "foo bar "),
"foo\n bar", ("foo\n bar", "foo\n bar"),
"foo \nbar", ("foo \nbar", "foo \nbar"),
" foo bar \nbaz", (" foo bar \nbaz", "foo bar \nbaz"),
"foo bar baz", ("foo bar baz", "foo bar baz"),
"foobarbaz\n\n", ("foobarbaz\n\n", "foobarbaz\n\n"),
]; ];
let oracle_strs = vec![
"foo bar",
"foo bar ",
"foo\n bar",
"foo \nbar",
"foo bar \nbaz",
"foo bar baz",
"foobarbaz\n\n",
];
assert_eq!(test_strs.len(), oracle_strs.len());
let mode = CompressionMode::CompressWhitespace; let mode = CompressionMode::CompressWhitespace;
for &(test, oracle) in test_strs.iter() {
for (test, oracle) in test_strs.iter().zip(oracle_strs.iter()) {
let mut new_line_pos = vec![]; let mut new_line_pos = vec![];
let mut trimmed_str = String::new(); let mut trimmed_str = String::new();
transform_text(*test, mode, true, &mut trimmed_str, &mut new_line_pos); transform_text(test, mode, true, &mut trimmed_str, &mut new_line_pos);
assert_eq!(&*trimmed_str, *oracle) assert_eq!(&*trimmed_str, oracle)
} }
} }
#[test] #[test]
fn test_transform_compress_whitespace_newline() { fn test_transform_compress_whitespace_newline() {
let test_strs = vec![ let test_strs = vec![
" foo bar", (" foo bar", "foo bar"),
"foo bar ", ("foo bar ", "foo bar "),
"foo\n bar", ("foo\n bar", "foo bar"),
"foo \nbar", ("foo \nbar", "foo bar"),
" foo bar \nbaz", (" foo bar \nbaz", "foo bar baz"),
"foo bar baz", ("foo bar baz", "foo bar baz"),
"foobarbaz\n\n" ("foobarbaz\n\n", "foobarbaz "),
]; ];
let oracle_strs = vec![
"foo bar",
"foo bar ",
"foo bar",
"foo bar",
"foo bar baz",
"foo bar baz",
"foobarbaz "
];
assert_eq!(test_strs.len(), oracle_strs.len());
let mode = CompressionMode::CompressWhitespaceNewline; let mode = CompressionMode::CompressWhitespaceNewline;
for &(test, oracle) in test_strs.iter() {
for (test, oracle) in test_strs.iter().zip(oracle_strs.iter()) {
let mut new_line_pos = vec![]; let mut new_line_pos = vec![];
let mut trimmed_str = String::new(); let mut trimmed_str = String::new();
transform_text(*test, mode, true, &mut trimmed_str, &mut new_line_pos); transform_text(test, mode, true, &mut trimmed_str, &mut new_line_pos);
assert_eq!(&*trimmed_str, *oracle) assert_eq!(&*trimmed_str, oracle)
} }
} }
#[test] #[test]
fn test_transform_compress_whitespace_newline_no_incoming() { fn test_transform_compress_whitespace_newline_no_incoming() {
let test_strs = vec!( let test_strs = [
" foo bar", (" foo bar", " foo bar"),
"\nfoo bar", ("\nfoo bar", " foo bar"),
"foo bar ", ("foo bar ", "foo bar "),
"foo\n bar", ("foo\n bar", "foo bar"),
"foo \nbar", ("foo \nbar", "foo bar"),
" foo bar \nbaz", (" foo bar \nbaz", " foo bar baz"),
"foo bar baz", ("foo bar baz", "foo bar baz"),
"foobarbaz\n\n" ("foobarbaz\n\n", "foobarbaz "),
); ];
let oracle_strs = vec!(
" foo bar",
" foo bar",
"foo bar ",
"foo bar",
"foo bar",
" foo bar baz",
"foo bar baz",
"foobarbaz "
);
assert_eq!(test_strs.len(), oracle_strs.len());
let mode = CompressionMode::CompressWhitespaceNewline; let mode = CompressionMode::CompressWhitespaceNewline;
for &(test, oracle) in test_strs.iter() {
for (test, oracle) in test_strs.iter().zip(oracle_strs.iter()) { let mut new_line_pos = vec![];
let mut new_line_pos = vec!();
let mut trimmed_str = String::new(); let mut trimmed_str = String::new();
transform_text(*test, mode, false, &mut trimmed_str, &mut new_line_pos); transform_text(test, mode, false, &mut trimmed_str, &mut new_line_pos);
assert_eq!(trimmed_str.as_slice(), *oracle) assert_eq!(trimmed_str.as_slice(), oracle)
} }
} }