| <!doctype html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <title>Headers nameshake</title> |
| <meta name="help" href="https://fetch.spec.whatwg.org/#headers"> |
| <meta name="author" title="Canon Research France" href="https://www.crf.canon.fr"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| </head> |
| <body> |
| <script> |
| var headerSeqCombine = [["single", "singleValue"], |
| ["double", "doubleValue1"], |
| ["double", "doubleValue2"], |
| ["triple", "tripleValue1"], |
| ["triple", "tripleValue2"], |
| ["triple", "tripleValue3"] |
| ]; |
| var expectedDict = {"single": "singleValue", |
| "double": "doubleValue1, doubleValue2", |
| "triple": "tripleValue1, tripleValue2, tripleValue3" |
| }; |
| |
| test(function() { |
| var headers = new Headers(headerSeqCombine); |
| for (name in expectedDict) |
| assert_equals(headers.get(name), expectedDict[name]); |
| }, "Create headers using same name for different values"); |
| |
| test(function() { |
| var headers = new Headers(headerSeqCombine); |
| for (name in expectedDict) { |
| assert_true(headers.has(name), "name: " + name + " has value(s)"); |
| headers.delete(name); |
| assert_false(headers.has(name), "name: " + name + " has no value(s) anymore"); |
| } |
| }, "Check delete and has methods when using same name for different values"); |
| |
| test(function() { |
| var headers = new Headers(headerSeqCombine); |
| for (name in expectedDict) { |
| headers.set(name,"newSingleValue"); |
| assert_equals(headers.get(name), "newSingleValue", "name: " + name + " has value: newSingleValue"); |
| } |
| }, "Check set methods when called with already used name"); |
| |
| test(function() { |
| var headers = new Headers(headerSeqCombine); |
| for (name in expectedDict) { |
| var value = headers.get(name); |
| headers.append(name,"newSingleValue"); |
| assert_equals(headers.get(name), (value + ", " + "newSingleValue")); |
| } |
| }, "Check append methods when called with already used name"); |
| </script> |
| </body> |
| </html> |