From: <asa...@us...> - 2012-12-08 14:05:57
|
Revision: 7841 http://sourceforge.net/p/htmlunit/code/7841 Author: asashour Date: 2012-12-08 14:05:52 +0000 (Sat, 08 Dec 2012) Log Message: ----------- BrowserVersion: add IE9/FF17, deprecate FF10 Modified Paths: -------------- trunk/htmlunit/src/changes/changes.xml trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/geo/Geolocation.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionClassRunner.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java Modified: trunk/htmlunit/src/changes/changes.xml =================================================================== --- trunk/htmlunit/src/changes/changes.xml 2012-12-08 12:31:58 UTC (rev 7840) +++ trunk/htmlunit/src/changes/changes.xml 2012-12-08 14:05:52 UTC (rev 7841) @@ -9,8 +9,9 @@ <body> <release version="2.12" date="???" description="Bugfixes"> <action type="update" dev="asashour"> - BrowserVersion: deprecate INTERNET_EXPLORER_6 and INTERNET_EXPLORER_7, - and make INTERNET_EXPLORER_8 the default one. + BrowserVersion: deprecate INTERNET_EXPLORER_6, INTERNET_EXPLORER_7, FIREFOX_10, + and make INTERNET_EXPLORER_8 the default one. Add INTERNET_EXPLORER_9 and + FIREFOX_17. </action> <action type="fix" dev="asashour" issue="1467"> JavaScript: fix Date.toLocaleDateString(). Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java 2012-12-08 12:31:58 UTC (rev 7840) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java 2012-12-08 14:05:52 UTC (rev 7841) @@ -116,12 +116,22 @@ "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.28) Gecko/20120306 Firefox/3.6.28", (float) 3.6, "FF3.6", null); - /** Firefox Warning: experimental!!! */ + /** + * Firefox 10. Warning: experimental!!!. + * @deprecated as of 2.12 + */ + @Deprecated public static final BrowserVersion FIREFOX_10 = new BrowserVersion( NETSCAPE, "5.0 (Windows)", "Mozilla/5.0 (Windows NT 6.1; rv:10.0.11) Gecko/20100101 Firefox/10.0.11", (float) 10.0, "FF10", null); + /** Firefox 17 ESR. Work In Progress!!! */ + public static final BrowserVersion FIREFOX_17 = new BrowserVersion( + NETSCAPE, "5.0 (Windows)", + "Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20100101 Firefox/17.0", + (float) 17.0, "FF17", null); + /** * Internet Explorer 6. * @deprecated as of 2.12 @@ -145,6 +155,11 @@ INTERNET_EXPLORER, "4.0 (compatible; MSIE 8.0; Windows NT 6.0)", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)", 8, "IE8", null); + /** Internet Explorer 9. Work In Progress!!! */ + public static final BrowserVersion INTERNET_EXPLORER_9 = new BrowserVersion( + INTERNET_EXPLORER, "5.0 (compatible; MSIE 9.0; Windows NT 6.1)", + "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1)", 9, "IE9", null); + /** Chrome 16. Warning: highly experimental!!! */ public static final BrowserVersion CHROME_16 = new BrowserVersion( "Netscape", "5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7" @@ -161,9 +176,11 @@ INTERNET_EXPLORER_6.initDefaultFeatures(); INTERNET_EXPLORER_7.initDefaultFeatures(); INTERNET_EXPLORER_8.initDefaultFeatures(); + INTERNET_EXPLORER_9.initDefaultFeatures(); FIREFOX_3_6.initDefaultFeatures(); FIREFOX_10.initDefaultFeatures(); + FIREFOX_17.initDefaultFeatures(); final PluginConfiguration flash = new PluginConfiguration("Shockwave Flash", "Shockwave Flash 9.0 r31", "libflashplayer.so"); @@ -171,6 +188,7 @@ "Shockwave Flash", "swf")); FIREFOX_3_6.getPlugins().add(flash); FIREFOX_10.getPlugins().add(flash); + FIREFOX_17.getPlugins().add(flash); CHROME_16.initDefaultFeatures(); CHROME_16.setApplicationCodeName("Mozilla"); @@ -309,7 +327,7 @@ /** * Returns <tt>true</tt> if this <tt>BrowserVersion</tt> instance represents some - * version of Firefox like {@link #FIREFOX_3_6} or {@link #FIREFOX_10}. + * version of Firefox like {@link #FIREFOX_3_6} or {@link #FIREFOX_17}. * @return whether or not this version is a version of a Firefox browser */ public final boolean isFirefox() { Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/geo/Geolocation.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/geo/Geolocation.java 2012-12-08 12:31:58 UTC (rev 7840) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/geo/Geolocation.java 2012-12-08 14:05:52 UTC (rev 7841) @@ -150,7 +150,7 @@ LOG.info("Invoking URL: " + url); } - final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_10); + final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_17); try { final Page page = webClient.getPage(url); final String content = page.getWebResponse().getContentAsString(); Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java 2012-12-08 12:31:58 UTC (rev 7840) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java 2012-12-08 14:05:52 UTC (rev 7841) @@ -73,6 +73,9 @@ if (/* browsers.contains("hu") ||*/ browsers.contains("hu-ff10")) { runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_10, false)); } + if (/* browsers.contains("hu") ||*/ browsers.contains("hu-ff17")) { + runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_17, false)); + } if (/*browsers.contains("hu") ||*/ browsers.contains("hu-ie6")) { runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_6, false)); } @@ -82,6 +85,9 @@ if (browsers.contains("hu") || browsers.contains("hu-ie8")) { runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_8, false)); } + if (/*browsers.contains("hu") ||*/ browsers.contains("hu-ie9")) { + runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_9, false)); + } // in a first time, chrome can be specified but is not integrated in the default run if (/*browsers.contains("hu") || */browsers.contains("hu-chrome16")) { runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.CHROME_16, false)); @@ -168,6 +174,9 @@ /** Internet Explorer 8. */ IE8, + /** Internet Explorer 9. */ + IE9, + /** All versions of Firefox. */ FF, @@ -177,6 +186,9 @@ /** Firefox 10. */ FF10, + /** Firefox 17. */ + FF17, + /** * Not Browser-specific, it will run only once. Don't use this with other Browsers. * And don't call directly or indirectly {@link WebTestCase#getBrowserVersion()} @@ -223,6 +235,9 @@ /** Alerts for Internet Explorer 8. If not defined, {@link #IE()} is used. */ String[] IE8() default {EMPTY_DEFAULT }; + /** Alerts for Internet Explorer 9. If not defined, {@link #IE()} is used. */ + String[] IE9() default {EMPTY_DEFAULT }; + /** Alerts for any Firefox, it can be overridden by specific FF version. */ String[] FF() default {EMPTY_DEFAULT }; @@ -232,6 +247,9 @@ /** Alerts for Firefox 10. If not defined, {@link #FF()} is used. */ String[] FF10() default {EMPTY_DEFAULT }; + /** Alerts for Firefox 17. If not defined, {@link #FF()} is used. */ + String[] FF17() default {EMPTY_DEFAULT }; + /** Alerts for any Chrome If not defined, it can be overridden by a specific chrome version. */ String[] CHROME() default{EMPTY_DEFAULT }; Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionClassRunner.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionClassRunner.java 2012-12-08 12:31:58 UTC (rev 7840) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionClassRunner.java 2012-12-08 14:05:52 UTC (rev 7841) @@ -78,12 +78,18 @@ else if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_8) { expectedAlerts = firstDefined(alerts.IE8(), alerts.IE(), alerts.DEFAULT()); } + else if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_9) { + expectedAlerts = firstDefined(alerts.IE9(), alerts.IE(), alerts.DEFAULT()); + } else if (browserVersion_ == BrowserVersion.FIREFOX_3_6) { expectedAlerts = firstDefined(alerts.FF3_6(), alerts.FF(), alerts.DEFAULT()); } else if (browserVersion_ == BrowserVersion.FIREFOX_10) { expectedAlerts = firstDefined(alerts.FF10(), alerts.FF(), alerts.DEFAULT()); } + else if (browserVersion_ == BrowserVersion.FIREFOX_17) { + expectedAlerts = firstDefined(alerts.FF17(), alerts.FF(), alerts.DEFAULT()); + } else if (browserVersion_ == BrowserVersion.CHROME_16) { expectedAlerts = firstDefined(alerts.CHROME16(), alerts.CHROME(), alerts.DEFAULT()); } @@ -240,6 +246,12 @@ } break; + case IE9: + if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_9) { + return true; + } + break; + case FF: if (browserVersion_.isFirefox()) { return true; @@ -258,6 +270,12 @@ } break; + case FF17: + if (browserVersion_ == BrowserVersion.FIREFOX_17) { + return true; + } + break; + case CHROME: if (browserVersion_.isChrome()) { return true; Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionTest.java 2012-12-08 12:31:58 UTC (rev 7840) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionTest.java 2012-12-08 14:05:52 UTC (rev 7841) @@ -32,9 +32,11 @@ public void getBrowserVersionNumeric() { assertEquals(3.6f, BrowserVersion.FIREFOX_3_6.getBrowserVersionNumeric()); assertEquals(10.0f, BrowserVersion.FIREFOX_10.getBrowserVersionNumeric()); + assertEquals(17.0f, BrowserVersion.FIREFOX_17.getBrowserVersionNumeric()); assertEquals(6.0f, BrowserVersion.INTERNET_EXPLORER_6.getBrowserVersionNumeric()); assertEquals(7.0f, BrowserVersion.INTERNET_EXPLORER_7.getBrowserVersionNumeric()); assertEquals(8.0f, BrowserVersion.INTERNET_EXPLORER_8.getBrowserVersionNumeric()); + assertEquals(9.0f, BrowserVersion.INTERNET_EXPLORER_9.getBrowserVersionNumeric()); assertEquals(16.0f, BrowserVersion.CHROME_16.getBrowserVersionNumeric()); } Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java 2012-12-08 12:31:58 UTC (rev 7840) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java 2012-12-08 14:05:52 UTC (rev 7841) @@ -81,7 +81,7 @@ * The file should contain four properties: "browsers", "ff3.bin", "ff3.6.bin", and "chrome15.bin". * <ul> * <li>browsers: is a comma separated list contains any combination of "hu" (for HtmlUnit with all browser versions), - * "hu-ie6", "hu-ie7", "hu-ie8", "hu-ff3", "hu-ff3.6", + * "hu-ie6", "hu-ie7", "hu-ie8", "hu-ff3", "hu-ff3.6", "hu-ff17", * "ff3", "ff3.6", "ie6", "ie7", "ie8", "chrome16", which will be used to driver real browsers, * note that you can't define more than one IE as there is no standard way * to have multiple IEs on the same machine</li> @@ -106,6 +106,7 @@ private static List<String> BROWSERS_PROPERTIES_; private static String FF3_6_BIN_; private static String FF10_BIN_; + private static String FF17_BIN_; private static String CHROME16_BIN_; /** The driver cache. */ @@ -143,6 +144,7 @@ .replaceAll(" ", "").toLowerCase().split(",")); FF3_6_BIN_ = properties.getProperty("ff3.6.bin"); FF10_BIN_ = properties.getProperty("ff10.bin"); + FF17_BIN_ = properties.getProperty("ff17.bin"); CHROME16_BIN_ = properties.getProperty("chrome16.bin"); } } @@ -246,6 +248,9 @@ else if (getBrowserVersion() == BrowserVersion.FIREFOX_10) { ffBinary = FF10_BIN_; } + else if (getBrowserVersion() == BrowserVersion.FIREFOX_17) { + ffBinary = FF17_BIN_; + } if (ffBinary != null) { return new FirefoxDriver(new FirefoxBinary(new File(ffBinary)), new FirefoxProfile()); } |