Files
sousa-gecko/dom/base/test/browser_script_loader_js_cache_dirty.js

143 lines
4.6 KiB
JavaScript

// ev, unordered, and runJSCacheTests are defined in head.js
add_task(async function testMemoryCache_dirtyStateClassic() {
await SpecialPowers.pushPrefEnv({
set: [
["dom.expose_test_interfaces", true],
["dom.script_loader.bytecode_cache.enabled", true],
["dom.script_loader.bytecode_cache.strategy", 0],
["dom.script_loader.experimental.navigation_cache", true],
["dom.script_loader.disk_cache_delay_ms", 0],
],
});
await runJSCacheTests([
{
title: "dirty state revive classic",
items: [
{
file: "file_js_cache_large.js",
events: [
ev("load:source", "file_js_cache_large.js"),
ev("memorycache:saved", "file_js_cache_large.js"),
ev("evaluate:classic", "file_js_cache_large.js"),
ev("diskcache:noschedule"),
],
},
{
file: "file_js_cache_large.js",
events: [
ev("load:memorycache", "file_js_cache_large.js"),
ev("evaluate:classic", "file_js_cache_large.js"),
ev("diskcache:noschedule"),
],
},
{
invalidateMemory: true,
file: "file_js_cache_large.js",
events: [
ev("memorycache:dirty:hit", "file_js_cache_large.js"),
ev("load:source", "file_js_cache_large.js"),
ev("memorycache:dirty:revived", "file_js_cache_large.js"),
ev("evaluate:classic", "file_js_cache_large.js"),
ev("diskcache:noschedule"),
],
},
{
file: "file_js_cache_large.js",
events: [
ev("load:memorycache", "file_js_cache_large.js"),
ev("evaluate:classic", "file_js_cache_large.js"),
ev("diskcache:saved", "file_js_cache_large.js", false),
],
},
{
file: "file_js_cache_large.js",
events: [
ev("load:memorycache", "file_js_cache_large.js"),
ev("evaluate:classic", "file_js_cache_large.js"),
ev("diskcache:noschedule"),
],
},
{
file: "file_js_cache_large.js",
events: [
ev("load:memorycache", "file_js_cache_large.js"),
ev("evaluate:classic", "file_js_cache_large.js"),
ev("diskcache:noschedule"),
],
},
],
},
{
title: "dirty state evict classic",
items: [
{
file: "file_js_cache_large.js",
events: [
ev("load:source", "file_js_cache_large.js"),
ev("memorycache:saved", "file_js_cache_large.js"),
ev("evaluate:classic", "file_js_cache_large.js"),
ev("diskcache:noschedule"),
],
},
{
file: "file_js_cache_large.js",
events: [
ev("load:memorycache", "file_js_cache_large.js"),
ev("evaluate:classic", "file_js_cache_large.js"),
ev("diskcache:noschedule"),
],
},
{
invalidateMemory: true,
clearDisk: true,
file: "file_js_cache_large.js",
events: [
ev("memorycache:dirty:hit", "file_js_cache_large.js"),
ev("load:source", "file_js_cache_large.js"),
ev("memorycache:dirty:evicted", "file_js_cache_large.js"),
ev("memorycache:saved", "file_js_cache_large.js"),
ev("evaluate:classic", "file_js_cache_large.js"),
ev("diskcache:noschedule"),
],
},
{
file: "file_js_cache_large.js",
events: [
ev("load:memorycache", "file_js_cache_large.js"),
ev("evaluate:classic", "file_js_cache_large.js"),
ev("diskcache:noschedule"),
],
},
{
file: "file_js_cache_large.js",
events: [
ev("load:memorycache", "file_js_cache_large.js"),
ev("evaluate:classic", "file_js_cache_large.js"),
ev("diskcache:noschedule"),
],
},
{
file: "file_js_cache_large.js",
events: [
ev("load:memorycache", "file_js_cache_large.js"),
ev("evaluate:classic", "file_js_cache_large.js"),
ev("diskcache:saved", "file_js_cache_large.js", false),
],
},
{
file: "file_js_cache_large.js",
events: [
ev("load:memorycache", "file_js_cache_large.js"),
ev("evaluate:classic", "file_js_cache_large.js"),
ev("diskcache:noschedule"),
],
},
],
},
]);
await SpecialPowers.popPrefEnv();
});