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>