<!DOCTYPE html>
<meta charset="utf-8">
<title>HTML Test: base_href_empty</title>
<link rel="author" title="Intel" href="http://www.intel.com/">
<link rel="help" href="https://html.spec.whatwg.org/multipage/#the-base-element">
<base id="base" href="" target="_blank">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<img id="test" src="/images/blue-100x100.png" style="display:none">

<script>
  var testElement,
      baseElement;

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

  test(function() {
    assert_equals(baseElement.href, document.location.href, "The href of base element is incorrect.");
  }, "The value of the href attribute must be the document's address if it is empty");

  test(function() {
    var exp = testElement.src.substring(0, testElement.src.lastIndexOf("/images/blue-100x100.png") + 1);
    assert_true(baseElement.href.indexOf(exp) != -1, "The src of img element is incorrect.");
  }, "The src attribute of the img element must relative to document's address");
</script>
