hue can never be exactly 360

This commit is contained in:
Connor Skees 2020-08-02 15:03:26 -04:00
parent 6189810ced
commit db41737ec7
2 changed files with 6 additions and 1 deletions

View File

@ -370,7 +370,7 @@ impl Color {
/// Create RGBA representation from HSLA values /// Create RGBA representation from HSLA values
pub fn from_hsla(hue: Number, saturation: Number, luminance: Number, alpha: Number) -> Self { pub fn from_hsla(hue: Number, saturation: Number, luminance: Number, alpha: Number) -> Self {
let mut hue = if hue > Number::from(360) { let mut hue = if hue >= Number::from(360) {
hue % Number::from(360) hue % Number::from(360)
} else if hue < Number::from(-360) { } else if hue < Number::from(-360) {
Number::from(360) + hue % Number::from(360) Number::from(360) + hue % Number::from(360)

View File

@ -247,6 +247,11 @@ test!(
"a {\n color: hue(rgb(1, 0, 1));\n}\n", "a {\n color: hue(rgb(1, 0, 1));\n}\n",
"a {\n color: 300deg;\n}\n" "a {\n color: 300deg;\n}\n"
); );
test!(
hue_of_360_becomes_0,
"a {\n color: hue(hsl(360, 10%, 20%));\n}\n",
"a {\n color: 0deg;\n}\n"
);
test!( test!(
hue_green_equals_blue, hue_green_equals_blue,
"a {\n color: hue(rgb(0, 1, 1));\n}\n", "a {\n color: hue(rgb(0, 1, 1));\n}\n",