Update web-platform-tests to revision 0d318188757a9c996e20b82db201fd04de5aa255

This commit is contained in:
James Graham 2015-03-27 09:15:38 +00:00
parent b2a5225831
commit 1a81b18b9f
12321 changed files with 544385 additions and 6 deletions

View file

@ -0,0 +1,23 @@
<!DOCTYPE html>
<html>
<head>
<title>The import attribute</title>
<link rel="help" href="http://w3c.github.io/webcomponents/spec/imports/#interface-import">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<link rel="stylesheet" href="/resources/testharness.css">
<link id="importLink" rel="import" href="resources/body-only.html">
<link rel="import" href="resources/test-in-import.html">
</head>
<body>
<div id="log"></div>
<script>
test(function() {
assert_throws('INVALID_STATE_ERR', function() { importLink.import.open(); }, 'document.open()');
assert_throws('INVALID_STATE_ERR', function() { importLink.import.write('Hello'); }, 'document.write()');
assert_throws('INVALID_STATE_ERR', function() { importLink.import.open(); }, 'document.close()');
}, 'Throws an InvalidStateError exception if the Document is an import: From the master document');
</script>
</body>
</html>

View file

@ -0,0 +1,4 @@
<!DOCTYPE html>
<html>
<body id="body-only">Hello</body>
</html>

View file

@ -0,0 +1,13 @@
<!DOCTYPE html>
<html>
<body>
<script>
test(function() {
var doc = document.currentScript.ownerDocument;
assert_throws('INVALID_STATE_ERR', function() { doc.open(); }, 'document.open()');
assert_throws('INVALID_STATE_ERR', function() { doc.write('Hello'); }, 'document.write()');
assert_throws('INVALID_STATE_ERR', function() { doc.open(); }, 'document.close()');
}, 'Throws an InvalidStateError exception if the Document is an import: From an import');
</script>
</body>
</html>

View file

@ -0,0 +1,28 @@
<!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">
<link id="first" rel="import" href="resources/hello.html">
<link id="shouldBeInImportMap" rel="import" href="resources/hello.html">
<link id="parentOfFirst" rel="import" href="resources/parent-of-hello.html">
</head>
<body>
<div id="log"></div>
<script>
test(function() {
assert_true(window.first.import === window.shouldBeInImportMap.import);
}, 'If LOCATION is already in the import map, let IMPORT be the imported document for LOCATION and stop. (1)');
test(function() {
console.log(window.parentOfFirst);
assert_true(window.first.import === window.parentOfFirst.import.getElementById('child').import);
}, 'If LOCATION is already in the import map, let IMPORT be the imported document for LOCATION and stop. (2)');
</script>
</body>
</html>

View file

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

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<body>Async</body>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<body>Dyamic</body>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<body>Hello</body>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<link id="child" rel="import" href="hello.html">

View file

@ -0,0 +1,44 @@
<!DOCTYPE html>
<html>
<head>
<title>The import attribute</title>
<link rel="help" href="http://w3c.github.io/webcomponents/spec/imports/#interface-import">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<link rel="stylesheet" href="/resources/testharness.css">
<link id="nonImportLink" rel="stylesheet" href="resources/hello.css">
<link id="goOutFromDocument" rel="import" href="resources/body-only-0.html">
<link id="importLink" rel="import" href="resources/body-only-1.html">
<link id="anotherImportLink" rel="import" href="resources/body-only-2.html">
</head>
<body>
<div id="log"></div>
<script>
test(function() {
assert_equals(nonImportLink.import, null);
}, 'The import attribute must return null if the link does not represent an import.');
test(function() {
var link = goOutFromDocument;
assert_true(link.import != null);
document.head.removeChild(link);
assert_equals(link.import, null);
}, 'The import attribute must return null if the link element is not in a Document.');
test(function() {
assert_equals(importLink.import.body.id, 'body-only-1');
}, 'The attribute must return the imported document for the import.');
test(function() {
var importA = importLink.import;
var importB = document.querySelector('#importLink').import;
var anotherImport = document.querySelector('#anotherImportLink').import;
assert_true(importA === importB);
assert_true(importA !== anotherImport);
}, 'The same object must be returned each time.');
</script>
</body>
</html>

View file

@ -0,0 +1,4 @@
<!DOCTYPE html>
<html>
<body id="body-only-0">Hello</body>
</html>

View file

@ -0,0 +1,4 @@
<!DOCTYPE html>
<html>
<body id="body-only-1">Hello</body>
</html>

View file

@ -0,0 +1,4 @@
<!DOCTYPE html>
<html>
<body id="body-only-2">Hello</body>
</html>

View file

@ -0,0 +1,3 @@
h1 {
color: red;
}