提交 a2eb7244 编写于 作者: B Benjamin Sago

Add unit tests for size rendering

上级 ddd34f3b
......@@ -63,3 +63,102 @@ impl f::DeviceIDs {
}
}
}
#[cfg(test)]
pub mod test {
use output::details::Details;
use output::column::SizeFormat;
use output::cell::{TextCell, DisplayWidth};
use fs::fields as f;
use locale;
use ansi_term::Colour::*;
#[test]
fn directory() {
let mut details = Details::default();
details.colours.punctuation = Green.italic();
let directory = f::Size::None;
let expected = TextCell::blank(Green.italic());
assert_eq!(expected, directory.render(&details.colours, SizeFormat::JustBytes, &locale::Numeric::english()))
}
#[test]
fn file_decimal() {
let mut details = Details::default();
details.colours.size.numbers = Blue.on(Red);
details.colours.size.unit = Yellow.bold();
let directory = f::Size::Some(2_100_000);
let expected = TextCell {
width: DisplayWidth::from(4),
contents: vec![
Blue.on(Red).paint("2.1"),
Yellow.bold().paint("M"),
].into(),
};
assert_eq!(expected, directory.render(&details.colours, SizeFormat::DecimalBytes, &locale::Numeric::english()))
}
#[test]
fn file_binary() {
let mut details = Details::default();
details.colours.size.numbers = Blue.on(Red);
details.colours.size.unit = Yellow.bold();
let directory = f::Size::Some(1_048_576);
let expected = TextCell {
width: DisplayWidth::from(5),
contents: vec![
Blue.on(Red).paint("1.0"),
Yellow.bold().paint("Mi"),
].into(),
};
assert_eq!(expected, directory.render(&details.colours, SizeFormat::BinaryBytes, &locale::Numeric::english()))
}
#[test]
fn file_bytes() {
let mut details = Details::default();
details.colours.size.numbers = Blue.on(Red);
let directory = f::Size::Some(1048576);
let expected = TextCell {
width: DisplayWidth::from(9),
contents: vec![
Blue.on(Red).paint("1,048,576"),
].into(),
};
assert_eq!(expected, directory.render(&details.colours, SizeFormat::JustBytes, &locale::Numeric::english()))
}
#[test]
fn device_ids() {
let mut details = Details::default();
details.colours.size.major = Blue.on(Red);
details.colours.punctuation = Green.italic();
details.colours.size.minor = Cyan.on(Yellow);
let directory = f::Size::DeviceIDs(f::DeviceIDs { major: 10, minor: 80 });
let expected = TextCell {
width: DisplayWidth::from(5),
contents: vec![
Blue.on(Red).paint("10"),
Green.italic().paint(","),
Cyan.on(Yellow).paint("80"),
].into(),
};
assert_eq!(expected, directory.render(&details.colours, SizeFormat::JustBytes, &locale::Numeric::english()))
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册