| This is a testharness.js-based test. |
| PASS Interfaces and attributes in ServiceWorkerGlobalScope |
| PASS test setup (cache creation) |
| PASS Event constructors |
| PASS xhr is not exposed |
| 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 |
| PASS ServiceWorkerGlobalScope interface: self must inherit property "registration" with the proper type |
| PASS ServiceWorkerGlobalScope interface: self must inherit property "skipWaiting()" with the proper type |
| PASS ServiceWorkerGlobalScope interface: self must inherit property "oninstall" with the proper type |
| PASS ServiceWorkerGlobalScope interface: self must inherit property "onactivate" with the proper type |
| PASS ServiceWorkerGlobalScope interface: self must inherit property "onfetch" with the proper type |
| PASS ServiceWorkerGlobalScope interface: self must inherit property "onforeignfetch" with the proper type |
| PASS ServiceWorkerGlobalScope interface: self must inherit property "onmessage" with the proper type |
| FAIL ServiceWorkerGlobalScope interface: self must inherit property "onmessageerror" with the proper type 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(DOMString)" with the proper type |
| 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(ClientQueryOptions)" with the proper type |
| 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(USVString)" with the proper type |
| 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 |
| 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 |
| PASS ServiceWorkerRegistration interface: attribute updateViaCache |
| 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 |
| PASS ServiceWorkerRegistration interface: self.registration must inherit property "waiting" with the proper type |
| PASS ServiceWorkerRegistration interface: self.registration must inherit property "active" with the proper type |
| PASS ServiceWorkerRegistration interface: self.registration must inherit property "navigationPreload" with the proper type |
| PASS ServiceWorkerRegistration interface: self.registration must inherit property "scope" with the proper type |
| PASS ServiceWorkerRegistration interface: self.registration must inherit property "updateViaCache" with the proper type |
| PASS ServiceWorkerRegistration interface: self.registration must inherit property "update()" with the proper type |
| PASS ServiceWorkerRegistration interface: self.registration must inherit property "unregister()" with the proper type |
| PASS ServiceWorkerRegistration interface: self.registration must inherit property "onupdatefound" with the proper type |
| PASS EventTarget interface: self.registration must inherit property "addEventListener(DOMString, EventListener, [object Object],[object Object])" with the proper type |
| 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(DOMString, EventListener, [object Object],[object Object])" with the proper type |
| 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(Event)" with the proper type |
| 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(RequestInfo, CacheQueryOptions)" with the proper type |
| 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(RequestInfo, CacheQueryOptions)" with the proper type |
| 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(RequestInfo)" with the proper type |
| 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([object Object])" with the proper type |
| 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(RequestInfo, Response)" with the proper type |
| 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(RequestInfo, CacheQueryOptions)" with the proper type |
| 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(RequestInfo, CacheQueryOptions)" with the proper type |
| 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(RequestInfo, CacheQueryOptions)" with the proper type |
| 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(DOMString)" with the proper type |
| 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(DOMString)" with the proper type |
| 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(DOMString)" with the proper type |
| 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 |
| Harness: the test ran to completion. |
| |