<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script>
function debug(str) {
    pre = document.getElementById('console');
    text = document.createTextNode(str + '\n');
    pre.appendChild(text);
}

function runTests() {
    if (window.testRunner)
        testRunner.dumpAsText();

    elem = document.createElementNS('http://www.example.org', 'test')
    attr = elem.setAttributeNS(null, 'name', 'value')
    
    if (elem.attributes[0].namespaceURI == null)
        debug('SUCCESS')
    else
        debug('FAILURE')
}

</script>
</head>
<body onload="runTests();">
This tests that setAttributeNS with a null namespaceURI actually sets it to the value null and not a string with the contents 'null'. If the test is sucessful, the text below should say "SUCCESS".
<pre id="console">
</pre>
</body>
</html>
