<!doctype html>
<html>
  <head>
    <title>HTML details element API</title>
    <style>#one, #two { visibility: hidden; }</style>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
  </head>
  <body>
    <div id="log"></div>

    <!-- Used in parsing tests -->
    <div id='one'><details></details><details></details></div>
    <div id='two'><p><details></details></div>

    <script type="text/javascript">

function makeDetails () {
  return document.createElement('details');
}


// <details>
test(function () {
  var times = document.getElementById('one').getElementsByTagName('details');
  assert_equals( times.length, 2 );
}, 'HTML parsing should locate 2 details elements in this document');

test(function () {
  assert_equals( document.getElementById('two').getElementsByTagName('p')[0].innerHTML, '' );
}, 'HTML parsing should close an unclosed <p> before <details>');

test(function () {
  assert_true( !!window.HTMLDetailsElement );
}, 'HTMLDetailsElement should be exposed for prototyping');

test(function () {
  assert_true( makeDetails() instanceof window.HTMLDetailsElement);
}, 'a dynamically created details element should be instanceof HTMLDetailsElement');

test(function () {
  assert_true( document.getElementById('one').getElementsByTagName('details')[0] instanceof window.HTMLDetailsElement);
}, 'a details element from the parser should be instanceof HTMLDetailsElement');
    </script>

  </body>
</html>
