<html>
<head>
<script>
function print(message) {
    var paragraph = document.createElement("p");
    paragraph.appendChild(document.createTextNode(message));
    document.getElementById("console").appendChild(paragraph);
}

function test() {
    if (window.layoutTestController) {
        layoutTestController.dumpAsText();
    }

    var pass = true;
    
    var embeds = document.embeds;
    var plugins = document.plugins;
    
    if (embeds[0].id != 'embed0' || embeds[1].id != 'embed1')
        pass = false;
    if (plugins[0] != embeds[0] || plugins[1] != embeds[1])
        pass = false;

    print(pass ? "PASS" : "FAIL");
}
</script>
</head>
<body onload="test();">
<p>This test checks for whether document.plugins matches document.embeds.</p>
<p>If the test passes, you will see a pass message below.</p>
<hr>
<div id='console'></div>
<embed id = 'embed0' width=0 height=0>
<embed id = 'embed1' width=0 height=0>
</body>
</html>
