| OLD | NEW | 
|---|
| 1 Test CSSSupportRule. | 1 Test CSSSupportRule. | 
| 2 | 2 | 
| 3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
    ". | 3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
    ". | 
| 4 | 4 | 
| 5 | 5 | 
| 6 PASS CSSRule.SUPPORTS_RULE is defined. | 6 PASS CSSRule.SUPPORTS_RULE is defined. | 
| 7 rules = document.styleSheets[1].cssRules | 7 rules = document.styleSheets[1].cssRules | 
| 8 PASS rules.length is 4 | 8 PASS rules.length is 4 | 
|  | 9 PASS rules[0] is an instance of CSSSupportsRule | 
| 9 PASS rules[0].type is CSSRule.SUPPORTS_RULE | 10 PASS rules[0].type is CSSRule.SUPPORTS_RULE | 
| 10 PASS rules[0].cssRules.length is 2 | 11 PASS rules[0].cssRules.length is 2 | 
| 11 PASS rules[0].cssRules[0].type is CSSRule.STYLE_RULE | 12 PASS rules[0].cssRules[0].type is CSSRule.STYLE_RULE | 
|  | 13 PASS rules[0].cssRules[1] is an instance of CSSSupportsRule | 
| 12 PASS rules[0].cssRules[1].type is CSSRule.SUPPORTS_RULE | 14 PASS rules[0].cssRules[1].type is CSSRule.SUPPORTS_RULE | 
| 13 PASS rules[0].cssRules[1].cssRules.length is 1 | 15 PASS rules[0].cssRules[1].cssRules.length is 1 | 
| 14 PASS rules[0].cssRules[1].cssRules[0].type is CSSRule.STYLE_RULE | 16 PASS rules[0].cssRules[1].cssRules[0].type is CSSRule.STYLE_RULE | 
| 15 PASS rules[0].conditionText is "(width: 0)" | 17 PASS rules[0].conditionText is "(width: 0)" | 
| 16 PASS rules[0].cssText is "@supports (width: 0) {\n  s { width: 0px; }\n  @suppor
    ts (width: 1) {\n  s { color: rgb(0, 0, 0); }\n}\n}" | 18 PASS rules[0].cssText is "@supports (width: 0) {\n  s { width: 0px; }\n  @suppor
    ts (width: 1) {\n  s { color: rgb(0, 0, 0); }\n}\n}" | 
| 17 | 19 | 
| 18 Inserting and deleting rules. | 20 Inserting and deleting rules. | 
| 19 rules[0].insertRule('@media all { #s { width: 0px; } }', 2) | 21 rules[0].insertRule('@media all { #s { width: 0px; } }', 2) | 
| 20 PASS rules[0].cssRules.length is 3 | 22 PASS rules[0].cssRules.length is 3 | 
| 21 PASS rules[0].cssRules[2].type is CSSRule.MEDIA_RULE | 23 PASS rules[0].cssRules[2].type is CSSRule.MEDIA_RULE | 
| 22 rules[0].deleteRule(2) | 24 rules[0].deleteRule(2) | 
| 23 PASS rules[0].cssRules.length is 2 | 25 PASS rules[0].cssRules.length is 2 | 
| 24 rules[0].cssRules[1].insertRule('@supports (display: rainbow) {}', 1) | 26 rules[0].cssRules[1].insertRule('@supports (display: rainbow) {}', 1) | 
| 25 PASS rules[0].cssRules[1].cssRules.length is 2 | 27 PASS rules[0].cssRules[1].cssRules.length is 2 | 
|  | 28 PASS rules[0].cssRules[1].cssRules[1] is an instance of CSSSupportsRule | 
| 26 PASS rules[0].cssRules[1].cssRules[1].type is CSSRule.SUPPORTS_RULE | 29 PASS rules[0].cssRules[1].cssRules[1].type is CSSRule.SUPPORTS_RULE | 
| 27 rules[0].cssRules[1].deleteRule(1) | 30 rules[0].cssRules[1].deleteRule(1) | 
| 28 PASS rules[0].cssRules.length is 2 | 31 PASS rules[0].cssRules.length is 2 | 
| 29 | 32 | 
| 30 @charset, @namespace, @import rules are not allowed inside @supports. | 33 @charset, @namespace, @import rules are not allowed inside @supports. | 
| 31 PASS rules[0].insertRule('@charset "UTF-8"', 2) threw exception SyntaxError: Fai
    led to execute 'insertRule' on 'CSSSupportsRule': the rule '@charset "UTF-8"' is
     invalid and cannot be parsed.. | 34 PASS rules[0].insertRule('@charset "UTF-8"', 2) threw exception SyntaxError: Fai
    led to execute 'insertRule' on 'CSSSupportsRule': the rule '@charset "UTF-8"' is
     invalid and cannot be parsed.. | 
| 32 PASS rules[0].insertRule('@namespace ""', 2) threw exception SyntaxError: Failed
     to execute 'insertRule' on 'CSSSupportsRule': the rule '@namespace ""' is inval
    id and cannot be parsed.. | 35 PASS rules[0].insertRule('@namespace ""', 2) threw exception SyntaxError: Failed
     to execute 'insertRule' on 'CSSSupportsRule': the rule '@namespace ""' is inval
    id and cannot be parsed.. | 
| 33 PASS rules[0].insertRule('@import url("../fast/cssom/resources/import.css")', 2)
     threw exception HierarchyRequestError: Failed to execute 'insertRule' on 'CSSSu
    pportsRule': '@import' rules cannot be inserted inside a group rule.. | 36 PASS rules[0].insertRule('@import url("../fast/cssom/resources/import.css")', 2)
     threw exception HierarchyRequestError: Failed to execute 'insertRule' on 'CSSSu
    pportsRule': '@import' rules cannot be inserted inside a group rule.. | 
| 34 | 37 | 
| 35 Whitespace and formatting should be preserved within the condition, whitespace o
    utside the condition should be trimmed. | 38 Whitespace and formatting should be preserved within the condition, whitespace o
    utside the condition should be trimmed. | 
| 36 PASS rules[1].conditionText is "((  (     padding: 0)    and (display: none)) or
     (display: rainbow))" | 39 PASS rules[1].conditionText is "((  (     padding: 0)    and (display: none)) or
     (display: rainbow))" | 
| 37 | 40 | 
| 38 @supports rule nested inside a media rule. | 41 @supports rule nested inside a media rule. | 
| 39 PASS rules[2].type is CSSRule.MEDIA_RULE | 42 PASS rules[2].type is CSSRule.MEDIA_RULE | 
| 40 PASS rules[2].cssRules.length is 1 | 43 PASS rules[2].cssRules.length is 1 | 
|  | 44 PASS rules[2].cssRules[0] is an instance of CSSSupportsRule | 
| 41 PASS rules[2].cssRules[0].type is CSSRule.SUPPORTS_RULE | 45 PASS rules[2].cssRules[0].type is CSSRule.SUPPORTS_RULE | 
| 42 PASS rules[2].cssRules[0].conditionText is "( padding: 0)" | 46 PASS rules[2].cssRules[0].conditionText is "( padding: 0)" | 
| 43 PASS rules[0].cssRules[1].cssRules.length is 1 | 47 PASS rules[0].cssRules[1].cssRules.length is 1 | 
| 44 PASS rules[2].cssRules[0].cssRules[0].type is CSSRule.PAGE_RULE | 48 PASS rules[2].cssRules[0].cssRules[0].type is CSSRule.PAGE_RULE | 
| 45 PASS rules[2].cssText is "@media all { \n  @supports ( padding: 0) {\n  @page :l
    eft { top: 0px; }\n}\n}" | 49 PASS rules[2].cssText is "@media all { \n  @supports ( padding: 0) {\n  @page :l
    eft { top: 0px; }\n}\n}" | 
| 46 | 50 | 
| 47 No extra parens should be added to the conditionText. | 51 No extra parens should be added to the conditionText. | 
| 48 PASS rules[3].conditionText is "(border: black) and (padding: 0) and (width: 0)" | 52 PASS rules[3].conditionText is "(border: black) and (padding: 0) and (width: 0)" | 
| 49 | 53 | 
| 50 Deleting a top-level rule should work correctly. | 54 Deleting a top-level rule should work correctly. | 
| 51 document.styleSheets[1].deleteRule(3) | 55 document.styleSheets[1].deleteRule(3) | 
| 52 PASS rules.length is 3 | 56 PASS rules.length is 3 | 
| 53 PASS rules[0].type is CSSRule.SUPPORTS_RULE | 57 PASS rules[0].type is CSSRule.SUPPORTS_RULE | 
| 54 PASS rules[0].cssRules.length is 2 | 58 PASS rules[0].cssRules.length is 2 | 
| 55 PASS rules[0].cssRules[0].type is CSSRule.STYLE_RULE | 59 PASS rules[0].cssRules[0].type is CSSRule.STYLE_RULE | 
| 56 PASS rules[0].cssRules[1].type is CSSRule.SUPPORTS_RULE | 60 PASS rules[0].cssRules[1].type is CSSRule.SUPPORTS_RULE | 
| 57 PASS rules[0].cssRules[1].cssRules.length is 1 | 61 PASS rules[0].cssRules[1].cssRules.length is 1 | 
| 58 PASS rules[0].cssRules[1].cssRules[0].type is CSSRule.STYLE_RULE | 62 PASS rules[0].cssRules[1].cssRules[0].type is CSSRule.STYLE_RULE | 
| 59 PASS successfullyParsed is true | 63 PASS successfullyParsed is true | 
| 60 | 64 | 
| 61 TEST COMPLETE | 65 TEST COMPLETE | 
| 62 | 66 | 
| OLD | NEW | 
|---|