summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/interactive-elements/the-details-element/details.html
blob: 5ed14c53afc9371275917d460f5b9638ab9a091e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!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>