about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/css/cssparser.nim4
-rw-r--r--test/layout/escape-sequence.expected1
-rw-r--r--test/layout/escape-sequence.html4
3 files changed, 8 insertions, 1 deletions
diff --git a/src/css/cssparser.nim b/src/css/cssparser.nim
index c3a18cde..1f21b79b 100644
--- a/src/css/cssparser.nim
+++ b/src/css/cssparser.nim
@@ -243,7 +243,9 @@ proc consumeString(buf: openArray[char]; ending: char; n: var int): CSSToken =
       if n + 1 >= buf.len or buf[n + 1] == '\n':
         discard
       else:
-        s &= consumeEscape(buf, n)
+        inc n
+        s &= buf.consumeEscape(n)
+        continue
     elif c == ending:
       inc n
       break
diff --git a/test/layout/escape-sequence.expected b/test/layout/escape-sequence.expected
new file mode 100644
index 00000000..a9e6d354
--- /dev/null
+++ b/test/layout/escape-sequence.expected
@@ -0,0 +1 @@
+atest
diff --git a/test/layout/escape-sequence.html b/test/layout/escape-sequence.html
new file mode 100644
index 00000000..dc3a9326
--- /dev/null
+++ b/test/layout/escape-sequence.html
@@ -0,0 +1,4 @@
+<style>
+#x::before { content: "\0061" }
+</style>
+<div id=x>test</div>