<html>
<body>
<p>Test that setRequestHeader properly checks for line feeds in header values.</p>
<script>
if (window.layoutTestController)
    layoutTestController.dumpAsText();

function test(val) {
    var req = new XMLHttpRequest;
    req.open("GET", "resources/print-headers.cgi", false);

    try {
        req.setRequestHeader("Test", val);
    } catch (ex) {
        document.write("<p>" + escape(val) + " -> SUCCESS, setRequestHeader() raised an exception " + ex + "</p>");
        return;
    }

    try {
        req.send("");
        if (req.responseText.match("HTTP_EVIL"))
            document.write("<p>" + escape(val) + " -> FAILURE - evil header injected!</p>");
        else
            document.write("<p>" + escape(val) + " -> setRequestHeader() didn't throw, but server didn't see the evil header.</p>");

    } catch (ex) {
        alert("Unexpected exception: " + ex);
    }
}

test("\nEvil: on");
test("\rEvil: on");
test("\r\nEvil: on");
test("\n\rEvil: on");
</script>
</body>
</html>
