4 <script src=
"/js-test-resources/js-test.js"></script>
9 window
.jsTestIsAsync
= true;
10 description('Tests that XHR respects "Cache-Control" header.');
12 function makeXHR(url
, headers
)
14 return new Promise(function(resolve
, reject
) {
15 var xhr
= new XMLHttpRequest();
17 for (var i
= 0; i
< headers
.length
; ++i
) {
18 xhr
.setRequestHeader(headers
[i
].name
, headers
[i
].value
);
20 xhr
.onreadystatechange = function() {
21 if (xhr
.readyState
=== xhr
.DONE
) {
22 if (xhr
.status
=== 200) {
23 resolve(xhr
.responseText
);
34 var withCacheControl
= 'resources/echo-random.php';
35 var cacheControl
= [{name
: 'Cache-Control', value
: 'no-cache'}];
36 Promise
.all([makeXHR(withCacheControl
, cacheControl
), makeXHR(withCacheControl
, cacheControl
)]).then(function(res1
, res2
) {
38 // This is a bit flaky, because two different requests can accidentaly
39 // result in the same response.
40 testFailed("MemoryCache seems to be used.");
42 testPassed("MemoryCache is not used.");
46 testFailed('rejected');