mirror of
https://github.com/servo/servo.git
synced 2025-06-25 01:24:37 +01:00
76 lines
2.6 KiB
HTML
76 lines
2.6 KiB
HTML
<!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>
|
|
|
|
<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>
|