From: <asa...@us...> - 2017-05-31 10:37:33
|
Revision: 14509 http://sourceforge.net/p/htmlunit/code/14509 Author: asashour Date: 2017-05-31 10:37:30 +0000 (Wed, 31 May 2017) Log Message: ----------- - Fix Element.remove() - Test missing FF45 expectations Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Element.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/dom/CharacterData.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/dom/DocumentType.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/dom/Node.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/general/ElementPropertiesTest.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Element.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Element.java 2017-05-31 09:25:00 UTC (rev 14508) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Element.java 2017-05-31 10:37:30 UTC (rev 14509) @@ -1970,4 +1970,13 @@ setEventHandler("pointerup", onpointerup); } + /** + * {@inheritDoc} + */ + @Override + @JsxFunction({CHROME, FF, EDGE}) + public void remove() { + super.remove(); + } + } Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/dom/CharacterData.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/dom/CharacterData.java 2017-05-31 09:25:00 UTC (rev 14508) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/dom/CharacterData.java 2017-05-31 10:37:30 UTC (rev 14509) @@ -177,4 +177,13 @@ return null; } + /** + * {@inheritDoc} + */ + @Override + @JsxFunction({CHROME, FF, EDGE}) + public void remove() { + super.remove(); + } + } Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/dom/DocumentType.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/dom/DocumentType.java 2017-05-31 09:25:00 UTC (rev 14508) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/dom/DocumentType.java 2017-05-31 10:37:30 UTC (rev 14509) @@ -28,6 +28,7 @@ import com.gargoylesoftware.htmlunit.html.DomDocumentType; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxConstructor; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxFunction; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxGetter; import net.sourceforge.htmlunit.corejs.javascript.Undefined; @@ -160,4 +161,13 @@ return super.getNamespaceURI(); } + /** + * {@inheritDoc} + */ + @Override + @JsxFunction({CHROME, FF, EDGE}) + public void remove() { + super.remove(); + } + } Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/dom/Node.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/dom/Node.java 2017-05-31 09:25:00 UTC (rev 14508) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/dom/Node.java 2017-05-31 10:37:30 UTC (rev 14509) @@ -372,8 +372,7 @@ * Removes the DOM node from its parent. * @see <a href="https://developer.mozilla.org/en-US/docs/Web/API/ChildNode/remove">MDN documentation</a> */ - @JsxFunction({CHROME, FF, EDGE}) - public void remove() { + protected void remove() { getDomNodeOrDie().remove(); } Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/general/ElementPropertiesTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/general/ElementPropertiesTest.java 2017-05-31 09:25:00 UTC (rev 14508) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/general/ElementPropertiesTest.java 2017-05-31 10:37:30 UTC (rev 14509) @@ -557,9 +557,57 @@ } /** + * Test {@link com.gargoylesoftware.htmlunit.javascript.host.Element}. + * * @throws Exception if the test fails */ @Test + @Alerts(DEFAULT = "after(),animate(),assignedSlot,attachShadow(),attributes,before(),classList,className," + + "clientHeight,clientLeft,clientTop,clientWidth,closest(),createShadowRoot(),getAttribute()," + + "getAttributeNode(),getAttributeNodeNS(),getAttributeNS(),getBoundingClientRect(),getClientRects()," + + "getDestinationInsertionPoints(),getElementsByClassName(),getElementsByTagName()," + + "getElementsByTagNameNS(),hasAttribute(),hasAttributeNS(),hasAttributes(),hasPointerCapture(),id," + + "innerHTML,insertAdjacentElement(),insertAdjacentHTML(),insertAdjacentText(),localName,matches()," + + "namespaceURI,nextElementSibling,onbeforecopy,onbeforecut,onbeforepaste,oncopy,oncut,onpaste," + + "onsearch,onselectstart,onwebkitfullscreenchange,onwebkitfullscreenerror,onwheel,outerHTML,prefix," + + "previousElementSibling,releasePointerCapture(),remove(),removeAttribute(),removeAttributeNode()," + + "removeAttributeNS(),replaceWith(),requestPointerLock(),scrollHeight,scrollIntoView()," + + "scrollIntoViewIfNeeded(),scrollLeft,scrollTop,scrollWidth,setAttribute(),setAttributeNode()," + + "setAttributeNodeNS(),setAttributeNS(),setPointerCapture(),shadowRoot,slot,tagName," + + "webkitMatchesSelector(),webkitRequestFullScreen(),webkitRequestFullscreen()", + FF52 = "after(),animate(),attributes,before(),classList,className,clientHeight,clientLeft,clientTop," + + "clientWidth,closest(),getAttribute(),getAttributeNames(),getAttributeNode(),getAttributeNodeNS()," + + "getAttributeNS(),getBoundingClientRect(),getClientRects(),getElementsByClassName()," + + "getElementsByTagName(),getElementsByTagNameNS(),hasAttribute(),hasAttributeNS(),hasAttributes(),id," + + "innerHTML,insertAdjacentElement(),insertAdjacentHTML(),insertAdjacentText(),localName,matches()," + + "mozMatchesSelector(),mozRequestFullScreen(),namespaceURI,nextElementSibling,onwheel,outerHTML," + + "prefix,previousElementSibling,releaseCapture(),remove(),removeAttribute(),removeAttributeNode()," + + "removeAttributeNS(),replaceWith(),requestPointerLock(),scroll(),scrollBy(),scrollHeight," + + "scrollIntoView(),scrollLeft,scrollLeftMax,scrollTo(),scrollTop,scrollTopMax,scrollWidth," + + "setAttribute(),setAttributeNode(),setAttributeNodeNS(),setAttributeNS(),setCapture(),tagName," + + "webkitMatchesSelector()", + IE = "childElementCount,clientHeight,clientLeft,clientTop,clientWidth,firstElementChild,getAttribute()," + + "getAttributeNode(),getAttributeNodeNS(),getAttributeNS(),getBoundingClientRect(),getClientRects()," + + "getElementsByTagName(),getElementsByTagNameNS(),hasAttribute(),hasAttributeNS(),lastElementChild," + + "msContentZoomFactor,msGetRegionContent(),msGetUntransformedBounds(),msMatchesSelector()," + + "msRegionOverflow,msReleasePointerCapture(),msRequestFullscreen(),msSetPointerCapture()," + + "nextElementSibling,ongotpointercapture,onlostpointercapture,onmsgesturechange,onmsgesturedoubletap," + + "onmsgestureend,onmsgesturehold,onmsgesturestart,onmsgesturetap,onmsgotpointercapture," + + "onmsinertiastart,onmslostpointercapture,onmspointercancel,onmspointerdown,onmspointerenter," + + "onmspointerleave,onmspointermove,onmspointerout,onmspointerover,onmspointerup,onpointercancel," + + "onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup," + + "previousElementSibling,releasePointerCapture(),removeAttribute(),removeAttributeNode()," + + "removeAttributeNS(),scrollHeight,scrollLeft,scrollTop,scrollWidth,setAttribute(),setAttributeNode()," + + "setAttributeNodeNS(),setAttributeNS(),setPointerCapture(),tagName") + @NotYetImplemented + public void element2() throws Exception { + testString("element, document.createDocumentFragment()"); + } + + /** + * @throws Exception if the test fails + */ + @Test @Alerts(DEFAULT = "-", IE = "blockDirection,clipBottom,clipLeft,clipRight,clipTop,hasLayout") @NotYetImplemented(IE) |