blob: 3e44c5ff2faedd85ba4e53fa84a531b82e9dce4d [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
</head>
<body>
<script>
promise_test(function() {
return renderWorklet.import('resources/empty-worklet-script.js').then(function(undefined_arg) {
assert_equals(undefined_arg, undefined, 'Promise should resolve with no arguments.');
}).catch(function(error) {
assert_unreached('unexpected rejection: ' + error);
});
}, 'Importing a script resolves the given promise.');
promise_test(function() {
return renderWorklet.import('resources/throwing-worklet-script.js').then(function(undefined_arg) {
assert_equals(undefined_arg, undefined, 'Promise should resolve with no arguments.');
}).catch(function(error) {
assert_unreached('unexpected rejection: ' + error);
});
}, 'Importing a script which throws should still resolve the given promise.');
promise_test(function() {
return renderWorklet.import('non-existant-worklet-script.js').then(function() {
assert_unreached('import should fail.');
}).catch(function(error) {
assert_equals(error.name, 'NetworkError', 'error should be a NetworkError.');
});
}, 'Importing a non-existant script rejects the given promise with a NetworkError.');
promise_test(function() {
return renderWorklet.import('http://invalid:123$').then(function() {
assert_unreached('import should fail.');
}).catch(function(error) {
assert_equals(error.name, 'SyntaxError', 'error should be a SyntaxError.');
});
}, 'Attempting to resolve an invalid URL should reject the given promise with a SyntaxError.');
</script>
</body>
</html>