From 934f9d860de63161478b6311b7e2ea5600a90aa6 Mon Sep 17 00:00:00 2001 From: ConnorSkees <39542938+ConnorSkees@users.noreply.github.com> Date: Sun, 26 Jan 2020 16:55:06 -0500 Subject: [PATCH] Handle comments between selectors --- src/selector.rs | 4 ++-- tests/main.rs | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/selector.rs b/src/selector.rs index c40ae5e..ecf681d 100644 --- a/src/selector.rs +++ b/src/selector.rs @@ -1,5 +1,5 @@ use crate::common::{Scope, Symbol}; -use crate::utils::{devour_whitespace, eat_interpolation, IsWhitespace}; +use crate::utils::{devour_whitespace, devour_whitespace_or_comment, eat_interpolation, IsWhitespace}; use crate::{Token, TokenKind}; use std::fmt::{self, Display}; use std::iter::Peekable; @@ -232,7 +232,7 @@ impl<'a> SelectorParser<'a> { } fn consume_selector(&mut self, tokens: &'_ mut Peekable>) { - if devour_whitespace(tokens) { + if devour_whitespace_or_comment(tokens) { if let Some(Token { kind: TokenKind::Symbol(Symbol::Comma), .. diff --git a/tests/main.rs b/tests/main.rs index 33f180a..a03573c 100644 --- a/tests/main.rs +++ b/tests/main.rs @@ -294,6 +294,11 @@ mod test_selectors { " a > b , c ~ d e .f #g :h i.j [ k ] { color: red }", "a > b, c ~ d e .f #g :h i.j [k] {\n color: red;\n}\n" ); + test!( + comment_between_selectors, + "a /* foo */ b {\n color: red;\n}\n", + "a b {\n color: red;\n}\n" + ); } #[cfg(test)]