blob: 3530f8a7c162dcc10c7d3135d678e804b6200e20 [file] [log] [blame]
<html>
<body>
<p>Test that setRequestHeader encodes header values as latin-1</p>
<pre id=result>FAIL: script didn't run or raised an unexpected exception.</pre>
<script>
if (window.testRunner)
testRunner.dumpAsText();
function log(msg) {
document.getElementById("result").textContent += msg + "\n";
}
document.getElementById("result").textContent = "";
try {
req = new XMLHttpRequest;
req.open("GET", "resources/latin1-test.cgi", false);
req.setRequestHeader("CUSTOM-HEADER", "\xd5K");
exceptionThrown = false;
try {
req.setRequestHeader("X-SNOWMAN", "\u2603");
} catch(e) {
exceptionThrown = true;
}
if (exceptionThrown)
log("PASSED: non-latin-1 header value throws");
else
log("FAILED: latin-1 header value accepted");
req.send("");
if (req.responseText.indexOf("HTTP_CUSTOM_HEADER: %D5K") >= 0)
log("PASSED: header bytes preserved as latin-1");
else
log("FAILED: header bytes not preserved as latin-1");
if (req.getResponseHeader("Custom-Header") == "\xd5K")
log("PASSED: response header interpreted correctly");
else
log("FAILED: response header interpreted incorrectly");
// TODO(davidben): Test req.statusText too. Unfortunately, lighttpd
// doesn't seem to forward the HTTP status text from the CGI script's
// status header.
} catch (ex) {
log("FAILED: " + ex);
}
</script>
</body>
</html>