<!DOCTYPE html>
<html>
<head>
    <title>CSSOM View Module test:Screen-pixelDepth,Screen-colorDepth</title>
    <link rel="author" title="unbug" href="mailto:tidelgl@gmail.com" />
    <link rel="help" href="http://www.w3.org/TR/cssom-view/#the-screen-interface">
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <style type="text/css">
    </style>
</head>
<body>
    <p>This case tests the Screen pixelDepth and colorDepth</p>
    <p>The test passes if the value is 24</p>
    <div id="log"></div>
    <script>
        test(function(){
            assert_equals(testColorDepth(), 24, "Expected value for colorDepth is 24");
        },'testColorDepth');
        test(function(){
            assert_equals(testPixelDepth(), 24, "Expected value for pixelDepth is 24");
        },'testPixelDepth');
        function testColorDepth(){
            var  colorDepth = window.screen.colorDepth;
            return colorDepth;
        }
        function testPixelDepth(){
            var  pixelDepth = window.screen.pixelDepth;
            return pixelDepth;
        }
    </script>
</body>
</html>
