<html>
    <head>
        <title>Property is declared twice in rule</title>
        <style type="text/css">
            div
            {
                color: red;
                color: green;
            }
        </style>
    <script>
    if (window.testRunner)
        window.testRunner.dumpAsText();
    </script>
    </head>
    <body>
        <div>This text should be green and the page should have no other style.</div>
        <div id="testresult">Fail</div>
        <script type="text/javascript">
            if(document.styleSheets[0].cssRules[0].style.length == 1)
            {
                document.getElementById("testresult").innerHTML = "Pass";
            }
        </script>
    </body>
</html>
