<!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() {
   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>
