This is a testharness.js-based test.
Found 155 tests; 115 PASS, 40 FAIL, 0 TIMEOUT, 0 NOTRUN.
PASS idl_test setup
PASS idl_test validation
PASS Partial interface Navigator: original interface defined
PASS Partial interface Navigator: member names are unique
PASS Partial interface WorkerNavigator: original interface defined
PASS Partial interface WorkerNavigator: member names are unique
PASS Partial interface mixin WindowOrWorkerGlobalScope: original interface mixin defined
PASS Partial interface mixin WindowOrWorkerGlobalScope: member names are unique
PASS Partial interface mixin NavigatorID: member names are unique
PASS Partial interface Window: member names are unique
PASS ServiceWorker includes AbstractWorker: member names are unique
PASS Window includes GlobalEventHandlers: member names are unique
PASS Window includes WindowEventHandlers: member names are unique
PASS Window includes WindowOrWorkerGlobalScope: member names are unique
PASS Window includes AnimationFrameProvider: member names are unique
PASS Window includes WindowSessionStorage: member names are unique
PASS Window includes WindowLocalStorage: member names are unique
PASS WorkerGlobalScope includes WindowOrWorkerGlobalScope: member names are unique
PASS Navigator includes NavigatorID: member names are unique
PASS Navigator includes NavigatorLanguage: member names are unique
PASS Navigator includes NavigatorOnLine: member names are unique
PASS Navigator includes NavigatorContentUtils: member names are unique
PASS Navigator includes NavigatorCookies: member names are unique
PASS Navigator includes NavigatorPlugins: member names are unique
PASS Navigator includes NavigatorConcurrentHardware: member names are unique
PASS WorkerNavigator includes NavigatorID: member names are unique
PASS WorkerNavigator includes NavigatorLanguage: member names are unique
PASS WorkerNavigator includes NavigatorOnLine: member names are unique
PASS WorkerNavigator includes NavigatorConcurrentHardware: member names are unique
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: existence and properties of interface prototype object's @@unscopables 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, sequence<object>) assert_own_property: self does not have own property "ServiceWorker" expected property "ServiceWorker" missing
FAIL ServiceWorker interface: operation postMessage(any, optional PostMessageOptions) 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: existence and properties of interface prototype object's @@unscopables 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
FAIL ServiceWorkerContainer interface: existence and properties of interface object assert_own_property: self does not have own property "ServiceWorkerContainer" expected property "ServiceWorkerContainer" missing
FAIL ServiceWorkerContainer interface object length assert_own_property: self does not have own property "ServiceWorkerContainer" expected property "ServiceWorkerContainer" missing
FAIL ServiceWorkerContainer interface object name assert_own_property: self does not have own property "ServiceWorkerContainer" expected property "ServiceWorkerContainer" missing
FAIL ServiceWorkerContainer interface: existence and properties of interface prototype object assert_own_property: self does not have own property "ServiceWorkerContainer" expected property "ServiceWorkerContainer" missing
FAIL ServiceWorkerContainer interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "ServiceWorkerContainer" expected property "ServiceWorkerContainer" missing
FAIL ServiceWorkerContainer interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "ServiceWorkerContainer" expected property "ServiceWorkerContainer" missing
FAIL ServiceWorkerContainer interface: attribute controller assert_own_property: self does not have own property "ServiceWorkerContainer" expected property "ServiceWorkerContainer" missing
FAIL ServiceWorkerContainer interface: attribute ready assert_own_property: self does not have own property "ServiceWorkerContainer" expected property "ServiceWorkerContainer" missing
FAIL ServiceWorkerContainer interface: operation register(USVString, optional RegistrationOptions) assert_own_property: self does not have own property "ServiceWorkerContainer" expected property "ServiceWorkerContainer" missing
FAIL ServiceWorkerContainer interface: operation getRegistration(optional USVString) assert_own_property: self does not have own property "ServiceWorkerContainer" expected property "ServiceWorkerContainer" missing
FAIL ServiceWorkerContainer interface: operation getRegistrations() assert_own_property: self does not have own property "ServiceWorkerContainer" expected property "ServiceWorkerContainer" missing
FAIL ServiceWorkerContainer interface: operation startMessages() assert_own_property: self does not have own property "ServiceWorkerContainer" expected property "ServiceWorkerContainer" missing
FAIL ServiceWorkerContainer interface: attribute oncontrollerchange assert_own_property: self does not have own property "ServiceWorkerContainer" expected property "ServiceWorkerContainer" missing
FAIL ServiceWorkerContainer interface: attribute onmessage assert_own_property: self does not have own property "ServiceWorkerContainer" expected property "ServiceWorkerContainer" missing
FAIL ServiceWorkerContainer interface: attribute onmessageerror assert_own_property: self does not have own property "ServiceWorkerContainer" expected property "ServiceWorkerContainer" missing
FAIL ServiceWorkerContainer must be primary interface of navigator.serviceWorker assert_equals: wrong typeof object expected "object" but got "undefined"
FAIL Stringification of navigator.serviceWorker assert_equals: wrong typeof object expected "object" but got "undefined"
FAIL ServiceWorkerContainer interface: navigator.serviceWorker must inherit property "controller" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
FAIL ServiceWorkerContainer interface: navigator.serviceWorker must inherit property "ready" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
FAIL ServiceWorkerContainer interface: navigator.serviceWorker must inherit property "register(USVString, optional RegistrationOptions)" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
FAIL ServiceWorkerContainer interface: calling register(USVString, optional RegistrationOptions) on navigator.serviceWorker with too few arguments must throw TypeError assert_equals: wrong typeof object expected "object" but got "undefined"
FAIL ServiceWorkerContainer interface: navigator.serviceWorker must inherit property "getRegistration(optional USVString)" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
FAIL ServiceWorkerContainer interface: calling getRegistration(optional USVString) on navigator.serviceWorker with too few arguments must throw TypeError assert_equals: wrong typeof object expected "object" but got "undefined"
FAIL ServiceWorkerContainer interface: navigator.serviceWorker must inherit property "getRegistrations()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
FAIL ServiceWorkerContainer interface: navigator.serviceWorker must inherit property "startMessages()" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
FAIL ServiceWorkerContainer interface: navigator.serviceWorker must inherit property "oncontrollerchange" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
FAIL ServiceWorkerContainer interface: navigator.serviceWorker must inherit property "onmessage" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
FAIL ServiceWorkerContainer interface: navigator.serviceWorker must inherit property "onmessageerror" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
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: existence and properties of interface prototype object's @@unscopables property
PASS NavigationPreloadManager interface: operation enable()
PASS NavigationPreloadManager interface: operation disable()
PASS NavigationPreloadManager interface: operation setHeaderValue(ByteString)
PASS NavigationPreloadManager interface: operation getState()
PASS ServiceWorkerGlobalScope interface: existence and properties of interface object
PASS Client interface: existence and properties of interface object
PASS WindowClient interface: existence and properties of interface object
PASS Clients interface: existence and properties of interface object
PASS ExtendableEvent interface: existence and properties of interface object
PASS FetchEvent interface: existence and properties of interface object
PASS ExtendableMessageEvent interface: existence and properties of interface object
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: existence and properties of interface prototype object's @@unscopables property
PASS Cache interface: operation match(RequestInfo, optional CacheQueryOptions)
PASS Cache interface: operation matchAll(optional RequestInfo, optional CacheQueryOptions)
PASS Cache interface: operation add(RequestInfo)
PASS Cache interface: operation addAll(sequence<RequestInfo>)
PASS Cache interface: operation put(RequestInfo, Response)
PASS Cache interface: operation delete(RequestInfo, optional CacheQueryOptions)
PASS Cache interface: operation keys(optional RequestInfo, optional 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, optional CacheQueryOptions)" with the proper type
PASS Cache interface: calling match(RequestInfo, optional CacheQueryOptions) on self.cacheInstance with too few arguments must throw TypeError
PASS Cache interface: self.cacheInstance must inherit property "matchAll(optional RequestInfo, optional CacheQueryOptions)" with the proper type
PASS Cache interface: calling matchAll(optional RequestInfo, optional 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(sequence<RequestInfo>)" with the proper type
PASS Cache interface: calling addAll(sequence<RequestInfo>) 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, optional CacheQueryOptions)" with the proper type
PASS Cache interface: calling delete(RequestInfo, optional CacheQueryOptions) on self.cacheInstance with too few arguments must throw TypeError
PASS Cache interface: self.cacheInstance must inherit property "keys(optional RequestInfo, optional CacheQueryOptions)" with the proper type
PASS Cache interface: calling keys(optional RequestInfo, optional 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: existence and properties of interface prototype object's @@unscopables property
PASS CacheStorage interface: operation match(RequestInfo, optional MultiCacheQueryOptions)
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 caches
PASS Stringification of caches
PASS CacheStorage interface: caches must inherit property "match(RequestInfo, optional MultiCacheQueryOptions)" with the proper type
PASS CacheStorage interface: calling match(RequestInfo, optional MultiCacheQueryOptions) on caches with too few arguments must throw TypeError
PASS CacheStorage interface: caches must inherit property "has(DOMString)" with the proper type
PASS CacheStorage interface: calling has(DOMString) on caches with too few arguments must throw TypeError
PASS CacheStorage interface: caches must inherit property "open(DOMString)" with the proper type
PASS CacheStorage interface: calling open(DOMString) on caches with too few arguments must throw TypeError
PASS CacheStorage interface: caches must inherit property "delete(DOMString)" with the proper type
PASS CacheStorage interface: calling delete(DOMString) on caches with too few arguments must throw TypeError
PASS CacheStorage interface: caches must inherit property "keys()" with the proper type
PASS Window interface: existence and properties of interface object
PASS Navigator interface: existence and properties of interface object
PASS WorkerGlobalScope interface: attribute caches
FAIL WorkerNavigator interface: attribute serviceWorker assert_true: The prototype object must have a property "serviceWorker" expected true got false
Harness: the test ran to completion.

