зеркало из https://github.com/mozilla/gecko-dev.git
servo: Merge #16713 - style: Allow parsing nested calc() expressions (from emilio:calc-in-calc); r=manishearth
Source-Repo: https://github.com/servo/servo Source-Revision: 53b391daf84b3a611e5b356ed97fc22f6cbe92b7 --HG-- extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear extra : subtree_revision : 0c9b88e0d1c9000590e438ad60c1327e607149d6
This commit is contained in:
Родитель
cd2d82d36b
Коммит
01d358ada0
|
@ -843,6 +843,10 @@ impl CalcLengthOrPercentage {
|
|||
input.parse_nested_block(|i| CalcLengthOrPercentage::parse_sum(context, i, expected_unit))
|
||||
.map(|result| CalcValueNode::Sum(Box::new(result)))
|
||||
},
|
||||
(Token::Function(ref name), _) if name.eq_ignore_ascii_case("calc") => {
|
||||
input.parse_nested_block(|i| CalcLengthOrPercentage::parse_sum(context, i, expected_unit))
|
||||
.map(|result| CalcValueNode::Sum(Box::new(result)))
|
||||
}
|
||||
_ => Err(())
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,6 +16,7 @@ use style_traits::ToCss;
|
|||
#[test]
|
||||
fn test_calc() {
|
||||
assert!(parse(Length::parse, "calc(1px+ 2px)").is_err());
|
||||
assert!(parse(Length::parse, "calc(calc(1px) + calc(1px + 4px))").is_ok());
|
||||
assert!(parse(Length::parse, "calc( 1px + 2px )").is_ok());
|
||||
assert!(parse(Length::parse, "calc(1px + 2px )").is_ok());
|
||||
assert!(parse(Length::parse, "calc( 1px + 2px)").is_ok());
|
||||
|
|
Загрузка…
Ссылка в новой задаче