| <!doctype html> | |
| <meta charset=utf-8> | |
| <!-- WARNING: These tests are preliminary and probably partly incorrect. --> | |
| <title>CSSOM automated IDL tests</title> | |
| <link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com"> | |
| <link rel="help" href="https://drafts.csswg.org/cssom-1/#idl-index"> | |
| <meta name="timeout" content="long"> | |
| <script src=/resources/testharness.js></script> | |
| <script src=/resources/testharnessreport.js></script> | |
| <script src=/resources/WebIDLParser.js></script> | |
| <script src=/resources/idlharness.js></script> | |
| <!-- | |
| Provide some objects to test. | |
| Use a non-empty style attribute to get a non-empty CSSStyleDeclaration. | |
| --> | |
| <style id="styleElement" style="z-index: 0;"> | |
| @import url("data:text/css,"); | |
| @namespace x "y"; | |
| @page { @top-left {} } | |
| @media all {} | |
| #test { color: green; } | |
| </style> | |
| <svg id="svgElement" style="height: 0;"></svg> | |
| <iframe id="xmlssPiIframe" src="support/xmlss-pi.xhtml" style="display: none;"></iframe> | |
| <h1>CSSOM IDL tests</h1> | |
| <div id=log></div> | |
| <script> | |
| 'use strict'; | |
| const waitForLoad = new Promise(r => { addEventListener('load', r); }); | |
| idl_test( | |
| ['cssom'], | |
| ['SVG', 'uievents', 'html', 'dom', 'mathml-core'], | |
| async idlArray => { | |
| idlArray.add_objects({ | |
| Document: ['document', 'new Document()'], | |
| StyleSheetList: ['document.styleSheets'], | |
| CSSStyleSheet: ['sheet'], | |
| MediaList: ['sheet.media'], | |
| CSSRuleList: ['sheet.cssRules'], | |
| CSSImportRule: ['sheet.cssRules[0]'], | |
| CSSNamespaceRule: ['sheet.cssRules[1]'], | |
| CSSPageRule: ['sheet.cssRules[2]'], | |
| CSSMarginRule: ['sheet.cssRules[2].cssRules[0]'], | |
| CSSMediaRule: ['sheet.cssRules[3]'], | |
| CSSStyleRule: ['sheet.cssRules[4]'], | |
| CSSStyleDeclaration: [ | |
| 'sheet.cssRules[4].style', // CSSStyleRule | |
| 'sheet.cssRules[2].style', // CSSPageRule | |
| 'sheet.cssRules[2].cssRules[0].style', // CSSMarginRule | |
| 'style_element.style', // ElementCSSInlineStyle for HTMLElement | |
| 'svg_element.style', // ElementCSSInlineStyle for SVGElement | |
| 'getComputedStyle(svg_element)' | |
| ], | |
| ProcessingInstruction: ['xmlss_pi'], | |
| Window: ['window'], | |
| HTMLElement: [ | |
| 'style_element', | |
| 'document.createElement("unknownelement")' | |
| ], | |
| SVGElement: ['svg_element'], | |
| }); | |
| await waitForLoad; | |
| self.style_element = document.getElementById('styleElement'); | |
| self.sheet = style_element.sheet; | |
| self.svg_element = document.getElementById('svgElement'); | |
| self.xmlss_pi = document.getElementById('xmlssPiIframe').contentDocument.firstChild; | |
| } | |
| ); | |
| </script> |