Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(259)

Side by Side Diff: LayoutTests/imported/web-platform-tests/html/semantics/interactive-elements/the-details-element/toggleEvent.html

Issue 1144143009: W3C Test: Import web-platform-tests/html/semantics (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <meta charset=utf-8>
3 <title>The details element</title>
4 <link rel="author" title="Denis Ah-Kang" href="mailto:denis@w3.org">
5 <link rel=help href="https://html.spec.whatwg.org/multipage/#the-details-element ">
6 <script src="../../../../../../resources/testharness.js"></script>
7 <script src="../../../../../../resources/testharnessreport.js"></script>
8 <div id="log"></div>
9 <details id=details1>
10 <summary>Lorem ipsum</summary>
11 <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod te mpor incididunt ut labore et dolore magna aliqua.</p>
12 </details>
13 <details id=details2 open>
14 <summary>Lorem ipsum</summary>
15 <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod te mpor incididunt ut labore et dolore magna aliqua.</p>
16 </details>
17 <details id=details3 style="display:none;">
18 <summary>Lorem ipsum</summary>
19 <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod te mpor incididunt ut labore et dolore magna aliqua.</p>
20 </details>
21 <details id=details4>
22 </details>
23 <details id=details6>
24 <summary>Lorem ipsum</summary>
25 <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod te mpor incididunt ut labore et dolore magna aliqua.</p>
26 </details>
27 <script>
28 var t1 = async_test("Adding open to 'details' should fire a toggle event at th e 'details' element"),
29 t2 = async_test("Removing open from 'details' should fire a toggle event at th e 'details' element"),
30 t3 = async_test("Adding open to 'details' (display:none) should fire a toggle event at the 'details' element"),
31 t4 = async_test("Adding open from 'details' (no children) should fire a toggle event at the 'details' element"),
32 t6 = async_test("Calling open twice on 'details' fires only one toggle event") ,
33 details1 = document.getElementById('details1'),
34 details2 = document.getElementById('details2'),
35 details3 = document.getElementById('details3'),
36 details4 = document.getElementById('details4'),
37 details6 = document.getElementById('details6'),
38 loop=false;
39
40 function testEvent(evt) {
41 assert_true(evt.isTrusted, "event is trusted");
42 assert_false(evt.bubbles, "event doesn't bubble");
43 assert_false(evt.cancelable, "event is not cancelable");
44 assert_equals(Object.getPrototypeOf(evt), Event.prototype, "Prototype of tog gle event is Event.prototype");
45 }
46
47 details1.ontoggle = t1.step_func_done(function(evt) {
48 assert_true(details1.open);
49 testEvent(evt)
50 });
51 details1.open = true; // opens details1
52
53 details2.ontoggle = t2.step_func_done(function(evt) {
54 assert_false(details2.open);
55 testEvent(evt);
56 });
57 details2.open = false; // closes details2
58
59 details3.ontoggle = t3.step_func_done(function(evt) {
60 assert_true(details3.open);
61 testEvent(evt);
62 });
63 details3.open = true; // opens details3
64
65 details4.ontoggle = t4.step_func_done(function(evt) {
66 assert_true(details4.open);
67 testEvent(evt);
68 });
69 details4.open = true; // opens details4
70
71 async_test(function(t) {
72 var details5 = document.createElement("details");
73 details5.ontoggle = t.step_func_done(function(evt) {
74 assert_true(details5.open);
75 testEvent(evt);
76 })
77 details5.open = true;
78 }, "Adding open to 'details' (not in the document) should fire a toggle event at the 'details' element");
79
80 details6.open = true;
81 details6.open = false;
82 details6.ontoggle = t6.step_func(function() {
83 if (loop) {
84 assert_unreached("toggle event fired twice");
85 } else {
86 loop = true;
87 }
88 });
89 setTimeout(t6.step_func(function() {
90 assert_true(loop);
91 t6.done();
92 }), 0);
93 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698