<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head id="myhead">
<link rel="stylesheet" href="../js/resources/js-test-style.css">
<script src="../js/resources/js-test-pre.js"></script>
<script src="../js/resources/js-test-post-function.js"></script>
<script>
if (window.layoutTestController)
    window.layoutTestController.dumpAsText();

function doTest()
{
    description("This succeeds if max-height and max-width are not set together, but are different values.");

    var box = document.createElement("div");
    box.style['max-height'] = "20px";
    box.style['max-width'] = "30px";

    document.getElementById("body").appendChild(box);    

    var style = window.getComputedStyle(box);
    if(style.getPropertyValue("max-height") == style.getPropertyValue("max-width"))
        testFailed("max-width is NOT independent of max-height.");
    else
        testPassed("max-width is independent of max-height.");

    window.successfullyParsed = true;
}
</script>
</head>
<body onload="doTest()" id="body">
<p id="description"></p>
<div id="console"></div>
</body>
</html>
