diff --git a/src/css.rs b/src/css.rs index 62c0f66..d673694 100644 --- a/src/css.rs +++ b/src/css.rs @@ -122,7 +122,7 @@ pub fn process_css<'a>( } Token::Ident(ref value) => { curr_prop = str!(value); - result.push_str(value); + result.push_str(&value.replace(":", "\\:")); } Token::AtKeyword(ref value) => { curr_rule = str!(value); diff --git a/src/tests/css/embed_css.rs b/src/tests/css/embed_css.rs index 07c322b..c87de8d 100644 --- a/src/tests/css/embed_css.rs +++ b/src/tests/css/embed_css.rs @@ -209,7 +209,30 @@ div {\n \ transform: translate(50%, 50%) rotate(45deg);\n\ transform: translate(+50%, +50%) rotate(+45deg);\n\ }\n\ -\n\ +"; + + assert_eq!( + css::embed_css( + cache, + &client, + "https://doesntmatter.local/", + &CSS, + false, + true, + ), + CSS + ); +} + +#[test] +fn passing_colons_in_class_names() { + let cache = &mut HashMap::new(); + let client = Client::new(); + + const CSS: &str = "\ +.is\\:good:hover {\n \ + color: green\n\ +}\n\ "; assert_eq!(