Index: third_party/WebKit/LayoutTests/http/tests/worklet/import.html |
diff --git a/third_party/WebKit/LayoutTests/http/tests/worklet/import.html b/third_party/WebKit/LayoutTests/http/tests/worklet/import.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2b99c5c254cbd33e3b7dab0b0d3c1e73a1771b3b |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/http/tests/worklet/import.html |
@@ -0,0 +1,51 @@ |
+<!DOCTYPE html> |
+<html> |
+<head> |
+ <script src="../resources/testharness.js"></script> |
+ <script src="../resources/testharnessreport.js"></script> |
+</head> |
+<body> |
+<script> |
+ promise_test(function() { |
+ |
+ return paintWorklet.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 paintWorklet.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 paintWorklet.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 paintWorklet.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> |