gecko/layout/style/test/test_parse_eof.html

70 lines
2.0 KiB
HTML
Raw Blame History

<!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<EFBFBD>); }
#d-ref { counter-reset: ab<EFBFBD>; }
</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>