1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
<!DOCTYPE html>
<html>
<head>
<title>CSS Test: CSSOM Media Query Serialization</title>
<link rel="author" title="Ben Sheldon" href="mailto:ben@codeforamerica.org">
<link rel="author" title="Chapman Shoop" href="mailto:chapman.shoop@gmail.com">
<link rel="help" href="http://www.w3.org/TR/cssom-1/#serializing-media-queries">
<meta name="flags" content="dom">
<meta name="assert" content="Media Queries are serialized according to the specification">
<script src="/resources/testharness.js" type="text/javascript"></script>
<script src="/resources/testharnessreport.js" type="text/javascript"></script>
</head>
<body>
<noscript>Test not run - javascript required.</noscript>
<div id="log"></div>
<script type="text/javascript">
var styleElement;
var styleSheet;
var mediaList;
// Setup - accepts media value for style element, e.g. <style media=???">
function setupMedia(media) {
styleElement = document.getElementById("styleElement");
if (styleElement) {
// teardown
document.getElementsByTagName("head")[0].removeChild(styleElement);
styleElement = undefined;
styleSheet = undefined;
mediaList = undefined;
}
styleElement = document.createElement("style");
styleElement.id = "styleElement";
styleElement.type = "text/css";
styleElement.media = media;
document.getElementsByTagName("head")[0].appendChild(styleElement);
styleSheet = styleElement.sheet;
mediaList = styleSheet.media;
}
// First explicit example input (first column) and output (second column) in specification.
test(function() {
setupMedia('not screen and (min-WIDTH:5px) AND (max-width:40px )');
assert_equals(mediaList.mediaText, "not screen and (max-width: 40px) and (min-width: 5px)");
}, "mediatest_mediaquery_serialize_1");
// Second explicit example input (first column) and output (second column) in specification.
test(function() {
setupMedia('all and (color) and (color) ');
assert_equals(mediaList.mediaText, "(color)");
}, "mediatest_mediaquery_serialize_2");
</script>
</body>
</html>
|