summaryrefslogtreecommitdiffstats
path: root/layout/style/test/test_rule_serialization.html
diff options
context:
space:
mode:
Diffstat (limited to 'layout/style/test/test_rule_serialization.html')
-rw-r--r--layout/style/test/test_rule_serialization.html53
1 files changed, 53 insertions, 0 deletions
diff --git a/layout/style/test/test_rule_serialization.html b/layout/style/test/test_rule_serialization.html
new file mode 100644
index 000000000..eba9a3e6f
--- /dev/null
+++ b/layout/style/test/test_rule_serialization.html
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=
+-->
+<head>
+ <title>Test for Bug </title>
+ <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+ <style type="text/css" id="style"></style>
+</head>
+<body>
+<pre id="test">
+<script type="application/javascript">
+
+var rules = [
+ { rule: "@-moz-document url(http://www.example.com/) {}" },
+ { rule: "@-moz-document url('http://www.example.com/') {}" },
+ { rule: '@-moz-document url("http://www.example.com/") {}' },
+ { rule: "@-moz-document url-prefix('http://www.example.com/') {}" },
+ { rule: '@-moz-document url-prefix("http://www.example.com/") {}' },
+ { rule: "@-moz-document domain('example.com') {}" },
+ { rule: '@-moz-document domain("example.com") {}' },
+ { rule: "@-moz-document regexp('http://www.w3.org/TR/\\d{4}/[^/]*-CSS2-\\d{8}/') {}" },
+ { rule: '@-moz-document regexp("http://www.w3.org/TR/\\d{4}/[^/]*-CSS2-\\d{8}/") {}' },
+];
+
+var style = document.getElementById("style");
+var style_text = document.createTextNode("");
+style.appendChild(style_text);
+
+for (var i in rules) {
+ var obj = rules[i];
+ var rule = obj.rule;
+
+ style_text.data = rule;
+ is(style.sheet.cssRules.length, 1, "should have one rule");
+ var ser1 = style.sheet.cssRules[0].cssText;
+ if ("is_canonical" in obj) {
+ is(ser1, rule, "rule '" + rule + "' should serialize to itself");
+ }
+
+ style_text.data = ser1;
+ is(style.sheet.cssRules.length, 1, "should have one rule");
+ var ser2 = style.sheet.cssRules[0].cssText;
+ is(ser2, ser1,
+ "parse+serialize for rule '" + rule + "' should be idempotent");
+}
+
+</script>
+</pre>
+</body>
+</html>