layout/style/test/test_parse_eof.html
author Jan de Mooij <jdemooij@mozilla.com>
Mon, 27 Sep 2021 11:15:49 +0000
changeset 593265 5144ad09cfb7011b98c5422b78b82936b1343541
parent 331425 d02fd33024b876d9a5c7f4afa9bd103ed9d58e74
permissions -rw-r--r--
Bug 1732281 part 2 - Transpile ValueToIteratorResult in Warp. r=iain Depends on D126514 Differential Revision: https://phabricator.services.mozilla.com/D126515

<!DOCTYPE html>
<html>
<head>
  <meta charset=utf-8>
  <title>Test parsing behaviour of backslash just before EOF</title>
  <link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
  <meta name="flags" content="">
  <script src="/resources/testharness.js"></script>
  <script src="/resources/testharnessreport.js"></script>
</head>
<body>

<style>#a::before { content: "ab\</style>
<style>#b { background-image: url("ab\</style>
<style>#c { background-image: url(ab\</style>
<style>#d { counter-reset: ab\</style>

<style>
#a-ref::before { content: "ab"; }
#b-ref { background-image: url("ab"); }
#c-ref { background-image: url(ab�); }
#d-ref { counter-reset: ab; }
</style>

<div style="display: none">
  <div id="a"></div>
  <div id="b"></div>
  <div id="c"></div>
  <div id="d"></div>

  <div id="a-ref"></div>
  <div id="b-ref"></div>
  <div id="c-ref"></div>
  <div id="d-ref"></div>
</div>

<script>
var a = document.getElementById("a");
var b = document.getElementById("b");
var c = document.getElementById("c");
var d = document.getElementById("d");
var a_ref = document.getElementById("a-ref");
var b_ref = document.getElementById("b-ref");
var c_ref = document.getElementById("c-ref");
var d_ref = document.getElementById("d-ref");

test(function() {
  assert_equals(window.getComputedStyle(a, ":before").content,
                window.getComputedStyle(a_ref, ":before").content);
}, "test backslash before EOF inside a string");

test(function() {
  assert_equals(window.getComputedStyle(b).backgroundImage,
                window.getComputedStyle(b_ref).backgroundImage);
}, "test backslash before EOF inside a url(\"\")");

test(function() {
  assert_equals(window.getComputedStyle(c).backgroundImage,
                window.getComputedStyle(c_ref).backgroundImage);
}, "test backslash before EOF inside a url()");

test(function() {
  assert_equals(window.getComputedStyle(d).counterReset,
                window.getComputedStyle(d_ref).counterReset);
}, "test backslash before EOF outside a string");
</script>

</body>
</html>