| <!DOCTYPE html> |
| <script src="../../resources/js-test.js"></script> |
| <style id="style1"> |
| @namespace url(default); |
| @namespace my-namespace url(http://www.w3.org/1999/xhtml); |
| body { |
| color:black; |
| } |
| my-namespace|body { |
| color:red; |
| } |
| </style> |
| Here is some text! |
| <script> |
| description('Check the basic attribute support of CSSOM CSSNamespaceRule'); |
| |
| shouldBe('CSSRule.NAMESPACE_RULE','10'); |
| var styleSheet = document.getElementById("style1").sheet; |
| var defaultNamespacerule = styleSheet.cssRules[0]; |
| var namespacerule = styleSheet.cssRules[1]; |
| shouldBe('namespacerule.type','10'); |
| shouldBeEqualToString('namespacerule.namespaceURI','http://www.w3.org/1999/xhtml'); |
| shouldBeEqualToString('namespacerule.prefix','my-namespace'); |
| shouldBeEqualToString('defaultNamespacerule.cssText', '@namespace url("default");'); |
| shouldBeEqualToString('namespacerule.cssText', '@namespace my-namespace url("http://www.w3.org/1999/xhtml");'); |
| shouldBeEqualToString('getComputedStyle(document.body).color', 'rgb(255, 0, 0)'); |
| |
| debug("Deleting namespace rule when other rules are present should throw InvalidStateException."); |
| try { |
| styleSheet.deleteRule(namespacerule); |
| } catch (e) { |
| shouldBe(e.code, '11'); |
| } |
| |
| debug("Inserting new namespace rule when other rules are present should throw InvalidStateException."); |
| try { |
| styleSheet.insertRule("@namespace new-namespace url('test-namespace');", styleSheet.cssRules.length); |
| } catch (e) { |
| shouldBe(e.code, '11'); |
| } |
| |
| </script> |