<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script>
function runTest()
{
    if (window.testRunner) {
        window.testRunner.dumpAsText();

        var test = document.getElementById("test");
        var newStyleAttr = document.createAttribute("STYLE");
        newStyleAttr.value = "background-color: green";
        test.setAttributeNode(newStyleAttr);

        document.getElementById('result').innerHTML = "style attribute value = "+test.getAttributeNode('style').value+" and STYLE attribute value = "+test.getAttributeNode('STYLE').value;

        test.style.display = 'none';
    }
}
</script>
</head>
<body onload="runTest()">
<div>Test for Bugzilla bug:<a href="https://bugs.webkit.org/show_bug.cgi?id=90341"> 90341:</a>  createAttribute/setAttributeNode does not properly normalize case.</div>
<div>This test verifies that the setAttributeNode() API allows for creation of attributes case-sensitively for XHTML documents. Thus two different attributes with the same name but in different case can exist for XHTML documents.</div>
<div id="test" style="background-color: red">&nbsp;</div>
<br/>
<div id="result"></div>
</body>
</html>
