Monday morning Blocks extraction

This commit is contained in:
Benjamin Sago 2017-05-22 08:48:32 +01:00
parent eec81c4f48
commit 094e660003
2 changed files with 45 additions and 11 deletions

View File

@ -0,0 +1,44 @@
use output::cell::TextCell;
use output::colours::Colours;
use fs::fields as f;
impl f::Blocks {
pub fn render(&self, colours: &Colours) -> TextCell {
match *self {
f::Blocks::Some(ref blk) => TextCell::paint(colours.blocks, blk.to_string()),
f::Blocks::None => TextCell::blank(colours.punctuation),
}
}
}
#[cfg(test)]
pub mod test {
use output::details::Details;
use output::cell::TextCell;
use fs::fields as f;
use ansi_term::Colour::*;
#[test]
fn blocklessness() {
let mut details = Details::default();
details.colours.punctuation = Green.italic();
let blox = f::Blocks::None;
let expected = TextCell::blank(Green.italic());
assert_eq!(expected, blox.render(&details.colours).into());
}
#[test]
fn blockfulity() {
let mut details = Details::default();
details.colours.blocks = Red.blink();
let blox = f::Blocks::Some(3005);
let expected = TextCell::paint_str(Red.blink(), "3005");
assert_eq!(expected, blox.render(&details.colours).into());
}
}

View File

@ -1,3 +1,4 @@
mod blocks;
mod git; mod git;
mod groups; mod groups;
mod links; mod links;
@ -14,17 +15,6 @@ use datetime::fmt::DateFormat;
use locale; use locale;
impl f::Blocks {
pub fn render(&self, colours: &Colours) -> TextCell {
match *self {
f::Blocks::Some(ref blk) => TextCell::paint(colours.blocks, blk.to_string()),
f::Blocks::None => TextCell::blank(colours.punctuation),
}
}
}
impl f::Inode { impl f::Inode {
pub fn render(&self, colours: &Colours) -> TextCell { pub fn render(&self, colours: &Colours) -> TextCell {
TextCell::paint(colours.inode, self.0.to_string()) TextCell::paint(colours.inode, self.0.to_string())