| Index: third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/interactive-elements/the-details-element/toggleEvent.html
|
| diff --git a/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/interactive-elements/the-details-element/toggleEvent.html b/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/interactive-elements/the-details-element/toggleEvent.html
|
| index 1adce38e9ee93f008292be7519e69fdde6cdebf2..433a9a798e424b607a72d3493f7fbdaa8e6baff6 100644
|
| --- a/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/interactive-elements/the-details-element/toggleEvent.html
|
| +++ b/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/interactive-elements/the-details-element/toggleEvent.html
|
| @@ -24,17 +24,42 @@
|
| <summary>Lorem ipsum</summary>
|
| <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
|
| </details>
|
| +<details id=details7>
|
| + <summary>Lorem ipsum</summary>
|
| + <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
|
| +</details>
|
| +<details id=details8 open>
|
| + <summary>Lorem ipsum</summary>
|
| + <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
|
| +</details>
|
| +<details id=details9 open>
|
| + <summary>Lorem ipsum</summary>
|
| + <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
|
| +</details>
|
| +<details id=details10>
|
| + <summary>Lorem ipsum</summary>
|
| + <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
|
| +</details>
|
| <script>
|
| var t1 = async_test("Adding open to 'details' should fire a toggle event at the 'details' element"),
|
| t2 = async_test("Removing open from 'details' should fire a toggle event at the 'details' element"),
|
| t3 = async_test("Adding open to 'details' (display:none) should fire a toggle event at the 'details' element"),
|
| t4 = async_test("Adding open from 'details' (no children) should fire a toggle event at the 'details' element"),
|
| t6 = async_test("Calling open twice on 'details' fires only one toggle event"),
|
| + t7 = async_test("Calling setAttribute('open', '') to 'details' should fire a toggle event at the 'details' element"),
|
| + t8 = async_test("Calling removeAttribute('open') to 'details' should fire a toggle event at the 'details' element"),
|
| + t9 = async_test("Setting open=true to opened 'details' element should not fire a toggle event at the 'details' element"),
|
| + t10 = async_test("Setting open=false to closed 'details' element should not fire a toggle event at the 'details' element"),
|
| +
|
| details1 = document.getElementById('details1'),
|
| details2 = document.getElementById('details2'),
|
| details3 = document.getElementById('details3'),
|
| details4 = document.getElementById('details4'),
|
| details6 = document.getElementById('details6'),
|
| + details7 = document.getElementById('details7'),
|
| + details8 = document.getElementById('details8'),
|
| + details9 = document.getElementById('details9'),
|
| + details10 = document.getElementById('details10'),
|
| loop=false;
|
|
|
| function testEvent(evt) {
|
| @@ -90,4 +115,43 @@
|
| assert_true(loop);
|
| t6.done();
|
| }), 0);
|
| +
|
| + details7.ontoggle = t7.step_func_done(function(evt) {
|
| + assert_true(details7.open);
|
| + testEvent(evt)
|
| + });
|
| + details7.setAttribute('open', ''); // opens details7
|
| +
|
| + details8.ontoggle = t8.step_func_done(function(evt) {
|
| + assert_false(details8.open);
|
| + testEvent(evt)
|
| + });
|
| + details8.removeAttribute('open'); // closes details8
|
| +
|
| + var toggleFiredOnDetails9 = false;
|
| + details9.ontoggle = t9.step_func_done(function(evt) {
|
| + if (toggleFiredOnDetails9) {
|
| + assert_unreached("toggle event fired twice on opened details element");
|
| + } else {
|
| + toggleFiredOnDetails9 = true;
|
| + }
|
| + });
|
| + // The toggle event should be fired once when declaring details9 with open
|
| + // attribute.
|
| + details9.open = true; // opens details9
|
| + setTimeout(t9.step_func(function() {
|
| + assert_true(details9.open);
|
| + assert_true(toggleFiredOnDetails9);
|
| + t9.done();
|
| + }), 0);
|
| +
|
| + details10.ontoggle = t10.step_func_done(function(evt) {
|
| + assert_unreached("toggle event fired on closed details element");
|
| + });
|
| + details10.open = false; // closes details10
|
| + setTimeout(t10.step_func(function() {
|
| + assert_false(details10.open);
|
| + t10.done();
|
| + }), 0);
|
| +
|
| </script>
|
|
|