From: <rb...@us...> - 2013-09-15 15:34:25
|
Revision: 8486 http://sourceforge.net/p/htmlunit/code/8486 Author: rbri Date: 2013-09-15 15:34:22 +0000 (Sun, 15 Sep 2013) Log Message: ----------- Missing setter for element.outerHTML in FF17 Modified Paths: -------------- trunk/htmlunit/src/changes/changes.xml trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java Modified: trunk/htmlunit/src/changes/changes.xml =================================================================== --- trunk/htmlunit/src/changes/changes.xml 2013-09-15 14:20:49 UTC (rev 8485) +++ trunk/htmlunit/src/changes/changes.xml 2013-09-15 15:34:22 UTC (rev 8486) @@ -8,6 +8,9 @@ <body> <release version="2.13" date="???" description="Bugfixes"> + <action type="add" dev="rbri"> + JavaScript: Missing setter for element.outerHTML in FF17 fixed. + </action> <action type="update" dev="asashour"> Upgrade Apache HttpClient to 4.3. </action> Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement.java 2013-09-15 14:20:49 UTC (rev 8485) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement.java 2013-09-15 15:34:22 UTC (rev 8486) @@ -1050,7 +1050,7 @@ * @param value the new value for replacing this node * @see <a href="http://msdn.microsoft.com/en-us/library/ms534310.aspx">MSDN documentation</a> */ - @JsxSetter({ @WebBrowser(IE), @WebBrowser(CHROME) }) + @JsxSetter({ @WebBrowser(IE), @WebBrowser(CHROME), @WebBrowser(value = FF, minVersion = 11) }) public void setOuterHTML(final String value) { final DomNode domNode = getDomNodeOrDie(); Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java 2013-09-15 14:20:49 UTC (rev 8485) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java 2013-09-15 15:34:22 UTC (rev 8486) @@ -812,6 +812,28 @@ } /** + * Verifies outerHTML, innerHTML and innerText for newly created div. + * @throws Exception if the test fails + */ + @Alerts(DEFAULT = { "true", "true", "false" }, + FF3_6 = { "false", "true", "false" }, + IE = { "true", "true", "true" }) + @Test + public void outerHTMLinNewDiv() throws Exception { + final String html = "<html><body onload='test()'><script>\n" + + " function test() {\n" + + " var div = document.createElement('div');\n" + + " alert('outerHTML' in div);\n" + + " alert('innerHTML' in div);\n" + + " alert('innerText' in div);\n" + + " }\n" + + "</script>\n" + + "<div id='div'><span class='a b'></span></div>\n" + + "</body></html>"; + loadPageWithAlerts2(html); + } + + /** * Verifies that empty tags are not abbreviated into their <tag/> form. * @throws Exception if the test fails */ @@ -983,7 +1005,6 @@ "New = <span id=\"innerNode\">Old outerHTML</span>" }, FF10 = { "Old = <span id=\"innerNode\">Old outerHTML</span>", "New = <span id=\"innerNode\">Old outerHTML</span>" }) - @NotYetImplemented(FF17) public void setOuterHTMLAddTextToBlock() throws Exception { final String html = createPageForSetOuterHTML("div", "New cell value"); loadPageWithAlerts2(html); @@ -1000,7 +1021,6 @@ "New = <span id=\"innerNode\">Old outerHTML</span>" }, FF10 = { "Old = <span id=\"innerNode\">Old outerHTML</span>", "New = <span id=\"innerNode\">Old outerHTML</span>" }) - @NotYetImplemented(FF17) public void setOuterHTMLAddTextToInline() throws Exception { final String html = createPageForSetOuterHTML("span", "New cell value"); loadPageWithAlerts2(html); @@ -1017,7 +1037,6 @@ "New = <span id=\"innerNode\">Old outerHTML</span>" }, FF10 = { "Old = <span id=\"innerNode\">Old outerHTML</span>", "New = <span id=\"innerNode\">Old outerHTML</span>" }) - @NotYetImplemented(FF17) public void setOuterHTMLAddBlockToBlock() throws Exception { final String html = createPageForSetOuterHTML("div", "<div>test</div>"); loadPageWithAlerts2(html); @@ -1034,7 +1053,6 @@ "New = <span id=\"innerNode\">Old outerHTML</span>" }, FF10 = { "Old = <span id=\"innerNode\">Old outerHTML</span>", "New = <span id=\"innerNode\">Old outerHTML</span>" }) - @NotYetImplemented(FF17) public void setOuterHTMLAddBlockToInline() throws Exception { final String html = createPageForSetOuterHTML("span", "<div>test</div>"); loadPageWithAlerts2(html); @@ -1051,7 +1069,6 @@ "New = <span id=\"innerNode\">Old outerHTML</span>" }, FF10 = { "Old = <span id=\"innerNode\">Old outerHTML</span>", "New = <span id=\"innerNode\">Old outerHTML</span>" }) - @NotYetImplemented(FF17) public void setOuterHTMLAddInlineToInline() throws Exception { final String html = createPageForSetOuterHTML("span", "<span>test</span>"); loadPageWithAlerts2(html); @@ -1068,7 +1085,6 @@ "New = <span id=\"innerNode\">Old outerHTML</span>" }, FF10 = { "Old = <span id=\"innerNode\">Old outerHTML</span>", "New = <span id=\"innerNode\">Old outerHTML</span>" }) - @NotYetImplemented(FF17) public void setOuterHTMLAddInlineToBlock() throws Exception { final String html = createPageForSetOuterHTML("div", "<span>test</span>"); loadPageWithAlerts2(html); @@ -1085,7 +1101,6 @@ "New = <span id=\"innerNode\">Old outerHTML</span>" }, FF10 = { "Old = <span id=\"innerNode\">Old outerHTML</span>", "New = <span id=\"innerNode\">Old outerHTML</span>" }) - @NotYetImplemented(FF17) public void setOuterHTMLAddEmpty() throws Exception { final String html = createPageForSetOuterHTML("div", "<br>"); loadPageWithAlerts2(html); @@ -1183,7 +1198,6 @@ "New = <span id=\"innerNode\">Old outerHTML</span>" }, FF10 = { "Old = <span id=\"innerNode\">Old outerHTML</span>", "New = <span id=\"innerNode\">Old outerHTML</span>" }) - @NotYetImplemented(FF17) public void setOuterHTMLAddUnclosedParagraph() throws Exception { final String html = createPageForSetOuterHTML("div", "<p>test"); loadPageWithAlerts2(html); @@ -1219,7 +1233,6 @@ "New = <span id=\"innerNode\">Old outerHTML</span>" }, FF10 = { "Old = <span id=\"innerNode\">Old outerHTML</span>", "New = <span id=\"innerNode\">Old outerHTML</span>" }) - @NotYetImplemented(FF17) public void setOuterHTMLAddSelfClosingBlock() throws Exception { final String html = createPageForSetOuterHTML("div", "<div/>"); loadPageWithAlerts2(html); @@ -1255,7 +1268,6 @@ "New = <span id=\"innerNode\">Old outerHTML</span>" }, FF10 = { "Old = <span id=\"innerNode\">Old outerHTML</span>", "New = <span id=\"innerNode\">Old outerHTML</span>" }) - @NotYetImplemented(FF17) public void setOuterHTMLAddSelfClosingInline() throws Exception { final String html = createPageForSetOuterHTML("div", "<span/>"); loadPageWithAlerts2(html); @@ -1272,7 +1284,6 @@ "New = <span id=\"innerNode\">Old outerHTML</span>" }, FF10 = { "Old = <span id=\"innerNode\">Old outerHTML</span>", "New = <span id=\"innerNode\">Old outerHTML</span>" }) - @NotYetImplemented(FF17) public void setOuterHTMLAddSelfClosingEmpty() throws Exception { final String html = createPageForSetOuterHTML("div", "<br/>"); loadPageWithAlerts2(html); |