tor-browser

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

medialist-interfaces-002.html (2457B)


      1 <!DOCTYPE html>
      2 <html>
      3 <head>
      4  <title>CSS Test: CSSOM MediaList Interfaces</title>
      5  <link rel="author" title="Chapman Shoop" href="mailto:chapman.shoop@gmail.com">
      6  <link rel="reviewer" title="Ms2ger" href="mailto:ms2ger@gmail.com"> <!-- 2012-06-17 -->
      7  <link rel="help" href="https://drafts.csswg.org/cssom/#the-medialist-interface">
      8  <meta name="flags" content="dom">
      9  <meta name="assert" content="MediaList object has deleteMedium method and it functions properly.">
     10  <script src="/resources/testharness.js" type="text/javascript"></script>
     11  <script src="/resources/testharnessreport.js" type="text/javascript"></script>
     12 </head>
     13 
     14 <body>
     15  <noscript>Test not run - javascript required.</noscript>
     16  <div id="log"></div>
     17 
     18  <script type="text/javascript">
     19    function setup() {
     20      // Clean out any old style element
     21      var old_style_el = document.getElementById('test_style');
     22      if (old_style_el) {
     23        document.head.removeChild(old_style_el);
     24      }
     25 
     26      // Create a fresh style element and return its media attribute
     27      var style_el = document.createElement('style');
     28      style_el.setAttribute('id', 'test_style');
     29      document.head.appendChild(style_el);
     30      return style_el.sheet.media;
     31    }
     32  </script>
     33 
     34  <script type="text/javascript">
     35 
     36    // MediaList.deleteMedium called without argument throws error.
     37    test(function() {
     38      media_list = setup();
     39      assert_throws_js(TypeError, function() { media_list.deleteMedium(); });
     40    }, "deleteMedium_called_without_argument");
     41 
     42    // MediaList.deleteMedium removes correct medium and updates corresponding properties.
     43    test(function() {
     44      media_list = setup();
     45 
     46      media_list.appendMedium("screen");
     47      media_list.appendMedium("all");
     48 
     49      media_list.deleteMedium("screen");
     50 
     51      assert_equals(media_list.length, 1);
     52      assert_equals(media_list.item(0), "all");
     53      assert_equals(media_list.mediaText, "all");
     54    }, "deleteMedium_removes_correct_medium");
     55 
     56    // MediaList.deleteMedium doesn't modify MediaList when medium is not found.
     57    test(function() {
     58      media_list = setup();
     59 
     60      media_list.appendMedium("all");
     61 
     62      assert_throws_dom("NotFoundError", () => media_list.deleteMedium("screen"));
     63 
     64      assert_equals(media_list.length, 1);
     65      assert_equals(media_list.item(0), "all");
     66      assert_equals(media_list.mediaText, "all");
     67    }, "deleteMedium_no_matching_medium_to_remove");
     68 
     69  </script>
     70 </body>
     71 </html>