<!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>
