Implement Element#closest

fixes #4603

- Add definition to the Element.webidl and implementation to element.rs.
- Create inclusive_ancestors helper in NodeHelpers
- Update test expectations
This commit is contained in:
Jim Hoskins 2015-01-12 22:34:17 -08:00
parent 2a9acdcb73
commit 7759358e09
6 changed files with 27 additions and 83 deletions

View file

@ -285,9 +285,6 @@
[Element interface: operation removeAttributeNode(Attr)]
expected: FAIL
[Element interface: operation closest(DOMString)]
expected: FAIL
[Element interface: attribute firstElementChild]
expected: FAIL
@ -357,12 +354,6 @@
[Element interface: calling removeAttributeNode(Attr) on element with too few arguments must throw TypeError]
expected: FAIL
[Element interface: element must inherit property "closest" with the proper type (22)]
expected: FAIL
[Element interface: calling closest(DOMString) on element with too few arguments must throw TypeError]
expected: FAIL
[Element interface: element must inherit property "firstElementChild" with the proper type (28)]
expected: FAIL

View file

@ -1,77 +1,9 @@
[Element-closest.html]
type: testharness
[Element.closest with context node \'test12\' and selector \'select\']
expected: FAIL
[Element.closest with context node \'test13\' and selector \'fieldset\']
expected: FAIL
[Element.closest with context node \'test13\' and selector \'div\']
expected: FAIL
[Element.closest with context node \'test3\' and selector \'body\']
expected: FAIL
[Element.closest with context node \'test4\' and selector \'[default\]\']
expected: FAIL
[Element.closest with context node \'test4\' and selector \'[selected\]\']
expected: FAIL
[Element.closest with context node \'test11\' and selector \'[selected\]\']
expected: FAIL
[Element.closest with context node \'test12\' and selector \'[name="form-a"\]\']
expected: FAIL
[Element.closest with context node \'test13\' and selector \'form[name="form-a"\]\']
expected: FAIL
[Element.closest with context node \'test9\' and selector \'input[required\]\']
expected: FAIL
[Element.closest with context node \'test9\' and selector \'select[required\]\']
expected: FAIL
[Element.closest with context node \'test13\' and selector \'div:not(.div1)\']
expected: FAIL
[Element.closest with context node \'test6\' and selector \'div.div3\']
expected: FAIL
[Element.closest with context node \'test1\' and selector \'div#test7\']
expected: FAIL
[Element.closest with context node \'test12\' and selector \'.div3 > .div2\']
expected: FAIL
[Element.closest with context node \'test12\' and selector \'.div3 > .div1\']
expected: FAIL
[Element.closest with context node \'test9\' and selector \'form > input[required\]\']
expected: FAIL
[Element.closest with context node \'test12\' and selector \'fieldset > select[required\]\']
expected: FAIL
[Element.closest with context node \'test6\' and selector \'input + fieldset\']
expected: FAIL
[Element.closest with context node \'test3\' and selector \'form + form\']
expected: FAIL
[Element.closest with context node \'test5\' and selector \'form + form\']
expected: FAIL
[Element.closest with context node \'test10\' and selector \':empty\']
expected: FAIL
[Element.closest with context node \'test11\' and selector \':last-child\']
expected: FAIL
[Element.closest with context node \'test12\' and selector \':first-child\']
expected: FAIL
[Element.closest with context node \'test11\' and selector \':invalid\']
expected: FAIL

View file

@ -1488,12 +1488,6 @@
[Element interface: calling removeAttributeNode(Attr) on document.createElement("noscript") with too few arguments must throw TypeError]
expected: FAIL
[Element interface: document.createElement("noscript") must inherit property "closest" with the proper type (22)]
expected: FAIL
[Element interface: calling closest(DOMString) on document.createElement("noscript") with too few arguments must throw TypeError]
expected: FAIL
[Element interface: document.createElement("noscript") must inherit property "firstElementChild" with the proper type (28)]
expected: FAIL