From: <mgu...@us...> - 2013-01-28 13:55:08
|
Revision: 8048 http://sourceforge.net/p/htmlunit/code/8048 Author: mguillem Date: 2013-01-28 13:55:03 +0000 (Mon, 28 Jan 2013) Log Message: ----------- FF3.6+ - returns color as rgb - doesn't lower case align value Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclaration.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHeading2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/StyleSheetListTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAppletElementTest.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/HTMLHeadingElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLIFrameElement2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLInputElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableCaptionElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableColElementTest.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclaration.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclaration.java 2013-01-28 12:27:20 UTC (rev 8047) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclaration.java 2013-01-28 13:55:03 UTC (rev 8048) @@ -504,7 +504,11 @@ */ @Override public String getColor() { - return defaultIfEmpty(super.getColor(), "rgb(0, 0, 0)"); + String value = defaultIfEmpty(super.getColor(), "rgb(0, 0, 0)"); + if (getBrowserVersion().hasFeature(JS_GET_BACKGROUND_COLOR_FOR_COMPUTED_STYLE_AS_RGB)) { + value = toRGBColor(value); + } + return value; } /** 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-01-28 12:27:20 UTC (rev 8047) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement.java 2013-01-28 13:55:03 UTC (rev 8048) @@ -2368,16 +2368,17 @@ * @param ignoreIfNoError if <tt>true</tt>, the invocation will be a no-op if it does not trigger an error * (i.e., it will not actually set the align attribute) */ - protected void setAlign(String align, final boolean ignoreIfNoError) { - align = align.toLowerCase(); + protected void setAlign(final String align, final boolean ignoreIfNoError) { + final String alignLC = align.toLowerCase(); final boolean acceptArbitraryValues = getBrowserVersion().hasFeature(JS_ALIGN_ACCEPTS_ARBITRARY_VALUES); if (acceptArbitraryValues - || "center".equals(align) - || "justify".equals(align) - || "left".equals(align) - || "right".equals(align)) { + || "center".equals(alignLC) + || "justify".equals(alignLC) + || "left".equals(alignLC) + || "right".equals(alignLC)) { if (!ignoreIfNoError) { - getDomNodeOrDie().setAttribute("align", align); + final String newValue = acceptArbitraryValues ? align : alignLC; + getDomNodeOrDie().setAttribute("align", newValue); } return; } Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHeading2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHeading2Test.java 2013-01-28 12:27:20 UTC (rev 8047) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHeading2Test.java 2013-01-28 13:55:03 UTC (rev 8048) @@ -22,8 +22,6 @@ import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; -import com.gargoylesoftware.htmlunit.BrowserRunner.Browser; -import com.gargoylesoftware.htmlunit.BrowserRunner.NotYetImplemented; import com.gargoylesoftware.htmlunit.WebDriverTestCase; /** @@ -93,10 +91,7 @@ * @throws Exception if an error occurs */ @Test - @NotYetImplemented({ Browser.CHROME, Browser.FF17 }) - @Alerts(DEFAULT = { "center", "8", "foo" }, - CHROME = { "CenTer", "8", "foo" }, - FF17 = { "CenTer", "8", "foo" }, + @Alerts(DEFAULT = { "CenTer", "8", "foo" }, IE = { "center", "error", "center", "error", "center" }) public void setAlign() throws Exception { final String html Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java 2013-01-28 12:27:20 UTC (rev 8047) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java 2013-01-28 13:55:03 UTC (rev 8048) @@ -986,7 +986,7 @@ * @throws Exception if an error occurs */ @Test - @Alerts(FF = "red", IE = "exception") + @Alerts(FF = "rgb(255, 0, 0)", IE = "exception") public void getComputedStyle_WithComputedColor() throws Exception { final String html = "<html>\n" Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.java 2013-01-28 12:27:20 UTC (rev 8047) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.java 2013-01-28 13:55:03 UTC (rev 8048) @@ -481,8 +481,8 @@ * @throws Exception if the test fails */ @Test - @Alerts(FF3_6 = { "red", "blue" }, FF17 = { "", "rgb(0, 0, 255)" }, IE = "exception") - @NotYetImplemented(Browser.FF17) + @Alerts(DEFAULT = { "", "rgb(0, 0, 255)" }, IE = "exception") + @NotYetImplemented(Browser.FF) public void getPropertyValue() throws Exception { final String html = "<html><head><title>First</title><script>\n" + "function doTest() {\n" Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/StyleSheetListTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/StyleSheetListTest.java 2013-01-28 12:27:20 UTC (rev 8047) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/StyleSheetListTest.java 2013-01-28 13:55:03 UTC (rev 8048) @@ -63,7 +63,7 @@ * @throws Exception if an error occurs */ @Test - @Alerts(FF = { "red", "red" }, IE = "exception") + @Alerts(FF = { "rgb(255, 0, 0)", "rgb(255, 0, 0)" }, IE = "exception") public void testGetComputedStyle_Link() throws Exception { final String html = "<html>\n" Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAppletElementTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAppletElementTest.java 2013-01-28 12:27:20 UTC (rev 8047) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAppletElementTest.java 2013-01-28 13:55:03 UTC (rev 8048) @@ -63,7 +63,7 @@ * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = { "center", "8", "foo", "left", "right", "bottom", "middle", "top" }, + @Alerts(DEFAULT = { "CenTer", "8", "foo", "left", "right", "bottom", "middle", "top" }, IE = { "center", "error", "center", "error", "center", "left", "right", "bottom", "middle", "top" }) @NotYetImplemented(IE) public void setAlign() throws Exception { 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-01-28 12:27:20 UTC (rev 8047) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDivElementTest.java 2013-01-28 13:55:03 UTC (rev 8048) @@ -95,7 +95,7 @@ * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = { "center", "8", "foo", "left", "right", "justify", "center" }, + @Alerts(DEFAULT = { "CenTer", "8", "foo", "left", "right", "justify", "center" }, IE = { "center", "error", "center", "error", "center", "left", "right", "justify", "center" }) public void setAlign() throws Exception { final String html Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLHeadingElementTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLHeadingElementTest.java 2013-01-28 12:27:20 UTC (rev 8047) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLHeadingElementTest.java 2013-01-28 13:55:03 UTC (rev 8048) @@ -58,7 +58,7 @@ * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = { "center", "8", "foo", "left", "right", "center", "justify" }, + @Alerts(DEFAULT = { "CenTer", "8", "foo", "left", "right", "center", "justify" }, IE = { "center", "error", "center", "error", "center", "left", "right", "center", "justify" }) public void setAlign() throws Exception { final String html Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLIFrameElement2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLIFrameElement2Test.java 2013-01-28 12:27:20 UTC (rev 8047) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLIFrameElement2Test.java 2013-01-28 13:55:03 UTC (rev 8048) @@ -14,7 +14,6 @@ */ package com.gargoylesoftware.htmlunit.javascript.host.html; -import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF17; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE; import org.junit.Test; @@ -715,10 +714,9 @@ * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = { "center", "8", "foo", "left", "right", "bottom", "middle", "top" }, - FF17 = { "CenTer", "8", "foo", "left", "right", "bottom", "middle", "top" }, + @Alerts(DEFAULT = { "CenTer", "8", "foo", "left", "right", "bottom", "middle", "top" }, IE = { "center", "error", "center", "error", "center", "left", "right", "bottom", "middle", "top" }) - @NotYetImplemented({ FF17, IE }) + @NotYetImplemented(IE) public void setAlign() throws Exception { final String html = "<html><body>\n" Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLInputElementTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLInputElementTest.java 2013-01-28 12:27:20 UTC (rev 8047) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLInputElementTest.java 2013-01-28 13:55:03 UTC (rev 8048) @@ -14,6 +14,7 @@ */ package com.gargoylesoftware.htmlunit.javascript.host.html; +import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF17; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE; import org.junit.Test; @@ -293,19 +294,22 @@ * @throws Exception if the test fails */ @Test + @Alerts("true") public void thisDotFormInOnClick() throws Exception { final String html = "<html>\n" - + "<head><title>First</title></head>\n" + "<body>\n" + "<form name='form1'>\n" + "<input type='submit' id='clickMe' onClick=\"this.form.target='_blank'; return false;\">\n" + "</form>\n" + + "<script>\n" + + "alert(document.forms[0].target == '');\n" + + "</script>\n" + "</body></html>"; - final WebDriver driver = loadPage2(html); - assertEquals("First", driver.getTitle()); + final WebDriver driver = loadPageWithAlerts2(html); - assertEquals(null, driver.findElement(By.name("form1")).getAttribute("target")); + // HtmlUnitDriver is buggy, it returns null here +// assertEquals("", driver.findElement(By.name("form1")).getAttribute("target")); driver.findElement(By.id("clickMe")).click(); @@ -704,7 +708,10 @@ @Alerts(DEFAULT = {"text text", "password password", "hidden hidden", "checkbox checkbox", "radio radio", "file file", "checkbox checkbox" }, FF10 = {"text TeXt", "password PassWord", "hidden Hidden", + "checkbox CheckBox", "radio rAdiO", "file FILE", "checkbox CHECKBOX" }, + FF17 = {"text TeXt", "password PassWord", "hidden Hidden", "checkbox CheckBox", "radio rAdiO", "file FILE", "checkbox CHECKBOX" }) + @NotYetImplemented(FF17) public void typeCase() throws Exception { final String html = "<html><head><title>foo</title><script>\n" @@ -790,7 +797,7 @@ * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = { "center", "8", "foo", "left", "right", "bottom", "middle", "top" }, + @Alerts(DEFAULT = { "CenTer", "8", "foo", "left", "right", "bottom", "middle", "top" }, IE = { "center", "error", "center", "error", "center", "left", "right", "bottom", "middle", "top" }) @NotYetImplemented(IE) public void setAlign() throws Exception { Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableCaptionElementTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableCaptionElementTest.java 2013-01-28 12:27:20 UTC (rev 8047) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableCaptionElementTest.java 2013-01-28 13:55:03 UTC (rev 8048) @@ -66,7 +66,7 @@ * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = { "center", "8", "foo", "left", "right", "bottom", "top" }, + @Alerts(DEFAULT = { "CenTer", "8", "foo", "left", "right", "bottom", "top" }, IE = { "center", "error", "center", "error", "center", "left", "right", "bottom", "top" }) @NotYetImplemented(IE) public void setAlign() throws Exception { Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableColElementTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableColElementTest.java 2013-01-28 12:27:20 UTC (rev 8047) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableColElementTest.java 2013-01-28 13:55:03 UTC (rev 8048) @@ -14,6 +14,8 @@ */ package com.gargoylesoftware.htmlunit.javascript.host.html; +import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF; +import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF17; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE; import org.junit.Test; @@ -68,7 +70,7 @@ * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = { "center", "8", "foo", "left", "right", "justify", "char", "center" }, + @Alerts(DEFAULT = { "CenTer", "8", "foo", "left", "right", "justify", "char", "center" }, IE = { "center", "error", "center", "error", "center", "left", "right", "error", "right", "error", "right", "center" }) @NotYetImplemented(IE) @@ -223,9 +225,9 @@ * @throws Exception if an error occurs */ @Test - @Alerts(FF3_6 = { "top", "baseline", "3", "middle", "8", "bottom" }, - FF = { "top", "baseline", "3", "middle", "8", "BOTtom" }, + @Alerts(FF = { "top", "baseline", "3", "middle", "8", "BOTtom" }, IE = { "top", "baseline", "top", "error", "middle", "baseline", "bottom" }) + @NotYetImplemented(FF) public void vAlign() throws Exception { final String html = "<html><body><table>\n" @@ -270,6 +272,7 @@ @Alerts(FF3_6 = { "50", "75%", "foo", "0", "20", "", "80", "40", "abc", "0", "30%", "33" }, FF = { "50", "75%", "foo", "-7", "20.2", "", "80", "40", "abc", "-10", "30%", "33.3" }, IE = { "50", "75%", "", "", "20", "", "error", "error", "80", "40", "", "", "30%", "33" }) + @NotYetImplemented(FF17) public void width() throws Exception { final String html = "<html><body><table>\n" @@ -327,7 +330,8 @@ * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = "128", FF10 = "128px") + @Alerts(DEFAULT = "128", FF10 = "128px", FF17 = "128px") + @NotYetImplemented(FF17) public void width_px() throws Exception { final String html = "<html><head>" |