| 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>
|
|
|