handle negative values in 1arg rgba?
This commit is contained in:
parent
8846a09d1c
commit
29f7b286b0
@ -39,7 +39,7 @@ fn inner_rgb(
|
|||||||
.into());
|
.into());
|
||||||
}
|
}
|
||||||
|
|
||||||
let blue = match channels.pop() {
|
let blue = match channels.pop().map(|v| v.eval(args.span()).unwrap().node) {
|
||||||
Some(Value::Dimension(n, Unit::None)) => n,
|
Some(Value::Dimension(n, Unit::None)) => n,
|
||||||
Some(Value::Dimension(n, Unit::Percent)) => (n / Number::from(100)) * Number::from(255),
|
Some(Value::Dimension(n, Unit::Percent)) => (n / Number::from(100)) * Number::from(255),
|
||||||
Some(v) if v.is_special_function() => {
|
Some(v) if v.is_special_function() => {
|
||||||
@ -66,7 +66,7 @@ fn inner_rgb(
|
|||||||
None => return Err(("Missing element $blue.", args.span()).into()),
|
None => return Err(("Missing element $blue.", args.span()).into()),
|
||||||
};
|
};
|
||||||
|
|
||||||
let green = match channels.pop() {
|
let green = match channels.pop().map(|v| v.eval(args.span()).unwrap().node) {
|
||||||
Some(Value::Dimension(n, Unit::None)) => n,
|
Some(Value::Dimension(n, Unit::None)) => n,
|
||||||
Some(Value::Dimension(n, Unit::Percent)) => (n / Number::from(100)) * Number::from(255),
|
Some(Value::Dimension(n, Unit::Percent)) => (n / Number::from(100)) * Number::from(255),
|
||||||
Some(v) if v.is_special_function() => {
|
Some(v) if v.is_special_function() => {
|
||||||
@ -92,7 +92,7 @@ fn inner_rgb(
|
|||||||
None => return Err(("Missing element $green.", args.span()).into()),
|
None => return Err(("Missing element $green.", args.span()).into()),
|
||||||
};
|
};
|
||||||
|
|
||||||
let red = match channels.pop() {
|
let red = match channels.pop().map(|v| v.eval(args.span()).unwrap().node) {
|
||||||
Some(Value::Dimension(n, Unit::None)) => n,
|
Some(Value::Dimension(n, Unit::None)) => n,
|
||||||
Some(Value::Dimension(n, Unit::Percent)) => (n / Number::from(100)) * Number::from(255),
|
Some(Value::Dimension(n, Unit::Percent)) => (n / Number::from(100)) * Number::from(255),
|
||||||
Some(v) if v.is_special_function() => {
|
Some(v) if v.is_special_function() => {
|
||||||
|
@ -572,3 +572,8 @@ test!(
|
|||||||
"a {\n color: opacity(transparent);\n}\n",
|
"a {\n color: opacity(transparent);\n}\n",
|
||||||
"a {\n color: 0;\n}\n"
|
"a {\n color: 0;\n}\n"
|
||||||
);
|
);
|
||||||
|
test!(
|
||||||
|
negative_values_in_rgb,
|
||||||
|
"a {\n color: rgb(-1 -1 -1);\n}\n",
|
||||||
|
"a {\n color: black;\n}\n"
|
||||||
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user