simple-color 0.2.10

A simple color struct
Documentation
use simple_color::{Color, ColorParsingError};

#[test]
fn lengths() {
    assert_eq!("8".parse(), Ok(Color::gray(0x88)));
    assert_eq!("80".parse(), Ok(Color::gray(0x80)));
    assert_eq!("abc".parse(), Ok(Color::rgb(0xAA, 0xBB, 0xCC)));
    assert_eq!("1234".parse(), Ok(Color::rgba(0x11, 0x22, 0x33, 0x44)));
    assert_eq!("FF0000".parse(), Ok(Color::RED));
    assert_eq!("ff800080".parse(), Ok(Color::rgba(0xFF, 0x80, 0, 0x80)));
}

#[test]
fn invalid_char() {
    assert_eq!(
        "80FG00".parse::<Color>(),
        Err(ColorParsingError::InvalidChar('G'))
    );
}

#[test]
fn invalid_length() {
    assert_eq!(
        "FF80000".parse::<Color>(),
        Err(ColorParsingError::InvalidLength(7))
    );
}

#[test]
fn multibyte_is_rejected_not_ub() {
    assert!("é".parse::<Color>().is_err());
    assert!("§§§".parse::<Color>().is_err());
}