Skip to content

Commit

Permalink
ensure nesting combinator preserves prior descendant combinator
Browse files Browse the repository at this point in the history
  • Loading branch information
keithamus committed Apr 24, 2024
1 parent d4bb9d1 commit a0f5d0b
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 2 deletions.
4 changes: 2 additions & 2 deletions crates/hdx_ast/src/css/selector/combinator.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use hdx_lexer::{Include, Token};
use hdx_parser::{discard, expect, peek, unexpected, Parse, Parser, Result as ParserResult};
use hdx_writer::{CssWriter, Result as WriterResult, WriteCss, write_css};
use hdx_writer::{write_css, CssWriter, Result as WriterResult, WriteCss};

#[derive(Debug, PartialEq, Hash)]
#[cfg_attr(feature = "serde", derive(serde::Serialize), serde(rename_all = "kebab-case"))]
Expand All @@ -17,7 +17,7 @@ pub enum Combinator {
impl<'a> Parse<'a> for Combinator {
fn parse(parser: &mut Parser<'a>) -> ParserResult<Self> {
let could_be_descendant_combinator = discard!(parser, Include::Whitespace, Token::Whitespace);
if !peek!(parser, Token::Delim(_)) && could_be_descendant_combinator {
if !peek!(parser, Token::Delim('>' | '+' | '~' | '|')) && could_be_descendant_combinator {
return Ok(Self::Descendant);
}
let val = match parser.peek() {
Expand Down
2 changes: 2 additions & 0 deletions crates/hdx_ast/src/css/selector/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,8 @@ mod tests {
assert_parse!(SelectorList, " /**/ .foo", ".foo");
assert_parse!(SelectorList, ":lang(en-gb, en-us)");
assert_parse!(SelectorList, "& .foo", "& .foo");
assert_parse!(SelectorList, "&:hover", "&:hover");
assert_parse!(SelectorList, ".foo &:hover", ".foo &:hover");
// Non Standard
assert_parse!(SelectorList, "::-moz-focus-inner");
assert_parse!(SelectorList, "::-moz-list-bullet::-webkit-scrollbar::-ms-clear:-ms-input-placeholder::-o-scrollbar:-o-prefocus");
Expand Down

0 comments on commit a0f5d0b

Please sign in to comment.