Add more tests for color::try_parse_rgb()

This commit is contained in:
Mahmoud Al-Qudsi
2024-05-07 13:00:11 -05:00
parent 5b79f267d6
commit fd2ea3ff0f

View File

@@ -467,4 +467,56 @@ fn test_term16_color_for_rgb() {
let _ = color.to_name_index();
}
}
#[test]
fn parse_short_hex_with_hash() {
assert_eq!(
RgbColor::try_parse_rgb(L!("#F3A")),
Some(RgbColor::from_rgb(0xFF, 0x33, 0xAA))
);
}
#[test]
fn parse_long_hex_with_hash() {
assert_eq!(
RgbColor::try_parse_rgb(L!("#F3A035")),
Some(RgbColor::from_rgb(0xF3, 0xA0, 0x35))
);
}
#[test]
fn parse_short_hex_without_hash() {
assert_eq!(
RgbColor::try_parse_rgb(L!("F3A")),
Some(RgbColor::from_rgb(0xFF, 0x33, 0xAA))
);
}
#[test]
fn parse_long_hex_without_hash() {
assert_eq!(
RgbColor::try_parse_rgb(L!("F3A035")),
Some(RgbColor::from_rgb(0xF3, 0xA0, 0x35))
);
}
#[test]
fn invalid_hex_length() {
assert_eq!(RgbColor::try_parse_rgb(L!("#F3A03")), None);
assert_eq!(RgbColor::try_parse_rgb(L!("F3A0")), None);
}
#[test]
fn invalid_hex_character() {
assert_eq!(RgbColor::try_parse_rgb(L!("#GFA")), None);
assert_eq!(RgbColor::try_parse_rgb(L!("F3G035")), None);
}
#[test]
fn invalid_hash_combinations() {
assert_eq!(RgbColor::try_parse_rgb(L!("##F3A")), None);
assert_eq!(RgbColor::try_parse_rgb(L!("###F3A035")), None);
assert_eq!(RgbColor::try_parse_rgb(L!("F3A#")), None);
assert_eq!(RgbColor::try_parse_rgb(L!("#F#3A")), None);
}
}