From 1b6a04ca5504955c571d1c97504fb45ea0befee4 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Mon, 8 Jan 2024 01:21:28 +0400 Subject: Initial vendor packages Signed-off-by: Valentin Popov --- vendor/owo-colors/src/tests.rs | 83 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 vendor/owo-colors/src/tests.rs (limited to 'vendor/owo-colors/src/tests.rs') diff --git a/vendor/owo-colors/src/tests.rs b/vendor/owo-colors/src/tests.rs new file mode 100644 index 0000000..c8688e8 --- /dev/null +++ b/vendor/owo-colors/src/tests.rs @@ -0,0 +1,83 @@ +use super::colors::*; +use super::OwoColorize; +use crate::colors::css::Lavender; +use crate::{AnsiColors, DynColors}; + +#[test] +fn test_fg() { + assert_eq!("test".fg::().to_string(), "\x1b[30mtest\x1b[39m"); + assert_eq!("blah blah".red().to_string(), "\x1b[31mblah blah\x1b[39m"); +} + +#[test] +fn test_bg() { + assert_eq!("test".bg::().to_string(), "\x1b[40mtest\x1b[49m"); + assert_eq!( + "blah blah".on_red().to_string(), + "\x1b[41mblah blah\x1b[49m" + ); +} + +#[test] +fn test_dyn_fg() { + assert_eq!( + "test".color(AnsiColors::Black).to_string(), + "\x1b[30mtest\x1b[39m" + ); + assert_eq!( + "blah blah".color(AnsiColors::Red).to_string(), + "\x1b[31mblah blah\x1b[39m" + ); +} + +#[test] +fn test_dyn_bg() { + assert_eq!( + "test".on_color(AnsiColors::Black).to_string(), + "\x1b[40mtest\x1b[49m" + ); + assert_eq!( + "blah blah".on_color(AnsiColors::Red).to_string(), + "\x1b[41mblah blah\x1b[49m" + ); +} + +#[test] +fn test_hex() { + assert_eq!(format!("{:08X}", 0xa.red()), "\x1b[31m0000000A\x1b[39m"); +} + +#[test] +fn test_css_name() { + assert_eq!( + "test".fg::().to_string(), + "\x1b[38;2;230;230;250mtest\x1b[39m" + ); +} + +#[test] +fn test_parse() { + macro_rules! assert_parse { + ($($str:literal == $eq:expr),* $(,)?) => { + $( + assert_eq!($eq, $str.parse().unwrap()); + )* + } + } + + assert_parse!( + "yellow" == DynColors::Ansi(AnsiColors::Yellow), + "blue" == DynColors::Ansi(AnsiColors::Blue), + "#eb4034" == DynColors::Rgb(235, 64, 52), + ); +} + +#[test] +fn default_color() { + assert_eq!( + format_args!("red red red {} no color", "default color".default_color()) + .red() + .to_string(), + "\x1b[31mred red red \x1b[39mdefault color\x1b[39m no color\x1b[39m" + ); +} -- cgit v1.2.3