28 lines
981 B
HTML
28 lines
981 B
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>Properly escape CSS identifiers</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<link rel="help" href="https://crbug.com/343000522">
|
|
<style id="sheet">
|
|
@import 'abc' layer(\{\});
|
|
@counter-style abc\{\}oops {}
|
|
@font-feature-values abc\{\}oops {}
|
|
@font-palette-values --abc\{\}oops {}
|
|
@keyframes abc\{\}oops {}
|
|
@layer abc\;oops\!;
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
test(()=>{
|
|
const rules = Array.from(document.styleSheets[0].cssRules);
|
|
const text = rules.map(r => r.cssText).join('\n');
|
|
sheet.innerText = text;
|
|
|
|
const new_rules = Array.from(document.styleSheets[0].cssRules);
|
|
const new_text = new_rules.map(r => r.cssText).join('\n');
|
|
assert_equals(new_text, text);
|
|
}, 'Rules must be the same after serialization round-trip, even with escaped characters');
|
|
</script>
|