Implement unit conversions in numeric subtraction
This commit is contained in:
parent
b3b5163113
commit
efaa33088b
@ -123,8 +123,17 @@ impl Sub for Value {
|
||||
}
|
||||
if unit == unit2 {
|
||||
Value::Dimension(num - num2, unit)
|
||||
} else if unit == Unit::None {
|
||||
Value::Dimension(num - num2, unit2)
|
||||
} else if unit2 == Unit::None {
|
||||
Value::Dimension(num - num2, unit)
|
||||
} else {
|
||||
todo!("unit conversions")
|
||||
Value::Dimension(
|
||||
num - num2
|
||||
* UNIT_CONVERSION_TABLE[&unit.to_string()][&unit2.to_string()]
|
||||
.clone(),
|
||||
unit,
|
||||
)
|
||||
}
|
||||
}
|
||||
_ => todo!(),
|
||||
|
@ -54,6 +54,16 @@ test!(
|
||||
"a {\n color: 10 + 10px;\n}\n",
|
||||
"a {\n color: 20px;\n}\n"
|
||||
);
|
||||
test!(
|
||||
unit_minus_none,
|
||||
"a {\n color: 10px - 10;\n}\n",
|
||||
"a {\n color: 0px;\n}\n"
|
||||
);
|
||||
test!(
|
||||
none_minus_unit,
|
||||
"a {\n color: 10 - 10px;\n}\n",
|
||||
"a {\n color: 0px;\n}\n"
|
||||
);
|
||||
|
||||
macro_rules! test_unit_addition {
|
||||
($u1:ident, $u2:ident, $out:literal) => {
|
||||
|
Loading…
x
Reference in New Issue
Block a user