Don't require mask-mode to follow mask-image

This commit is contained in:
Xidorn Quan 2017-01-30 16:00:31 +11:00
parent cd63f1b158
commit 920b0ee6ca
2 changed files with 5 additions and 9 deletions

View file

@ -49,10 +49,6 @@
if let Ok(value) = input.try(|input| mask_image::single_value
::parse(context, input)) {
image = Some(value);
// Parse mask mode, if applicable.
mode = input.try(|input| mask_mode::single_value::parse(context, input)).ok();
continue
}
}
@ -70,7 +66,7 @@
continue
}
}
% for name in "repeat origin clip composite".split():
% for name in "repeat origin clip composite mode".split():
if ${name}.is_none() {
if let Ok(value) = input.try(|input| mask_${name}::single_value
::parse(context, input)) {

View file

@ -107,12 +107,12 @@ fn mask_shorthand_should_parse_origin_and_clip_correctly() {
}
#[test]
fn mask_shorthand_should_not_parse_when_mode_specified_but_image_not() {
fn mask_shorthand_should_parse_mode_everywhere() {
let url = ServoUrl::parse("http://localhost").unwrap();
let context = ParserContext::new(Origin::Author, &url, Box::new(CSSErrorReporterTest));
let mut parser = Parser::new("luminance 7px 4px repeat-x padding");
assert!(mask::parse_value(&context, &mut parser).is_err());
let mut parser = Parser::new("luminance 7px 4px repeat-x padding-box");
assert!(mask::parse_value(&context, &mut parser).is_ok());
let mut parser = Parser::new("alpha");
assert!(mask::parse_value(&context, &mut parser).is_err());
assert!(mask::parse_value(&context, &mut parser).is_ok());
}