This is a testharness.js-based test.
Found 80 tests; 78 PASS, 2 FAIL, 0 TIMEOUT, 0 NOTRUN.
PASS idl_test setup
PASS Partial interface ServiceWorkerRegistration: original interface defined
PASS Partial interface ServiceWorkerGlobalScope: original interface defined
PASS Partial interface ServiceWorkerGlobalScope: valid exposure set
PASS PushManager interface: existence and properties of interface object
PASS PushManager interface object length
PASS PushManager interface object name
PASS PushManager interface: existence and properties of interface prototype object
PASS PushManager interface: existence and properties of interface prototype object's "constructor" property
PASS PushManager interface: existence and properties of interface prototype object's @@unscopables property
PASS PushManager interface: attribute supportedContentEncodings
PASS PushManager interface: operation subscribe(PushSubscriptionOptionsInit)
PASS PushManager interface: operation getSubscription()
PASS PushManager interface: operation permissionState(PushSubscriptionOptionsInit)
PASS PushManager must be primary interface of registration.pushManager
PASS Stringification of registration.pushManager
PASS PushManager interface: registration.pushManager must inherit property "supportedContentEncodings" with the proper type
PASS PushManager interface: registration.pushManager must inherit property "subscribe(PushSubscriptionOptionsInit)" with the proper type
PASS PushManager interface: calling subscribe(PushSubscriptionOptionsInit) on registration.pushManager with too few arguments must throw TypeError
PASS PushManager interface: registration.pushManager must inherit property "getSubscription()" with the proper type
PASS PushManager interface: registration.pushManager must inherit property "permissionState(PushSubscriptionOptionsInit)" with the proper type
PASS PushManager interface: calling permissionState(PushSubscriptionOptionsInit) on registration.pushManager with too few arguments must throw TypeError
PASS PushSubscriptionOptions interface: existence and properties of interface object
PASS PushSubscriptionOptions interface object length
PASS PushSubscriptionOptions interface object name
PASS PushSubscriptionOptions interface: existence and properties of interface prototype object
PASS PushSubscriptionOptions interface: existence and properties of interface prototype object's "constructor" property
PASS PushSubscriptionOptions interface: existence and properties of interface prototype object's @@unscopables property
PASS PushSubscriptionOptions interface: attribute userVisibleOnly
PASS PushSubscriptionOptions interface: attribute applicationServerKey
PASS PushSubscription interface: existence and properties of interface object
PASS PushSubscription interface object length
PASS PushSubscription interface object name
PASS PushSubscription interface: existence and properties of interface prototype object
PASS PushSubscription interface: existence and properties of interface prototype object's "constructor" property
PASS PushSubscription interface: existence and properties of interface prototype object's @@unscopables property
PASS PushSubscription interface: attribute endpoint
PASS PushSubscription interface: attribute expirationTime
PASS PushSubscription interface: attribute options
PASS PushSubscription interface: operation getKey(PushEncryptionKeyName)
PASS PushSubscription interface: operation unsubscribe()
PASS PushSubscription interface: operation toJSON()
PASS PushMessageData interface: existence and properties of interface object
PASS PushMessageData interface object length
PASS PushMessageData interface object name
PASS PushMessageData interface: existence and properties of interface prototype object
PASS PushMessageData interface: existence and properties of interface prototype object's "constructor" property
PASS PushMessageData interface: existence and properties of interface prototype object's @@unscopables property
PASS PushMessageData interface: operation arrayBuffer()
PASS PushMessageData interface: operation blob()
PASS PushMessageData interface: operation json()
PASS PushMessageData interface: operation text()
PASS PushEvent interface: existence and properties of interface object
PASS PushEvent interface object length
PASS PushEvent interface object name
PASS PushEvent interface: existence and properties of interface prototype object
PASS PushEvent interface: existence and properties of interface prototype object's "constructor" property
PASS PushEvent interface: existence and properties of interface prototype object's @@unscopables property
PASS PushEvent interface: attribute data
PASS PushEvent must be primary interface of new PushEvent("type")
PASS Stringification of new PushEvent("type")
PASS PushEvent interface: new PushEvent("type") must inherit property "data" with the proper type
PASS PushSubscriptionChangeEvent interface: existence and properties of interface object
PASS PushSubscriptionChangeEvent interface object length
PASS PushSubscriptionChangeEvent interface object name
PASS PushSubscriptionChangeEvent interface: existence and properties of interface prototype object
PASS PushSubscriptionChangeEvent interface: existence and properties of interface prototype object's "constructor" property
PASS PushSubscriptionChangeEvent interface: existence and properties of interface prototype object's @@unscopables property
PASS PushSubscriptionChangeEvent interface: attribute newSubscription
PASS PushSubscriptionChangeEvent interface: attribute oldSubscription
PASS PushSubscriptionChangeEvent must be primary interface of new PushSubscriptionChangeEvent("pushsubscriptionchange")
PASS Stringification of new PushSubscriptionChangeEvent("pushsubscriptionchange")
PASS PushSubscriptionChangeEvent interface: new PushSubscriptionChangeEvent("pushsubscriptionchange") must inherit property "newSubscription" with the proper type
PASS PushSubscriptionChangeEvent interface: new PushSubscriptionChangeEvent("pushsubscriptionchange") must inherit property "oldSubscription" with the proper type
PASS ServiceWorkerRegistration interface: attribute pushManager
PASS ServiceWorkerRegistration interface: registration must inherit property "pushManager" with the proper type
PASS ServiceWorkerGlobalScope interface: attribute onpush
FAIL ServiceWorkerGlobalScope interface: attribute onpushsubscriptionchange assert_own_property: The global object must have a property "onpushsubscriptionchange" expected property "onpushsubscriptionchange" missing
PASS ServiceWorkerGlobalScope interface: self must inherit property "onpush" with the proper type
FAIL ServiceWorkerGlobalScope interface: self must inherit property "onpushsubscriptionchange" with the proper type assert_own_property: expected property "onpushsubscriptionchange" missing
Harness: the test ran to completion.

