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>