"use strict"; function run_test() { do_get_profile(); // Open for write, write but expect it to fail, since other callback will recreate (and doom) // the first entry before it opens output stream (note: in case of problems the DOOMED flag // can be removed, it is not the test failure when opening the output stream on recreated entry. asyncOpenCacheEntry( "http://nv/", "disk", Ci.nsICacheStorage.OPEN_NORMALLY, null, new OpenCallback(NEW | DOOMED, "v1m", "v1d", function(entry) { // Open for rewrite (don't validate), write different meta and data asyncOpenCacheEntry( "http://nv/", "disk", Ci.nsICacheStorage.OPEN_NORMALLY, null, new OpenCallback(NOTVALID | RECREATE, "v2m", "v2d", function(entry) { // And check... asyncOpenCacheEntry( "http://nv/", "disk", Ci.nsICacheStorage.OPEN_NORMALLY, null, new OpenCallback(NORMAL, "v2m", "v2d", function(entry) { finish_cache2_test(); }) ); }) ); }) ); do_test_pending(); }