This test tests and documents the behavior of CSS style rules with a massive number of selectors. Rules with >8192 selector components get split into multiple rules at the parsing stage. Setting a rule's selectorText via CSSOM will do nothing if there are more than 8192 components. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS rule().selectorText = selectorListWithLength(1); rule().selectorText is selectorListWithLength(1) PASS rule().selectorText = selectorListWithLength(8192); rule().selectorText is selectorListWithLength(8192) PASS rule().selectorText = '.reset'; rule().selectorText is '.reset' PASS rule().selectorText = selectorListWithLength(8193); rule().selectorText is '.reset' PASS rule().selectorText = '.reset'; rule().selectorText is '.reset' PASS rule().selectorText = selectorListWithLength(8193); sheet().rules.length is 1 PASS rule().selectorText = selectorListWithLength(8192); rule().selectorText is selectorListWithLength(8192) PASS rule().selectorText = selectorListWithLength(8192); sheet().rules.length is 1 PASS rule().selectorText = '.reset'; rule().selectorText is '.reset' PASS rule().selectorText = selectorListWithLength(8193); rule().selectorText is '.reset' PASS rule().selectorText = selectorListWithLength(8193); sheet().rules.length is 1 PASS rule().selectorText = fatSelectorListWithLength(1); sheet().rules.length is 1 PASS rule().selectorText = fatSelectorListWithLength(1); rule().selectorText is fatSelectorListWithLength(1) PASS rule().selectorText = fatSelectorListWithLength(2048); rule().selectorText is fatSelectorListWithLength(2048) PASS rule().selectorText = '.reset'; rule().selectorText is '.reset' PASS rule().selectorText = fatSelectorListWithLength(2049); rule().selectorText is '.reset' PASS styleElement.innerText = styleSheetWithSelectorLength(1); rule().selectorText is selectorListWithLength(1) PASS styleElement.innerText = styleSheetWithSelectorLength(8192); rule().selectorText is selectorListWithLength(8192) PASS styleElement.innerText = styleSheetWithSelectorLength(8192); sheet().rules.length is 1 PASS styleElement.innerText = styleSheetWithSelectorLength(8193); rule().selectorText is selectorListWithLength(8192) PASS styleElement.innerText = styleSheetWithSelectorLength(8193); sheet().rules.length is 2 PASS styleElement.innerText = styleSheetWithSelectorLength(16384); sheet().rules.length is 2 PASS styleElement.innerText = styleSheetWithSelectorLength(16385); sheet().rules.length is 3 PASS styleElement.innerText = fatStyleSheetWithSelectorLength(1); sheet().rules.length is 1 PASS styleElement.innerText = fatStyleSheetWithSelectorLength(2048); sheet().rules.length is 1 PASS styleElement.innerText = fatStyleSheetWithSelectorLength(2049); sheet().rules.length is 2 PASS styleElement.innerText = fatStyleSheetWithSelectorLength(4096); sheet().rules.length is 2 PASS styleElement.innerText = fatStyleSheetWithSelectorLength(4097); sheet().rules.length is 3 PASS styleElement.innerText = fatStyleSheetWithSelectorLength(16385); sheet().rules.length is 9 PASS styleElement.innerText = fatStyleSheetWithSelectorLength(16384); sheet().rules.length is 8 PASS styleElement.innerText = fatStyleSheetWithSelectorLength(16385); sheet().rules.length is 9 PASS successfullyParsed is true TEST COMPLETE