tor-browser

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

MediaList.html (3491B)


      1 <!doctype html>
      2 <html>
      3 <head>
      4    <meta charset="utf-8">
      5    <title>CSSOM - MediaList interface</title>
      6    <link rel="help" href="https://drafts.csswg.org/cssom/#the-medialist-interface">
      7    <script src="/resources/testharness.js"></script>
      8    <script src="/resources/testharnessreport.js"></script>
      9    <style>
     10        @media screen and (min-width: 480px), print, projection {}
     11    </style>
     12 
     13    <script>
     14    test(function () {
     15        var media = document.styleSheets[0].cssRules[0].media;
     16        assert_equals(media.length, 3, "MediaList length attribute");
     17        assert_equals(media.mediaText, "screen and (min-width: 480px), print, projection", "MediaList mediaText attribute");
     18        assert_equals(media.toString(), "screen and (min-width: 480px), print, projection", "MediaList toString method");
     19        assert_equals(media[0], "screen and (min-width: 480px)", "MediaList indexed getter");
     20        assert_equals(media[1], "print", "MediaList indexed getter");
     21        assert_equals(media[2], "projection", "MediaList indexed getter");
     22        assert_equals(media[3], undefined, "MediaList indexed getter with out of range");
     23        assert_equals(media.item(0), "screen and (min-width: 480px)", "MediaList item method");
     24        assert_equals(media.item(3), null, "MediaList item method");
     25 
     26        media.deleteMedium("print");
     27        assert_equals(media.length, 2, "MediaList length attribute after delete method");
     28        assert_equals(media.mediaText, "screen and (min-width: 480px), projection", "MediaList mediaText attribute after delete method");
     29        assert_equals(media.toString(), "screen and (min-width: 480px), projection", "MediaList toString method after delete method");
     30        assert_equals(media[1], "projection", "MediaList indexed getter after delete method");
     31        assert_equals(media[2], undefined, "MediaList indexed getter with out of range after delete method");
     32        assert_equals(media.item(1), "projection", "MediaList indexed getter after delete method");
     33        assert_equals(media.item(2), null, "MediaList item method after delete method");
     34 
     35        media.appendMedium("speech");
     36        assert_equals(media.length, 3, "MediaList length attribute after append method");
     37        assert_equals(media.mediaText, "screen and (min-width: 480px), projection, speech", "MediaList mediaText attribute after append method");
     38        assert_equals(media.toString(), "screen and (min-width: 480px), projection, speech", "MediaList toString method after append method");
     39        assert_equals(media[1], "projection", "MediaList indexed getter after append method");
     40        assert_equals(media[2], "speech", "MediaList indexed getter after append method");
     41        assert_equals(media[3], undefined, "MediaList indexed getter with out of range after append method");
     42        assert_equals(media.item(2), "speech", "MediaList item method after append method");
     43        assert_equals(media.item(3), null, "MediaList item method after append method");
     44 
     45        media.mediaText = null;
     46        assert_equals(media.mediaText, "", "MediaList mediaText attribute should be empty string in case of null");
     47        assert_equals(media.toString(), "", "MediaList toString method should be empty string in case of null");
     48 
     49        var rule = document.styleSheets[0].cssRules[0];
     50        rule.media = "speech";
     51        assert_equals(rule.media.mediaText, "speech", "MediaList mediaText attribute should be updated");
     52    });
     53    </script>
     54 </head>
     55 </html>