mirror of
https://github.com/servo/servo
synced 2026-05-09 16:42:16 +02:00
57 lines
1.6 KiB
JavaScript
57 lines
1.6 KiB
JavaScript
// META: title=Headers normalize values
|
|
// META: global=window,worker
|
|
|
|
"use strict";
|
|
|
|
const expectations = {
|
|
"name1": [" space ", "space"],
|
|
"name2": ["\ttab\t", "tab"],
|
|
"name3": [" spaceAndTab\t", "spaceAndTab"],
|
|
"name4": ["\r\n newLine", "newLine"], //obs-fold cases
|
|
"name5": ["newLine\r\n ", "newLine"],
|
|
"name6": ["\r\n\tnewLine", "newLine"],
|
|
"name7": ["\t\f\tnewLine\n", "\f\tnewLine"],
|
|
"name8": ["newLine\xa0", "newLine\xa0"], // \xa0 == non breaking space
|
|
};
|
|
|
|
test(function () {
|
|
const headerDict = Object.fromEntries(
|
|
Object.entries(expectations).map(([name, [actual]]) => [name, actual]),
|
|
);
|
|
var headers = new Headers(headerDict);
|
|
for (const name in expectations) {
|
|
const expected = expectations[name][1];
|
|
assert_equals(
|
|
headers.get(name),
|
|
expected,
|
|
"name: " + name + " has normalized value: " + expected,
|
|
);
|
|
}
|
|
}, "Create headers with not normalized values");
|
|
|
|
test(function () {
|
|
var headers = new Headers();
|
|
for (const name in expectations) {
|
|
headers.append(name, expectations[name][0]);
|
|
const expected = expectations[name][1];
|
|
assert_equals(
|
|
headers.get(name),
|
|
expected,
|
|
"name: " + name + " has value: " + expected,
|
|
);
|
|
}
|
|
}, "Check append method with not normalized values");
|
|
|
|
test(function () {
|
|
var headers = new Headers();
|
|
for (const name in expectations) {
|
|
headers.set(name, expectations[name][0]);
|
|
const expected = expectations[name][1];
|
|
assert_equals(
|
|
headers.get(name),
|
|
expected,
|
|
"name: " + name + " has value: " + expected,
|
|
);
|
|
}
|
|
}, "Check set method with not normalized values");
|