Test CSSSupportRule.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS CSSRule.SUPPORTS_RULE is defined.
rules = document.styleSheets[1].cssRules
PASS rules.length is 4
PASS rules[0].type is CSSRule.SUPPORTS_RULE
PASS rules[0].cssRules.length is 2
PASS rules[0].cssRules[0].type is CSSRule.STYLE_RULE
PASS rules[0].cssRules[1].type is CSSRule.SUPPORTS_RULE
PASS rules[0].cssRules[1].cssRules.length is 1
PASS rules[0].cssRules[1].cssRules[0].type is CSSRule.STYLE_RULE
PASS rules[0].conditionText is "(width: 0)"
PASS rules[0].cssText is "@supports (width: 0) {\n  s { width: 0px; }\n  @supports (width: 1) {\n  s { color: rgb(0, 0, 0); }\n}\n}"

Inserting and deleting rules.
rules[0].insertRule('@media all { #s { width: 0px; } }', 2)
PASS rules[0].cssRules.length is 3
PASS rules[0].cssRules[2].type is CSSRule.MEDIA_RULE
rules[0].deleteRule(2)
PASS rules[0].cssRules.length is 2
rules[0].cssRules[1].insertRule('@supports (display: rainbow) {}', 1)
PASS rules[0].cssRules[1].cssRules.length is 2
PASS rules[0].cssRules[1].cssRules[1].type is CSSRule.SUPPORTS_RULE
rules[0].cssRules[1].deleteRule(1)
PASS rules[0].cssRules.length is 2

@charset, @namespace, @import rules are not allowed inside @supports.
PASS rules[0].insertRule('@charset "UTF-8"', 2) threw exception Error: SyntaxError: DOM Exception 12.
PASS rules[0].insertRule('@namespace ""', 2) threw exception Error: SyntaxError: DOM Exception 12.
PASS rules[0].insertRule('@import url("../fast/cssom/resources/import.css")', 2) threw exception Error: SyntaxError: DOM Exception 12.

Whitespace and formatting should be preserved within the condition, whitespace outside the condition should be trimmed.
PASS rules[1].conditionText is "((  (     padding: 0)    and (display: none)) or (display: rainbow))"

@supports rule nested inside a media rule.
PASS rules[2].type is CSSRule.MEDIA_RULE
PASS rules[2].cssRules.length is 1
PASS rules[2].cssRules[0].type is CSSRule.SUPPORTS_RULE
PASS rules[2].cssRules[0].conditionText is "( padding: 0)"
PASS rules[0].cssRules[1].cssRules.length is 1
PASS rules[2].cssRules[0].cssRules[0].type is CSSRule.PAGE_RULE
PASS rules[2].cssText is "@media all { \n  @supports ( padding: 0) {\n  @page :left { top: 0px; }\n}\n}"

No extra parens should be added to the conditionText.
PASS rules[3].conditionText is "(border: black) and (padding: 0) and (width: 0)"

Deleting a top-level rule should work correctly.
document.styleSheets[1].deleteRule(3)
PASS rules.length is 3
PASS rules[0].type is CSSRule.SUPPORTS_RULE
PASS rules[0].cssRules.length is 2
PASS rules[0].cssRules[0].type is CSSRule.STYLE_RULE
PASS rules[0].cssRules[1].type is CSSRule.SUPPORTS_RULE
PASS rules[0].cssRules[1].cssRules.length is 1
PASS rules[0].cssRules[1].cssRules[0].type is CSSRule.STYLE_RULE
PASS successfullyParsed is true

TEST COMPLETE

