<html>
<head>
<meta id="test" name="foo" scheme="bar" http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
You should see 5 lines with "SUCCESS" below:
<script>
if (window.layoutTestController)
    layoutTestController.dumpAsText();

function checkExpected(actual, expected)
{
    if (actual != expected)
        document.writeln("<p>FAILURE: expected \"" + expected + "\", actual \"" + actual + "\"</p>");
    else
        document.writeln("<p>SUCCESS (value: \"" + actual + "\")</p>");
}

var metaTag = document.getElementById("test");
checkExpected(metaTag, "[object HTMLMetaElement]");
checkExpected(metaTag.name, "foo");
checkExpected(metaTag.scheme, "bar");
checkExpected(metaTag.httpEquiv, "content-type");
checkExpected(metaTag.content, "text/html; charset=UTF-8");
</script>

</body>
</html>
