OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <title>Attribute selector serialization</title> | 2 <title>Attribute selector serialization</title> |
3 <script src="../resources/testharness.js"></script> | 3 <script src="../resources/testharness.js"></script> |
4 <script src="../resources/testharnessreport.js"></script> | 4 <script src="../resources/testharnessreport.js"></script> |
5 <style id="teststyles"> | 5 <style id="teststyles"> |
6 </style> | 6 </style> |
7 <script> | 7 <script> |
8 var escaped_ns_rule = "@namespace ns\\:odd url(ns);"; | 8 var escaped_ns_rule = "@namespace ns\\:odd url(ns);"; |
9 | 9 |
10 function assert_selector_serializes_to(source, expected_result) { | 10 function assert_selector_serializes_to(source, expected_result) { |
11 var style_element = document.getElementById("teststyles"); | 11 var style_element = document.getElementById("teststyles"); |
12 style_element.firstChild.data = source + "{ font-size: 1em; }"; | 12 style_element.firstChild.data = source + "{ font-size: 1em; }"; |
13 var sheet = style_element.sheet; | 13 var sheet = style_element.sheet; |
14 assert_equals(sheet.cssRules[sheet.cssRules.length - 1].selectorText, ex
pected_result); | 14 assert_equals(sheet.cssRules[sheet.cssRules.length - 1].selectorText, ex
pected_result); |
15 } | 15 } |
16 test(function() { | 16 test(function() { |
17 assert_selector_serializes_to("[ns\\:foo]", "[ns\\:foo]"); | 17 assert_selector_serializes_to("[ns\\:foo]", "[ns\\:foo]"); |
18 }, document.title+", escaped character in attribute name"); | 18 }, document.title+", escaped character in attribute name"); |
19 test(function() { | 19 test(function() { |
20 assert_selector_serializes_to("[\\30zonk]", "[\\30 zonk]"); | 20 assert_selector_serializes_to("[\\30zonk]", "[\\30 zonk]"); |
21 }, document.title+", escaped character as code point in attribute name"); | 21 }, document.title+", escaped character as code point in attribute name"); |
22 test(function() { | 22 test(function() { |
23 assert_selector_serializes_to("[\\*]", "[\\*]"); | 23 assert_selector_serializes_to("[\\@]", "[\\@]"); |
24 }, document.title+", escaped character (*) in attribute"); | 24 }, document.title+", escaped character (@) in attribute name"); |
25 test(function() { | 25 test(function() { |
26 assert_selector_serializes_to("[*|ns\\:foo]", "[*|ns\\:foo]"); | 26 assert_selector_serializes_to("[*|ns\\:foo]", "[*|ns\\:foo]"); |
27 }, document.title+", escaped character in attribute name with any namespace"
); | 27 }, document.title+", escaped character in attribute name with any namespace"
); |
28 test(function() { | 28 test(function() { |
29 assert_selector_serializes_to(escaped_ns_rule + "[ns\\:odd|foo]", "[ns\\
:odd|foo]"); | 29 assert_selector_serializes_to(escaped_ns_rule + "[ns\\:odd|foo]", "[ns\\
:odd|foo]"); |
30 }, document.title+", escaped character in attribute prefix"); | 30 }, document.title+", escaped character in attribute prefix"); |
31 test(function() { | 31 test(function() { |
32 assert_selector_serializes_to(escaped_ns_rule + "[ns\\:odd|odd\\:name]",
"[ns\\:odd|odd\\:name]"); | 32 assert_selector_serializes_to(escaped_ns_rule + "[ns\\:odd|odd\\:name]",
"[ns\\:odd|odd\\:name]"); |
33 }, document.title+", escaped character in both attribute prefix and name"); | 33 }, document.title+", escaped character in both attribute prefix and name"); |
34 </script> | 34 </script> |
OLD | NEW |