Index: LayoutTests/imported/web-platform-tests/html-imports/fetching/loading-attempt.html |
diff --git a/LayoutTests/imported/web-platform-tests/html-imports/fetching/loading-attempt.html b/LayoutTests/imported/web-platform-tests/html-imports/fetching/loading-attempt.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8bd0061967755ac6e08c11c31a7ac5febc169d4d |
--- /dev/null |
+++ b/LayoutTests/imported/web-platform-tests/html-imports/fetching/loading-attempt.html |
@@ -0,0 +1,77 @@ |
+<!DOCTYPE html> |
+<html> |
+<head> |
+<title>Fetching import</title> |
+<link rel="help" href="http://w3c.github.io/webcomponents/spec/imports/#fetching-import"> |
+<script src="../../../../resources/testharness.js"></script> |
+<script src="../../../../resources/testharnessreport.js"></script> |
+<link rel="stylesheet" href="../../../../resources/testharness.css"> |
+ |
+<script> |
+var onloadWasCalledOnSuccess = false; |
+var onerrorWasCalledOnSuccess = false; |
+function helloLoadHandler() { onloadWasCalledOnSuccess = true; } |
+function helloErrorHandler() { onerrorWasCalledOnSuccess = true; } |
+ |
+var onloadWasCalledOnFail = false; |
+var onerrorWasCalledOnFail = false; |
+function nosuchLoadHandler() { onloadWasCalledOnFail = true; } |
+function nosuchErrorHandler() { onerrorWasCalledOnFail = true; } |
+</script> |
+ |
+<link rel="import" href="resources/hello.html" onload="helloLoadHandler()" onerror="helloLoadHandler()"> |
+<link rel="import" href="resources/no-such.html" onload="nosuchLoadHandler()" onerror="nosuchErrorHandler()"> |
+ |
+<script> |
+test(function() { |
+ assert_true(onloadWasCalledOnSuccess); |
+ assert_false(onerrorWasCalledOnSuccess); |
+}, 'The loading attempt must be considered successful if IMPORT is not null on the algorithm completion, and failed otherwise. (1)'); |
+ |
+test(function() { |
+ assert_false(onloadWasCalledOnFail); |
+ assert_true(onerrorWasCalledOnFail); |
+}, 'The loading attempt must be considered successful if IMPORT is not null on the algorithm completion, and failed otherwise. (2)'); |
+ |
+t1 = async_test('The loading attempt must be considered successful if IMPORT is not null on the algorithm completion, and failed otherwise. (3)') |
+t1.step(function() { |
+ var importElement = document.createElement('link'); |
+ importElement.setAttribute('rel', 'import'); |
+ importElement.setAttribute('href', 'resources/dynamic.html'); |
+ importElement.addEventListener("error", assert_unreached); |
+ importElement.addEventListener("load", function() { |
+ t1.done(); |
+ }); |
+ |
+ document.head.appendChild(importElement); |
+}); |
+ |
+var onloadWasCalledOnAsync = false; |
+var onerrorWasCalledOnAsync = false; |
+var asyncAttemptDone = function() { assert_unreached(); }; |
+ |
+function asyncLoadHandler() { |
+ onloadWasCalledOnAsync = true; |
+ asyncAttemptDone(); |
+} |
+function asyncErrorHandler() { |
+ onerrorWasCalledOnAsync = true; |
+ asyncAttemptDone(); |
+} |
+ |
+t2 = async_test('Every import that is not marked as async delays the load event in the Document.'); |
+asyncAttemptDone = function() { |
+ t2.step(function() { |
+ assert_true(onloadWasCalledOnAsync); |
+ assert_false(onerrorWasCalledOnAsync); |
+ t2.done(); |
+ }); |
+}; |
+ |
+</script> |
+<link rel="import" href="resources/async.html" onload="asyncLoadHandler()" onerror="asyncErrorHandler()" async> |
+</head> |
+<body> |
+<div id="log"></div> |
+</body> |
+</html> |