1<!doctype html>
2<html>
3 <head>
4 <meta charset="utf-8">
5 <title>XMLHttpRequest: setRequestHeader() value argument checks</title>
6 <script src="/js-test-resources/testharness.js"></script>
7 <script src="/js-test-resources/testharnessreport.js"></script>
8 <!-- Test based on http://w3c-test.org/web-platform-tests/master/XMLHttpRequest/setrequestheader-bogus-value.htm -->
9 </head>
10 <body>
11 <div id="log"></div>
12 <script>
13 function try_value(value, expectError) {
14 test(function() {
15 var client = new XMLHttpRequest()
16 client.open("GET", "...")
17 if (expectError)
18 assert_throws("SyntaxError", function() { client.setRequestHeader("x-test", value) }, ' given value ' + value+', ')
19 else
20 client.setRequestHeader("x-test", value)
21 })
22 }
23
24 try_value("t\rt", true)
25 try_value("t\nt", true)
26 try_value("テスト", true)
27 try_value("t\bt", true)
28 try_value("t\vt", true)
29 try_value("t\tt", false)
30 try_value("t t", false)
31 test(function() {
32 var client = new XMLHttpRequest()
33 client.open("GET", "...")
34 assert_throws({name:'TypeError'}, function() { client.setRequestHeader("x-test") })
35 })
36 </script>
37 </body>
38</html>