mirror of
https://github.com/denoland/deno.git
synced 2025-07-30 16:43:55 +00:00
check runtime FormData
and Headers
params (#1415)
This commit is contained in:
parent
9bfe9a005b
commit
5e518b7417
5 changed files with 197 additions and 6 deletions
|
@ -228,3 +228,73 @@ test(function headerIllegalReject() {
|
|||
// 'o k' is valid value but invalid name
|
||||
new Headers({ "He-y": "o k" });
|
||||
});
|
||||
|
||||
test(function headerParamsArgumentsCheck() {
|
||||
const methodRequireOneParam = ["delete", "get", "has", "forEach"];
|
||||
|
||||
const methodRequireTwoParams = ["append", "set"];
|
||||
|
||||
methodRequireOneParam.forEach(method => {
|
||||
const headers = new Headers();
|
||||
let hasThrown = 0;
|
||||
let errMsg = "";
|
||||
try {
|
||||
headers[method]();
|
||||
hasThrown = 1;
|
||||
} catch (err) {
|
||||
errMsg = err.message;
|
||||
if (err instanceof TypeError) {
|
||||
hasThrown = 2;
|
||||
} else {
|
||||
hasThrown = 3;
|
||||
}
|
||||
}
|
||||
assertEqual(hasThrown, 2);
|
||||
assertEqual(
|
||||
errMsg,
|
||||
`Headers.${method} requires at least 1 argument, but only 0 present`
|
||||
);
|
||||
});
|
||||
|
||||
methodRequireTwoParams.forEach(method => {
|
||||
const headers = new Headers();
|
||||
let hasThrown = 0;
|
||||
let errMsg = "";
|
||||
|
||||
try {
|
||||
headers[method]();
|
||||
hasThrown = 1;
|
||||
} catch (err) {
|
||||
errMsg = err.message;
|
||||
if (err instanceof TypeError) {
|
||||
hasThrown = 2;
|
||||
} else {
|
||||
hasThrown = 3;
|
||||
}
|
||||
}
|
||||
assertEqual(hasThrown, 2);
|
||||
assertEqual(
|
||||
errMsg,
|
||||
`Headers.${method} requires at least 2 arguments, but only 0 present`
|
||||
);
|
||||
|
||||
hasThrown = 0;
|
||||
errMsg = "";
|
||||
try {
|
||||
headers[method]("foo");
|
||||
hasThrown = 1;
|
||||
} catch (err) {
|
||||
errMsg = err.message;
|
||||
if (err instanceof TypeError) {
|
||||
hasThrown = 2;
|
||||
} else {
|
||||
hasThrown = 3;
|
||||
}
|
||||
}
|
||||
assertEqual(hasThrown, 2);
|
||||
assertEqual(
|
||||
errMsg,
|
||||
`Headers.${method} requires at least 2 arguments, but only 1 present`
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue