mirror of
https://github.com/servo/servo.git
synced 2025-08-17 11:25:35 +01:00
Update web-platform-tests to revision 58eb04cecbbec2e18531ab440225e38944a9c444
This commit is contained in:
parent
25e8bf69e6
commit
665817d2a6
35333 changed files with 1818077 additions and 16036 deletions
104
tests/wpt/web-platform-tests/fetch/http-cache/heuristic.html
Normal file
104
tests/wpt/web-platform-tests/fetch/http-cache/heuristic.html
Normal file
|
@ -0,0 +1,104 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>HTTP Cache - Heuristic Freshness</title>
|
||||
<meta name="help" href="https://fetch.spec.whatwg.org/#request">
|
||||
<meta name="timeout" content="long">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/common/utils.js"></script>
|
||||
<script src="/common/get-host-info.sub.js"></script>
|
||||
<script src="http-cache.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
var tests = [
|
||||
{
|
||||
name: 'HTTP cache reuses an unknown response with Last-Modified based upon heuristic freshness when Cache-Control: public is present.',
|
||||
requests: [
|
||||
{
|
||||
response_status: [299, "Whatever"],
|
||||
response_headers: [
|
||||
['Last-Modified', http_date(-3 * 100)],
|
||||
['Cache-Control', 'public']
|
||||
],
|
||||
},
|
||||
{
|
||||
expected_type: "cached",
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'HTTP cache does not reuse an unknown response with Last-Modified based upon heuristic freshness when Cache-Control: public is not present.',
|
||||
requests: [
|
||||
{
|
||||
response_status: [299, "Whatever"],
|
||||
response_headers: [
|
||||
['Last-Modified', http_date(-3 * 100)],
|
||||
['Cache-Control', 'public']
|
||||
],
|
||||
},
|
||||
{
|
||||
expected_type: "not_cached",
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
function check_status(status) {
|
||||
var succeed = status[0];
|
||||
var code = status[1];
|
||||
var phrase = status[2];
|
||||
var body = status[3];
|
||||
if (body === undefined) {
|
||||
body = http_content(code);
|
||||
}
|
||||
var expected_type = "not_cached";
|
||||
var desired = "does not use"
|
||||
if (succeed === true) {
|
||||
expected_type = "cached";
|
||||
desired = "reuses";
|
||||
}
|
||||
tests.push(
|
||||
{
|
||||
name: 'HTTP cache ' + desired + ' a ' + code + ' ' + phrase + ' response with Last-Modified based upon heuristic freshness.',
|
||||
requests: [
|
||||
{
|
||||
response_status: [code, phrase],
|
||||
response_headers: [
|
||||
['Last-Modified', http_date(-3 * 100)]
|
||||
],
|
||||
response_body: body,
|
||||
},
|
||||
{
|
||||
expected_type: expected_type,
|
||||
response_status: [code, phrase],
|
||||
response_body: body,
|
||||
}
|
||||
]
|
||||
}
|
||||
)
|
||||
}
|
||||
[
|
||||
[true, 200, 'OK'],
|
||||
[true, 203, "Non-Authoritative Information"],
|
||||
[true, 204, "No Content", ""],
|
||||
[true, 404, "Not Found"],
|
||||
[true, 405, "Method Not Allowed"],
|
||||
[true, 410, "Gone"],
|
||||
[true, 414, "URI Too Long"],
|
||||
[true, 501, "Not Implemented"]
|
||||
].forEach(check_status);
|
||||
[
|
||||
[false, 201, 'Created'],
|
||||
[false, 202, "Accepted"],
|
||||
[false, 403, "Forbidden"],
|
||||
[false, 502, "Bad Gateway"],
|
||||
[false, 503, "Service Unavailable"],
|
||||
[false, 504, "Gateway Timeout"],
|
||||
].forEach(check_status);
|
||||
run_tests(tests);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
Add table
Add a link
Reference in a new issue