<html> <head> <!-- The testcase input --> <style> d\eeeex {} D\eeeeX {} x { background-image: url('http://w/\aaaa/1b\aaaa.gif'); } y { background-image: url(http://w/\aaaa/1b\aaaa.gif); } </style> <script src="../../resources/testharness.js"></script> <script src="../../resources/testharnessreport.js"></script> <script> test(function() { var styleElm = document.getElementsByTagName("style")[0]; assert_not_equals(styleElm, null, "Style element exists"); var stylesheet = styleElm.sheet; assert_not_equals(stylesheet, undefined, "style.sheet exists"); rules = stylesheet.cssRules; assert_equals(rules.length, 4, "cssRules.length == 4"); assert_equals(rules[0].selectorText, "d\ueeeex", "Lowercase identifier with escapes"); assert_equals(rules[1].selectorText, "d\ueeeex", "Uppercase identifier with escapes"); assert_equals(rules[2].style.cssText, 'background-image: url("http://w/' + decodeURIComponent("%EA%AA%AA") + "/1b" + decodeURIComponent("%EA%AA%AA") + '.gif");', "Escaped url string"); assert_equals(rules[3].style.cssText, 'background-image: url("http://w/' + decodeURIComponent("%EA%AA%AA") + "/1b" + decodeURIComponent("%EA%AA%AA") + '.gif");', "Escaped url without string"); }, "Correctly parsed identifier with escapes"); </script> </head> <body><!-- Intentionally left empty --></body> </html>