antex 0.2.2

Styled text and tree in terminal
Documentation
use antex::{StyledText, never};
use std::fmt::Write;

struct FailingWriter {
  count: usize,
  max: usize,
}

impl FailingWriter {
  fn new(max: usize) -> Self {
    Self { count: 1, max }
  }
}

impl Write for FailingWriter {
  fn write_str(&mut self, s: &str) -> std::fmt::Result {
    for _ in s.chars() {
      if self.count >= self.max {
        return Err(std::fmt::Error);
      } else {
        self.count += 1;
      }
    }
    Ok(())
  }
}

#[test]
fn _0001() {
  write!(&mut FailingWriter::new(1), "{}", never().s("ab")).unwrap_err();
  write!(&mut FailingWriter::new(1), "{:1}", never().s("ab")).unwrap_err();
  write!(&mut FailingWriter::new(4), "{:5}", never().s("ab")).unwrap_err();
  write!(&mut FailingWriter::new(1), "{:<1}", never().s("ab")).unwrap_err();
  write!(&mut FailingWriter::new(4), "{:<5}", never().s("ab")).unwrap_err();
  write!(&mut FailingWriter::new(1), "{:>1}", never().s("ab")).unwrap_err();
  write!(&mut FailingWriter::new(1), "{:>5}", never().s("ab")).unwrap_err();
  write!(&mut FailingWriter::new(1), "{:^1}", never().s("ab")).unwrap_err();
  write!(&mut FailingWriter::new(1), "{:^5}", never().s("ab")).unwrap_err();
  write!(&mut FailingWriter::new(4), "{:^5}", never().s("ab")).unwrap_err();
}