From 6c5cf4b40544f5883ab0e64842419292b02374fc Mon Sep 17 00:00:00 2001 From: ConnorSkees <39542938+ConnorSkees@users.noreply.github.com> Date: Mon, 24 Feb 2020 19:13:28 -0500 Subject: [PATCH] properly escape backslashes --- src/utils.rs | 6 +++++- tests/values.rs | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/utils.rs b/src/utils.rs index 7d961ae..14948fb 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -189,7 +189,11 @@ pub(crate) fn parse_quoted_string>( continue; } TokenKind::Symbol(Symbol::BackSlash) if !is_escaped => is_escaped = true, - TokenKind::Symbol(Symbol::BackSlash) => s.push('\\'), + TokenKind::Symbol(Symbol::BackSlash) => { + is_escaped = false; + s.push('\\'); + continue; + }, TokenKind::Interpolation if !is_escaped => { found_interpolation = true; s.push_str( diff --git a/tests/values.rs b/tests/values.rs index 51c6ded..658dbe9 100644 --- a/tests/values.rs +++ b/tests/values.rs @@ -350,3 +350,8 @@ test!( "a {\n color: \"f\"foo;\n}\n", "a {\n color: \"f\" foo;\n}\n" ); +test!( + escaped_backslash, + "a {\n color: \"\\\\\";\n}\n", + "a {\n color: \"\\\";\n}\n" +);