handle control characters at start of selector
This commit is contained in:
parent
618fa9ed86
commit
ef25d8b880
@ -397,6 +397,9 @@ impl<'a> StyleSheetParser<'a> {
|
||||
"Base-level rules cannot contain the parent-selector-referencing character '&'.".into(),
|
||||
)
|
||||
}
|
||||
c if c.is_control() => {
|
||||
return Err("expected selector.".into());
|
||||
}
|
||||
_ => match dbg!(self.lexer.next()) {
|
||||
Some(Token { pos, .. }) => self.error(pos, "unexpected toplevel token"),
|
||||
_ => unsafe { std::hint::unreachable_unchecked() },
|
||||
|
@ -331,6 +331,9 @@ impl<'a> SelectorParser<'a> {
|
||||
self.super_selector,
|
||||
)?)
|
||||
}
|
||||
c if c.is_control() => {
|
||||
return Err("expected selector.".into());
|
||||
}
|
||||
_ => todo!("unimplemented selector"),
|
||||
};
|
||||
}
|
||||
|
@ -44,3 +44,11 @@ error!(
|
||||
symbol_after_hash,
|
||||
"a {color: bar + #}ar;}", "Error: Expected identifier."
|
||||
);
|
||||
error!(
|
||||
control_character_starts_selector_toplevel,
|
||||
"l {color: foo;}", "Error: expected selector."
|
||||
);
|
||||
error!(
|
||||
control_character_starts_selector_inner,
|
||||
"a{l {color: foo;}}", "Error: expected selector."
|
||||
);
|
||||
|
Loading…
x
Reference in New Issue
Block a user