blob: 988f5466b9e16ffe716297b9ba569e668ff8f8a3 [file] [log] [blame]
<!DOCTYPE html>
<title>ServiceWorkerGlobalScope: Error event error message</title>
<script src='/resources/testharness.js'></script>
<script src='/resources/testharnessreport.js'></script>
<script src='../resources/test-helpers.sub.js'></script>
<script>
promise_test(t => {
var script = 'resources/error-worker.js';
var scope = 'resources/scope/service-worker-error-event';
var error_name = 'testError'
return service_worker_unregister_and_register(t, script, scope)
.then(registration => {
var worker = registration.installing;
add_completion_callback(() => { registration.unregister(); });
return new Promise(function(resolve) {
navigator.serviceWorker.onmessage = resolve;
worker.postMessage('');
});
})
.then(e => {
assert_equals(e.data.error, error_name, 'error type');
assert_greater_than(
e.data.message.indexOf(error_name), -1, 'error message');
assert_greater_than(
e.data.filename.indexOf(script), -1, 'filename');
assert_equals(e.data.lineno, 5, 'error line number');
assert_equals(e.data.colno, 3, 'error column number');
});
}, 'Error handlers inside serviceworker should see the attributes of ' +
'ErrorEvent');
</script>