Index: LayoutTests/fast/css/parsing-unexpected-eof.html |
diff --git a/LayoutTests/fast/css/parsing-unexpected-eof.html b/LayoutTests/fast/css/parsing-unexpected-eof.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..698e3149dc46298ab7b41bc0f16de1a729dd1844 |
--- /dev/null |
+++ b/LayoutTests/fast/css/parsing-unexpected-eof.html |
@@ -0,0 +1,54 @@ |
+<!DOCTYPE html> |
+<html> |
+ <head> |
+ <title>CSS Parser - auto-close for unexpected EOF</title> |
+ <script src="../../resources/testharness.js"></script> |
+ <script src="../../resources/testharnessreport.js"></script> |
+ <style> |
+ div {} |
+ div {} |
+ </style> |
+ </head> |
+ <body> |
+ <div id="qs"><i class="x"></i><b></b></div> |
+ <script> |
+ var sheet = document.styleSheets[0]; |
+ var rules = sheet.cssRules; |
+ |
+ test(function(){ |
+ // internal_decls |
+ rules[0].style.cssText = "width: 200px; color: rgb(10, 20, 30"; |
+ assert_equals(rules[0].style.width, "200px", "Width not set correctly."); |
+ assert_equals(rules[0].style.color, "rgb(10, 20, 30)", "Color not set correctly"); |
+ }, "Unexpected EOF - CSSStyleDeclaration.cssText missing ')'"); |
+ |
+ test(function(){ |
+ // internal_value |
+ rules[0].style.color = "rgba(0, 0, 0, 0.2"; |
+ assert_equals(rules[0].style.color, "rgba(0, 0, 0, 0.2)", "rgba value not set correctly"); |
+ }, "Unexpected EOF - CSSStyleDeclaration.color missing ')'"); |
+ |
+ test(function(){ |
+ // internal_selector |
+ rules[0].selectorText = "#x, [name=\"x"; |
+ assert_equals(rules[0].selectorText, "#x, [name=\"x\"]"); |
+ }, "Unexpected EOF - CSSStyleRule.selectorText missing ']'"); |
+ |
+ test(function(){ |
+ // internal_rule |
+ sheet.insertRule("span { color: green", 2); |
+ assert_equals(rules[2].cssText, "span { color: green; }"); |
+ }, "Unexpected EOF - CSSStyleSheet.insertRule missing '}'"); |
+ |
+ test(function(){ |
+ // internal_selector |
+ assert_equals(document.querySelector("#qs [class=x").tagName, "I"); |
+ }, "Unexpected EOF - querySelector missing ']'"); |
+ |
+ test(function(){ |
+ // internal_selector |
+ assert_equals(document.querySelector("#qs :nth-child(2").tagName, "B"); |
+ }, "Unexpected EOF - querySelector missing ')'"); |
+ </script> |
+ </body> |
+</html> |