Index: LayoutTests/fast/media/mq-append-delete.html |
diff --git a/LayoutTests/fast/media/mq-append-delete.html b/LayoutTests/fast/media/mq-append-delete.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..95d4351d248d0e018428a818863a03e541da17b6 |
--- /dev/null |
+++ b/LayoutTests/fast/media/mq-append-delete.html |
@@ -0,0 +1,97 @@ |
+<!doctype html> |
+<style type="text/css">@media screen { }</style> |
+<script src="../../resources/testharness.js"></script> |
+<script src="../../resources/testharnessreport.js"></script> |
+<div id=log></div> |
+<script> |
+var rules = document.styleSheets[0].cssRules; |
+var mediaList = rules.item(0).media; |
+ |
+test(function () { |
+ mediaList.mediaText = "screen"; |
+ assert_throws("INVALID_CHARACTER_ERR", |
+ function () { mediaList.appendMedium("tv, screen"); } |
+ ); |
+}, "Add 'tv, screen' to 'screen'"); |
+ |
+test(function () { |
+ mediaList.mediaText = "screen"; |
+ mediaList.appendMedium("tv"); |
+ assert_equals(mediaList.mediaText, "screen, tv"); |
+}, "Add 'tv' to 'screen'"); |
+ |
+test(function () { |
+ mediaList.mediaText = "screen, tv"; |
+ mediaList.appendMedium("screen"); |
+ assert_equals(mediaList.mediaText, "screen, tv"); |
+}, "Add 'screen' to 'screen, tv'"); |
+ |
+test(function () { |
+ mediaList.mediaText = "screen, tv"; |
+ assert_throws("INVALID_CHARACTER_ERR", |
+ function () { mediaList.appendMedium(""); } |
+ ); |
+}, "Add '' to 'screen, tv'"); |
+ |
+test(function () { |
+ mediaList.mediaText = "screen, tv"; |
+ mediaList.appendMedium("tv"); |
+ assert_equals(mediaList.mediaText, "screen, tv"); |
+}, "Add 'tv' to 'screen, tv'"); |
+ |
+test(function () { |
+ mediaList.mediaText = "screen, tv"; |
+ mediaList.appendMedium("&invalid"); |
+ assert_equals(mediaList.mediaText, "screen, tv, not all"); |
+}, "Add '&invalid' to 'screen, tv'"); |
+ |
+test(function () { |
+ mediaList.mediaText = "screen, tv"; |
+ mediaList.appendMedium("not all"); |
+ assert_equals(mediaList.mediaText, "screen, tv, not all"); |
+}, "Add 'not all' to 'screen, tv'"); |
+ |
+test(function () { |
+ mediaList.mediaText = "screen, tv, not all"; |
+ mediaList.deleteMedium("&invalid"); |
+ assert_equals(mediaList.mediaText, "screen, tv"); |
+}, "Remove '&invalid' from 'screen, tv, not all'"); |
+ |
+test(function () { |
+ mediaList.mediaText = "screen, tv"; |
+ assert_throws("NOT_FOUND_ERR", |
+ function () { mediaList.deleteMedium("not all"); } |
+ ); |
+}, "Remove 'not all' from 'screen, tv'"); |
+ |
+test(function () { |
+ mediaList.mediaText = "screen, tv, not all"; |
+ mediaList.deleteMedium("not all"); |
+ assert_equals(mediaList.mediaText, "screen, tv"); |
+}, "Remove 'not all' from 'screen, tv, not all'"); |
+ |
+test(function () { |
+ mediaList.mediaText = "screen, tv"; |
+ mediaList.deleteMedium("tv"); |
+ assert_equals(mediaList.mediaText, "screen"); |
+}, "Remove 'tv' from 'screen, tv'"); |
+ |
+test(function () { |
+ mediaList.mediaText = "not all, not all, tv, not all"; |
+ mediaList.deleteMedium("not all"); |
+ assert_equals(mediaList.mediaText, "tv"); |
+}, "Remove 'not all' from 'not all, not all, tv, not all'"); |
+ |
+test(function () { |
+ mediaList.mediaText = "not all, not all, tv, not all"; |
+ mediaList.deleteMedium("tv"); |
+ assert_equals(mediaList.mediaText, "not all, not all, not all"); |
+}, "Remove 'tv' from 'not all, not all, tv, not all'"); |
+ |
+test(function () { |
+ mediaList.mediaText = "tv, print, screen"; |
+ assert_throws("NOT_FOUND_ERR", |
+ function () { mediaList.deleteMedium("tv, print"); } |
+ ); |
+}, "Remove 'tv, print' from 'screen, tv, screen'"); |
+</script> |