From: <mgu...@us...> - 2013-04-08 12:51:35
|
Revision: 8213 http://sourceforge.net/p/htmlunit/code/8213 Author: mguillem Date: 2013-04-08 12:51:32 +0000 (Mon, 08 Apr 2013) Log Message: ----------- in fact onchange and onsubmit have to be defined as previously for IE Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormField.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElement.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDivElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElementTest.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormField.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormField.java 2013-04-08 10:33:38 UTC (rev 8212) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormField.java 2013-04-08 12:51:32 UTC (rev 8213) @@ -14,12 +14,16 @@ */ package com.gargoylesoftware.htmlunit.javascript.host; +import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.IE; +import net.sourceforge.htmlunit.corejs.javascript.Function; + import com.gargoylesoftware.htmlunit.html.DomNode; import com.gargoylesoftware.htmlunit.html.HtmlElement; import com.gargoylesoftware.htmlunit.html.HtmlForm; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxGetter; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxSetter; +import com.gargoylesoftware.htmlunit.javascript.configuration.WebBrowser; /** * Base class for all JavaScript object corresponding to form fields. @@ -100,6 +104,24 @@ } /** + * Sets the <tt>onchange</tt> event handler for this element. + * @param onchange the <tt>onchange</tt> event handler for this element + */ + @JsxSetter(@WebBrowser(value = IE)) + public void setOnchange(final Object onchange) { + setEventHandlerProp("onchange", onchange); + } + + /** + * Returns the <tt>onchange</tt> event handler for this element. + * @return the <tt>onchange</tt> event handler for this element + */ + @JsxGetter(@WebBrowser(value = IE)) + public Function getOnchange() { + return getEventHandler("onchange"); + } + + /** * {@inheritDoc} Overridden to modify browser configurations. */ @Override 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-04-08 10:33:38 UTC (rev 8212) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement.java 2013-04-08 12:51:32 UTC (rev 8213) @@ -2844,7 +2844,7 @@ * Sets the <tt>onchange</tt> event handler for this element. * @param onchange the <tt>onchange</tt> event handler for this element */ - @JsxSetter + @JsxSetter({ @WebBrowser(value = FF), @WebBrowser(CHROME) }) public void setOnchange(final Object onchange) { setEventHandlerProp("onchange", onchange); } @@ -2853,7 +2853,7 @@ * Returns the <tt>onchange</tt> event handler for this element. * @return the <tt>onchange</tt> event handler for this element */ - @JsxGetter + @JsxGetter({ @WebBrowser(value = FF), @WebBrowser(CHROME) }) public Function getOnchange() { return getEventHandler("onchange"); } @@ -2862,7 +2862,7 @@ * Returns the <tt>onsubmit</tt> event handler for this element. * @return the <tt>onsubmit</tt> event handler for this element */ - @JsxGetter + @JsxGetter({ @WebBrowser(value = FF), @WebBrowser(CHROME) }) public Object getOnsubmit() { return getEventHandlerProp("onsubmit"); } @@ -2871,7 +2871,7 @@ * Sets the <tt>onsubmit</tt> event handler for this element. * @param onsubmit the <tt>onsubmit</tt> event handler for this element */ - @JsxSetter + @JsxSetter({ @WebBrowser(value = FF), @WebBrowser(CHROME) }) public void setOnsubmit(final Object onsubmit) { setEventHandlerProp("onsubmit", onsubmit); } Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElement.java 2013-04-08 10:33:38 UTC (rev 8212) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElement.java 2013-04-08 12:51:32 UTC (rev 8213) @@ -15,10 +15,10 @@ package com.gargoylesoftware.htmlunit.javascript.host.html; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.FORMFIELD_REACHABLE_BY_NEW_NAMES; -import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_FORM_ENCODING_NORMALIZED; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.GENERATED_169; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.GENERATED_80; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.GENERATED_81; +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_FORM_ENCODING_NORMALIZED; import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.IE; import java.net.MalformedURLException; @@ -233,6 +233,24 @@ } /** + * Returns the <tt>onsubmit</tt> event handler for this element. + * @return the <tt>onsubmit</tt> event handler for this element + */ + @JsxGetter(@WebBrowser(value = IE)) + public Object getOnsubmit() { + return getEventHandlerProp("onsubmit"); + } + + /** + * Sets the <tt>onsubmit</tt> event handler for this element. + * @param onsubmit the <tt>onsubmit</tt> event handler for this element + */ + @JsxSetter(@WebBrowser(value = IE)) + public void setOnsubmit(final Object onsubmit) { + setEventHandlerProp("onsubmit", onsubmit); + } + + /** * Sets the value of the JavaScript attribute "target". * @param target the new value */ Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDivElementTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDivElementTest.java 2013-04-08 10:33:38 UTC (rev 8212) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDivElementTest.java 2013-04-08 12:51:32 UTC (rev 8213) @@ -132,7 +132,8 @@ * @throws Exception if an error occurs */ @Test - @Alerts({ "null", "true", "null", "true" }) + @Alerts(DEFAULT = { "null", "true", "null", "true" }, + IE = { "undefined", "false", "undefined", "false" }) public void handlers() throws Exception { final String html = "<html><body>\n" Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElementTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElementTest.java 2013-04-08 10:33:38 UTC (rev 8212) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElementTest.java 2013-04-08 12:51:32 UTC (rev 8213) @@ -14,7 +14,6 @@ */ package com.gargoylesoftware.htmlunit.javascript.host.html; -import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF17; import java.net.URL; @@ -1275,7 +1274,6 @@ */ @Test @Alerts(FF = "function", IE = "string") - @NotYetImplemented(FF) public void onchangeHandler() throws Exception { final String html = "<html><head><title>foo</title><script>\n" |