tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

nomodule-reflect.html (3066B)


      1 <!DOCTYPE html>
      2 <html>
      3 <head>
      4 <title>noModule IDL attribute must reflect nomodule content attribute</title>
      5 <link rel="author" title="Yusuke Suzuki" href="mailto:utatane.tea@gmail.com">
      6 <link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org">
      7 <script src="/resources/testharness.js"></script>
      8 <script src="/resources/testharnessreport.js"></script>
      9 </head>
     10 <body>
     11 <script id="classicWithoutNomodule"></script>
     12 <script id="classicWithNomodule" nomodule></script>
     13 <script id="moduleWithoutNomodule" type=module></script>
     14 <script id="moduleWithNomodule" type=module nomodule></script>
     15 <script>
     16 
     17 test(() => {
     18    assert_false(document.getElementById('classicWithoutNomodule').noModule);
     19 }, 'noModule IDL attribute on a parser created classic script element without nomodule content attribute');
     20 
     21 test(() => {
     22    assert_true(document.getElementById('classicWithNomodule').noModule);
     23 }, 'noModule IDL attribute on a parser created classic script element with nomodule content attribute');
     24 
     25 test(() => {
     26    assert_false(document.getElementById('moduleWithoutNomodule').noModule);
     27 }, 'noModule IDL attribute on a parser created module script element without nomodule content attribute');
     28 
     29 test(() => {
     30    assert_true(document.getElementById('moduleWithNomodule').noModule);
     31 }, 'noModule IDL attribute on a parser created module script element with nomodule content attribute');
     32 
     33 
     34 test(() => {
     35    const script = document.createElement('script');
     36    assert_false(script.noModule);
     37 }, 'noModule IDL attribute on a dynamically created script element without nomodule content attribute');
     38 
     39 test(() => {
     40    const script = document.createElement('script');
     41    script.setAttribute('nomodule', 'nomodule');
     42    assert_true(script.noModule);
     43 }, 'noModule IDL attribute on a dynamically created script element after nomodule content attribute is set to "nomodule"');
     44 
     45 test(() => {
     46    const script = document.createElement('script');
     47    script.setAttribute('nomodule', '');
     48    assert_true(script.noModule);
     49 }, 'noModule IDL attribute on a dynamically created script element after nomodule content attribute is set to ""');
     50 
     51 test(() => {
     52    const script = document.createElement('script');
     53    script.setAttribute('nomodule', 'nomodule');
     54    assert_true(script.noModule);
     55    script.removeAttribute('nomodule');
     56    assert_false(script.noModule);
     57 }, 'noModule IDL attribute on a dynamically created script element after nomodule content attribute had been removed');
     58 
     59 test(() => {
     60    const script = document.createElement('script');
     61    assert_false(script.hasAttribute('nomodule'));
     62    script.noModule = true;
     63    assert_true(script.hasAttribute('nomodule'));
     64 }, 'noModule IDL attribute must add nomodule content attribute on setting to true');
     65 
     66 test(() => {
     67    const script = document.createElement('script');
     68    script.setAttribute('nomodule', 'nomodule');
     69    script.noModule = false;
     70    assert_false(script.hasAttribute('nomodule'));
     71 }, 'noModule IDL attribute must remove nomodule content attribute on setting to false');
     72 
     73 </script>
     74 </body>
     75 </html>