<!DOCTYPE html>
<meta charset="utf-8">
<title>HTML Test: base_href_specified</title>
<link rel="author" title="Intel" href="http://www.intel.com/">
<link rel="help" href="https://html.spec.whatwg.org/multipage/#the-base-element">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/get-host-info.sub.js"></script>
<base id="base">
<div id="log"></div>
<img id="test" src="test.ico" style="display:none">

<script>
  var testElement;
  var baseElement;

  var otherOrigin = get_host_info().HTTP_REMOTE_ORIGIN;

  setup(function() {
    testElement = document.getElementById("test");
    baseElement = document.getElementById("base");

    baseElement.setAttribute("href", otherOrigin);
  });

  test(function() {
    assert_equals(baseElement.href, otherOrigin + "/", "The href attribute of the base element is incorrect.");
  }, "The href attribute of the base element is specified");

  test(function() {
    assert_equals(testElement.src, otherOrigin + "/test.ico", "The src attribute of the img element is incorrect.");
  }, "The src attribute of the img element must relative to the href attribute of the base element");
</script>
