| <!DOCTYPE html> | |
| <meta charset=utf-8> | |
| <title>Whitespace and null in header values</title> | |
| <script src=/resources/testharness.js></script> | |
| <script src=/resources/testharnessreport.js></script> | |
| <script src=support.js?pipe=sub></script> | |
| <h1>Whitespace and null in response header values</h1> | |
| <div id=log></div> | |
| <script> | |
| function matchHeaderValue(val) { | |
| test(function () { | |
| var client = new XMLHttpRequest(); | |
| var trimmed = val.trim(); | |
| client.open("GET", "resources/parse-headers.py?my-custom-header="+encodeURIComponent(val), false); | |
| client.send(); | |
| var r = client.getResponseHeader("My-Custom-Header"); | |
| assert_equals(r, trimmed); | |
| }, "Header value: " + val.replace(/\t/g, "[tab]").replace(/ /g, "_").replace("\0", "\\0")); | |
| } | |
| matchHeaderValue("hello world\0"); | |
| matchHeaderValue("\0hello world"); | |
| matchHeaderValue("hello\0world"); | |
| matchHeaderValue(" hello world"); | |
| matchHeaderValue("hello world "); | |
| matchHeaderValue(" hello world "); | |
| matchHeaderValue("\thello world"); | |
| matchHeaderValue("hello world\t"); | |
| matchHeaderValue("\thello world\t"); | |
| matchHeaderValue("hello world"); | |
| matchHeaderValue("hello\tworld"); | |
| matchHeaderValue("\0"); | |
| matchHeaderValue(" "); | |
| matchHeaderValue("\t"); | |
| matchHeaderValue(""); | |
| </script> |