github.com/web-platform-tests/wpt.fyi@v0.0.0-20240530210107-70cf978996f1/webapp/components/test/wpt-flags.html (about) 1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <script src="../../node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js"></script> 6 <script src="../../node_modules/wct-browser-legacy/browser.js"></script> 7 </head> 8 <body> 9 <wpt-flags-editor id="playground"></wpt-flags-editor> 10 11 <test-fixture id="wpt-flags-editor-fixture"> 12 <template> 13 <wpt-flags-editor></wpt-flags-editor> 14 </template> 15 </test-fixture> 16 17 <script type="module"> 18 import { WPTFlags } from '../wpt-flags.js'; 19 import { PolymerElement } from '../../node_modules/@polymer/polymer/polymer-element.js'; 20 21 suite('wpt-flags', () => { 22 suite('WPTFlags', () => { 23 let flags; 24 25 setup(() => { 26 if (!window.customElements.get('wpt-flags')) { 27 class ConcreteClass extends WPTFlags(PolymerElement) {} 28 window.customElements.define('wpt-flags', ConcreteClass); 29 } 30 flags = document.createElement('wpt-flags'); 31 }); 32 33 test('queryBuilder', () => { 34 const before = flags.queryBuilder; 35 flags.queryBuilder = !flags.queryBuilder; 36 expect(flags.queryBuilder).to.equal(before); 37 }); 38 }); 39 40 suite('WPTFlagsEditor', () => { 41 let editor, queryBuilderStateBefore; 42 43 setup(() => { 44 editor = fixture('wpt-flags-editor-fixture'); 45 queryBuilderStateBefore = editor.queryBuilder; 46 }); 47 48 test('queryBuilder', () => { 49 editor.queryBuilder = true; 50 expect(editor.queryBuilder).to.equal(true); 51 editor.queryBuilder = false; 52 expect(editor.queryBuilder).to.equal(false); 53 }); 54 55 teardown(() => { 56 editor.queryBuilder = queryBuilderStateBefore; 57 }); 58 }); 59 }); 60 </script> 61 </body> 62 </html>