| This is a testharness.js-based test. |
| PASS Interfaces and attributes in ServiceWorkerGlobalScope |
| PASS test setup (cache creation) |
| PASS Event constructors |
| PASS ServiceWorkerGlobalScope interface: existence and properties of interface object |
| PASS ServiceWorkerGlobalScope interface object length |
| PASS ServiceWorkerGlobalScope interface object name |
| PASS ServiceWorkerGlobalScope interface: existence and properties of interface prototype object |
| PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via Object.setPrototypeOf should throw a TypeError |
| PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via __proto__ should throw a TypeError |
| PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via Reflect.setPrototypeOf should return false |
| PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via Object.setPrototypeOf should not throw |
| PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via __proto__ should not throw |
| PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via Reflect.setPrototypeOf should return true |
| PASS ServiceWorkerGlobalScope interface: existence and properties of interface prototype object's "constructor" property |
| PASS ServiceWorkerGlobalScope interface: attribute clients |
| PASS ServiceWorkerGlobalScope interface: attribute registration |
| PASS ServiceWorkerGlobalScope interface: operation skipWaiting() |
| PASS ServiceWorkerGlobalScope interface: attribute oninstall |
| PASS ServiceWorkerGlobalScope interface: attribute onactivate |
| PASS ServiceWorkerGlobalScope interface: attribute onfetch |
| PASS ServiceWorkerGlobalScope interface: attribute onforeignfetch |
| PASS ServiceWorkerGlobalScope interface: attribute onmessage |
| FAIL ServiceWorkerGlobalScope interface: attribute onmessageerror assert_own_property: The global object must have a property "onmessageerror" expected property "onmessageerror" missing |
| PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via Object.setPrototypeOf should throw a TypeError |
| PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via __proto__ should throw a TypeError |
| PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via Reflect.setPrototypeOf should return false |
| PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via Object.setPrototypeOf should not throw |
| PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via __proto__ should not throw |
| PASS ServiceWorkerGlobalScope interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via Reflect.setPrototypeOf should return true |
| PASS ServiceWorkerGlobalScope must be primary interface of self |
| PASS Stringification of self |
| PASS ServiceWorkerGlobalScope interface: self must inherit property "clients" with the proper type (0) |
| PASS ServiceWorkerGlobalScope interface: self must inherit property "registration" with the proper type (1) |
| PASS ServiceWorkerGlobalScope interface: self must inherit property "skipWaiting" with the proper type (2) |
| PASS ServiceWorkerGlobalScope interface: self must inherit property "oninstall" with the proper type (3) |
| PASS ServiceWorkerGlobalScope interface: self must inherit property "onactivate" with the proper type (4) |
| PASS ServiceWorkerGlobalScope interface: self must inherit property "onfetch" with the proper type (5) |
| PASS ServiceWorkerGlobalScope interface: self must inherit property "onforeignfetch" with the proper type (6) |
| PASS ServiceWorkerGlobalScope interface: self must inherit property "onmessage" with the proper type (7) |
| FAIL ServiceWorkerGlobalScope interface: self must inherit property "onmessageerror" with the proper type (8) assert_own_property: expected property "onmessageerror" missing |
| PASS Client interface: existence and properties of interface object |
| PASS Client interface object length |
| PASS Client interface object name |
| PASS Client interface: existence and properties of interface prototype object |
| PASS Client interface: existence and properties of interface prototype object's "constructor" property |
| PASS Client interface: attribute url |
| PASS Client interface: attribute id |
| PASS Client interface: attribute type |
| FAIL Client interface: attribute reserved assert_true: The prototype object must have a property "reserved" expected true got false |
| PASS Client interface: operation postMessage(any,[object Object]) |
| PASS WindowClient interface: existence and properties of interface object |
| PASS WindowClient interface object length |
| PASS WindowClient interface object name |
| PASS WindowClient interface: existence and properties of interface prototype object |
| PASS WindowClient interface: existence and properties of interface prototype object's "constructor" property |
| PASS WindowClient interface: attribute visibilityState |
| PASS WindowClient interface: attribute focused |
| FAIL WindowClient interface: attribute ancestorOrigins assert_true: The prototype object must have a property "ancestorOrigins" expected true got false |
| PASS WindowClient interface: operation focus() |
| PASS WindowClient interface: operation navigate(USVString) |
| PASS Clients interface: existence and properties of interface object |
| PASS Clients interface object length |
| PASS Clients interface object name |
| PASS Clients interface: existence and properties of interface prototype object |
| PASS Clients interface: existence and properties of interface prototype object's "constructor" property |
| PASS Clients interface: operation get(DOMString) |
| PASS Clients interface: operation matchAll(ClientQueryOptions) |
| PASS Clients interface: operation openWindow(USVString) |
| PASS Clients interface: operation claim() |
| PASS Clients must be primary interface of self.clients |
| PASS Stringification of self.clients |
| PASS Clients interface: self.clients must inherit property "get" with the proper type (0) |
| PASS Clients interface: calling get(DOMString) on self.clients with too few arguments must throw TypeError |
| PASS Clients interface: self.clients must inherit property "matchAll" with the proper type (1) |
| PASS Clients interface: calling matchAll(ClientQueryOptions) on self.clients with too few arguments must throw TypeError |
| PASS Clients interface: self.clients must inherit property "openWindow" with the proper type (2) |
| PASS Clients interface: calling openWindow(USVString) on self.clients with too few arguments must throw TypeError |
| PASS Clients interface: self.clients must inherit property "claim" with the proper type (3) |
| FAIL ServiceWorker interface: existence and properties of interface object assert_own_property: self does not have own property "ServiceWorker" expected property "ServiceWorker" missing |
| FAIL ServiceWorker interface object length assert_own_property: self does not have own property "ServiceWorker" expected property "ServiceWorker" missing |
| FAIL ServiceWorker interface object name assert_own_property: self does not have own property "ServiceWorker" expected property "ServiceWorker" missing |
| FAIL ServiceWorker interface: existence and properties of interface prototype object assert_own_property: self does not have own property "ServiceWorker" expected property "ServiceWorker" missing |
| FAIL ServiceWorker interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "ServiceWorker" expected property "ServiceWorker" missing |
| FAIL ServiceWorker interface: attribute scriptURL assert_own_property: self does not have own property "ServiceWorker" expected property "ServiceWorker" missing |
| FAIL ServiceWorker interface: attribute state assert_own_property: self does not have own property "ServiceWorker" expected property "ServiceWorker" missing |
| FAIL ServiceWorker interface: operation postMessage(any,[object Object]) assert_own_property: self does not have own property "ServiceWorker" expected property "ServiceWorker" missing |
| FAIL ServiceWorker interface: attribute onstatechange assert_own_property: self does not have own property "ServiceWorker" expected property "ServiceWorker" missing |
| PASS ServiceWorkerRegistration interface: existence and properties of interface object |
| PASS ServiceWorkerRegistration interface object length |
| PASS ServiceWorkerRegistration interface object name |
| PASS ServiceWorkerRegistration interface: existence and properties of interface prototype object |
| PASS ServiceWorkerRegistration interface: existence and properties of interface prototype object's "constructor" property |
| PASS ServiceWorkerRegistration interface: attribute installing |
| PASS ServiceWorkerRegistration interface: attribute waiting |
| PASS ServiceWorkerRegistration interface: attribute active |
| PASS ServiceWorkerRegistration interface: attribute navigationPreload |
| PASS ServiceWorkerRegistration interface: attribute scope |
| FAIL ServiceWorkerRegistration interface: attribute updateViaCache assert_true: The prototype object must have a property "updateViaCache" expected true got false |
| PASS ServiceWorkerRegistration interface: operation update() |
| PASS ServiceWorkerRegistration interface: operation unregister() |
| PASS ServiceWorkerRegistration interface: attribute onupdatefound |
| PASS ServiceWorkerRegistration must be primary interface of self.registration |
| PASS Stringification of self.registration |
| PASS ServiceWorkerRegistration interface: self.registration must inherit property "installing" with the proper type (0) |
| PASS ServiceWorkerRegistration interface: self.registration must inherit property "waiting" with the proper type (1) |
| PASS ServiceWorkerRegistration interface: self.registration must inherit property "active" with the proper type (2) |
| PASS ServiceWorkerRegistration interface: self.registration must inherit property "navigationPreload" with the proper type (3) |
| PASS ServiceWorkerRegistration interface: self.registration must inherit property "scope" with the proper type (4) |
| FAIL ServiceWorkerRegistration interface: self.registration must inherit property "updateViaCache" with the proper type (5) assert_inherits: property "updateViaCache" not found in prototype chain |
| PASS ServiceWorkerRegistration interface: self.registration must inherit property "update" with the proper type (6) |
| PASS ServiceWorkerRegistration interface: self.registration must inherit property "unregister" with the proper type (7) |
| PASS ServiceWorkerRegistration interface: self.registration must inherit property "onupdatefound" with the proper type (8) |
| PASS EventTarget interface: self.registration must inherit property "addEventListener" with the proper type (0) |
| PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on self.registration with too few arguments must throw TypeError |
| PASS EventTarget interface: self.registration must inherit property "removeEventListener" with the proper type (1) |
| PASS EventTarget interface: calling removeEventListener(DOMString,EventListener,[object Object],[object Object]) on self.registration with too few arguments must throw TypeError |
| PASS EventTarget interface: self.registration must inherit property "dispatchEvent" with the proper type (2) |
| PASS EventTarget interface: calling dispatchEvent(Event) on self.registration with too few arguments must throw TypeError |
| PASS EventTarget interface: existence and properties of interface object |
| PASS EventTarget interface object length |
| PASS EventTarget interface object name |
| PASS EventTarget interface: existence and properties of interface prototype object |
| PASS EventTarget interface: existence and properties of interface prototype object's "constructor" property |
| PASS EventTarget interface: operation addEventListener(DOMString,EventListener,[object Object],[object Object]) |
| PASS EventTarget interface: operation removeEventListener(DOMString,EventListener,[object Object],[object Object]) |
| PASS EventTarget interface: operation dispatchEvent(Event) |
| PASS NavigationPreloadManager interface: existence and properties of interface object |
| PASS NavigationPreloadManager interface object length |
| PASS NavigationPreloadManager interface object name |
| PASS NavigationPreloadManager interface: existence and properties of interface prototype object |
| PASS NavigationPreloadManager interface: existence and properties of interface prototype object's "constructor" property |
| PASS NavigationPreloadManager interface: operation enable() |
| PASS NavigationPreloadManager interface: operation disable() |
| PASS NavigationPreloadManager interface: operation setHeaderValue(ByteString) |
| PASS NavigationPreloadManager interface: operation getState() |
| PASS Cache interface: existence and properties of interface object |
| PASS Cache interface object length |
| PASS Cache interface object name |
| PASS Cache interface: existence and properties of interface prototype object |
| PASS Cache interface: existence and properties of interface prototype object's "constructor" property |
| PASS Cache interface: operation match(RequestInfo,CacheQueryOptions) |
| PASS Cache interface: operation matchAll(RequestInfo,CacheQueryOptions) |
| PASS Cache interface: operation add(RequestInfo) |
| PASS Cache interface: operation addAll([object Object]) |
| PASS Cache interface: operation put(RequestInfo,Response) |
| PASS Cache interface: operation delete(RequestInfo,CacheQueryOptions) |
| PASS Cache interface: operation keys(RequestInfo,CacheQueryOptions) |
| PASS Cache must be primary interface of self.cacheInstance |
| PASS Stringification of self.cacheInstance |
| PASS Cache interface: self.cacheInstance must inherit property "match" with the proper type (0) |
| PASS Cache interface: calling match(RequestInfo,CacheQueryOptions) on self.cacheInstance with too few arguments must throw TypeError |
| PASS Cache interface: self.cacheInstance must inherit property "matchAll" with the proper type (1) |
| PASS Cache interface: calling matchAll(RequestInfo,CacheQueryOptions) on self.cacheInstance with too few arguments must throw TypeError |
| PASS Cache interface: self.cacheInstance must inherit property "add" with the proper type (2) |
| PASS Cache interface: calling add(RequestInfo) on self.cacheInstance with too few arguments must throw TypeError |
| PASS Cache interface: self.cacheInstance must inherit property "addAll" with the proper type (3) |
| PASS Cache interface: calling addAll([object Object]) on self.cacheInstance with too few arguments must throw TypeError |
| PASS Cache interface: self.cacheInstance must inherit property "put" with the proper type (4) |
| PASS Cache interface: calling put(RequestInfo,Response) on self.cacheInstance with too few arguments must throw TypeError |
| PASS Cache interface: self.cacheInstance must inherit property "delete" with the proper type (5) |
| PASS Cache interface: calling delete(RequestInfo,CacheQueryOptions) on self.cacheInstance with too few arguments must throw TypeError |
| PASS Cache interface: self.cacheInstance must inherit property "keys" with the proper type (6) |
| PASS Cache interface: calling keys(RequestInfo,CacheQueryOptions) on self.cacheInstance with too few arguments must throw TypeError |
| PASS CacheStorage interface: existence and properties of interface object |
| PASS CacheStorage interface object length |
| PASS CacheStorage interface object name |
| PASS CacheStorage interface: existence and properties of interface prototype object |
| PASS CacheStorage interface: existence and properties of interface prototype object's "constructor" property |
| PASS CacheStorage interface: operation match(RequestInfo,CacheQueryOptions) |
| PASS CacheStorage interface: operation has(DOMString) |
| PASS CacheStorage interface: operation open(DOMString) |
| PASS CacheStorage interface: operation delete(DOMString) |
| PASS CacheStorage interface: operation keys() |
| PASS CacheStorage must be primary interface of self.caches |
| PASS Stringification of self.caches |
| PASS CacheStorage interface: self.caches must inherit property "match" with the proper type (0) |
| PASS CacheStorage interface: calling match(RequestInfo,CacheQueryOptions) on self.caches with too few arguments must throw TypeError |
| PASS CacheStorage interface: self.caches must inherit property "has" with the proper type (1) |
| PASS CacheStorage interface: calling has(DOMString) on self.caches with too few arguments must throw TypeError |
| PASS CacheStorage interface: self.caches must inherit property "open" with the proper type (2) |
| PASS CacheStorage interface: calling open(DOMString) on self.caches with too few arguments must throw TypeError |
| PASS CacheStorage interface: self.caches must inherit property "delete" with the proper type (3) |
| PASS CacheStorage interface: calling delete(DOMString) on self.caches with too few arguments must throw TypeError |
| PASS CacheStorage interface: self.caches must inherit property "keys" with the proper type (4) |
| Harness: the test ran to completion. |
| |