blob: 8633466551e6d8dc6e997a560d025d5e3973a4e2 [file] [log] [blame]
<!DOCTYPE html>
<body>
<script src="/js-test-resources/js-test-pre.js"></script>
<script>
description("Make sure that we properly remove cached entry if the entry is no longer cacheable after revalidation");
jsTestIsAsync = true;
var id = Math.floor((Math.random() * 1000000000000));
var bugReproduced = true;
function fetch(url) {
return new Promise(function (resolve, reject) {
var xhr = new XMLHttpRequest(url);
xhr.onerror = reject;
xhr.onload = function () {
resolve({status: xhr.status, body: JSON.parse(xhr.responseText)});
};
xhr.open('GET', url);
xhr.send();
})
}
function fetchResource() {
internals.clearMemoryCache();
return fetch('resources/json.php?id=' + id).then(function (resp) {
if (resp.body.version === 2) {
bugReproduced = false;
}
debug(resp.status + ': ' + JSON.stringify(resp.body));
});
}
onload = function() {
fetchResource()
.then(fetchResource)
.then(fetchResource)
.then(fetchResource)
.then(fetchResource)
.then(function () {
shouldBeFalse("bugReproduced");
finishJSTest();
})
.catch(console.log.bind(console));
}
</script>
<script src="/js-test-resources/js-test-post.js"></script>
</body>