blob: 3e2da1accbba95e697d73bda1f1d5c58167dd04e [file] [log] [blame]
<!DOCTYPE html>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script>
<script src="file:///gen/third_party/WebKit/public/platform/modules/webshare/webshare.mojom.js"></script>
<script src="resources/mock-share-service.js"></script>
<script>
async function assertRejectsWithError(promise, name) {
try {
await promise;
assert_unreached('expected promise to reject with ' + name);
} catch (error) {
assert_equals(error.name, name);
}
}
share_test(mock => {
mock.pushShareResult('the title', 'the message', 'data:the url',
blink.mojom.ShareError.CANCELED);
return callWithKeyDown(() => assertRejectsWithError(
navigator.share({
title: 'the title',
text: 'the message',
url: 'data:the url'
}),
'AbortError'));
}, 'share with user cancellation');
share_test(mock => {
mock.pushShareResult('the title', 'the message', 'data:the url',
blink.mojom.ShareError.INTERNAL_ERROR);
return callWithKeyDown(() => assertRejectsWithError(
navigator.share({
title: 'the title',
text: 'the message',
url: 'data:the url'
}),
'AbortError'));
}, 'share with invalid url template');
</script>