1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/netwerk/test/TestObjectCache.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,48 @@ 1.4 +function getCacheService() 1.5 +{ 1.6 + var nsCacheService = Components.classes["@mozilla.org/network/cache-service;1"]; 1.7 + var service = nsCacheService.getService(Components.interfaces.nsICacheService); 1.8 + return service; 1.9 +} 1.10 + 1.11 +function createCacheSession(clientID, storagePolicy, streamable) 1.12 +{ 1.13 + var service = getCacheService(); 1.14 + var nsICache = Components.interfaces.nsICache; 1.15 + var session = service.createSession(clientID, storagePolicy, streamable); 1.16 + return session; 1.17 +} 1.18 + 1.19 +function openCacheEntry(clientID, url) 1.20 +{ 1.21 + var nsICache = Components.interfaces.nsICache; 1.22 + var session = createCacheSession(clientID, nsICache.STORE_ANYWHERE, false); 1.23 + var entry = session.openCacheEntry(url, nsICache.ACCESS_READ_WRITE); 1.24 + return entry; 1.25 +} 1.26 + 1.27 +function wrapString(str) 1.28 +{ 1.29 + var nsISupportsCString = Components.interfaces.nsISupportsCString; 1.30 + var factory = Components.classes["@mozilla.org/supports-cstring;1"]; 1.31 + var wrapper = factory.createInstance(nsISupportsCString); 1.32 + wrapper.data = str; 1.33 + return wrapper; 1.34 +} 1.35 + 1.36 +function test() 1.37 +{ 1.38 + var data = wrapString("javascript"); 1.39 + var entry = openCacheEntry("javascript", "theme:button"); 1.40 + entry.cacheElement = data; 1.41 + entry.markValid(); 1.42 + entry.close(); 1.43 + 1.44 + var newEntry = openCacheEntry("javascript", "theme:button"); 1.45 + if (newEntry.cacheElement === data) 1.46 + print("object cache works."); 1.47 + else 1.48 + print("object cache failed."); 1.49 +} 1.50 + 1.51 +test();