diff --git a/src/lib.rs b/src/lib.rs index 508b1984..15344f13 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -24064,6 +24064,35 @@ mod tests { false, ); + css_modules_test( + r#" + .a { + composes: default; + color: red; + } + + .default { + color: blue; + } + "#, + indoc! {r#" + .EgL3uq_a { + color: red; + } + + .EgL3uq_default { + color: #00f; + } + "#}, + map! { + "a" => "EgL3uq_a" "EgL3uq_default", + "default" => "EgL3uq_default" + }, + HashMap::new(), + Default::default(), + false + ); + css_modules_test( r#" .foo { diff --git a/src/properties/css_modules.rs b/src/properties/css_modules.rs index dc8046f3..c0fdd995 100644 --- a/src/properties/css_modules.rs +++ b/src/properties/css_modules.rs @@ -78,7 +78,7 @@ impl<'i> Parse<'i> for Composes<'i> { fn parse_one_ident<'i, 't>( input: &mut Parser<'i, 't>, ) -> Result, ParseError<'i, ParserError<'i>>> { - let name = CustomIdent::parse(input)?; + let name = CustomIdent(input.expect_ident()?.into()); if name.0.eq_ignore_ascii_case("from") { return Err(input.new_error_for_next_token()); }