[prev in list] [next in list] [prev in thread] [next in thread] 

List:       htmlunit-develop
Subject:    [HtmlUnit] SF.net SVN: htmlunit:[5743]
From:       asashour () users ! sourceforge ! net
Date:       2010-05-28 10:41:26
Message-ID: E1OHx0I-000177-QE () sfp-svn-4 ! v30 ! ch3 ! sourceforge ! com
[Download RAW message or body]

Revision: 5743
          http://htmlunit.svn.sourceforge.net/htmlunit/?rev=5743&view=rev
Author:   asashour
Date:     2010-05-28 10:41:26 +0000 (Fri, 28 May 2010)

Log Message:
-----------
test.properties: support individual browser simulation for HtmlUnit (e.g. 'hu-ie8')

Modified Paths:
--------------
    trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java
    trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java

Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java
 ===================================================================
--- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java	2010-05-27 \
                11:39:46 UTC (rev 5742)
+++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java	2010-05-28 \
10:41:26 UTC (rev 5743) @@ -62,37 +62,55 @@
         super(klass, Collections.<Runner>emptyList());
 
         if (BrowserVersionClassRunner.containsTestMethods(klass)) {
+            final List<String> browsers = WebDriverTestCase.getBrowsersProperties();
             if (WebDriverTestCase.class.isAssignableFrom(klass)) {
-                final String property = WebDriverTestCase.getBrowsersProperty();
-                if (property.contains("hu")) {
+                if (browsers.contains("hu") || browsers.contains("hu-ie6")) {
                     runners_.add(new BrowserVersionClassRunner(klass, \
BrowserVersion.INTERNET_EXPLORER_6, false)); +                }
+                if (browsers.contains("hu") || browsers.contains("hu-ie7")) {
                     runners_.add(new BrowserVersionClassRunner(klass, \
BrowserVersion.INTERNET_EXPLORER_7, false)); +                }
+                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-ff2")) {
                     runners_.add(new BrowserVersionClassRunner(klass, \
BrowserVersion.FIREFOX_2, false)); +                }
+                if (browsers.contains("hu") || browsers.contains("hu-ff3")) {
                     runners_.add(new BrowserVersionClassRunner(klass, \
BrowserVersion.FIREFOX_3, false));  }
-                if (property.contains("ie6")) {
+                if (browsers.contains("ie6")) {
                     runners_.add(new BrowserVersionClassRunner(klass, \
BrowserVersion.INTERNET_EXPLORER_6, true));  }
-                if (property.contains("ie7")) {
+                if (browsers.contains("ie7")) {
                     runners_.add(new BrowserVersionClassRunner(klass, \
BrowserVersion.INTERNET_EXPLORER_7, true));  }
-                if (property.contains("ie8")) {
+                if (browsers.contains("ie8")) {
                     runners_.add(new BrowserVersionClassRunner(klass, \
BrowserVersion.INTERNET_EXPLORER_8, true));  }
-                if (property.contains("ff2")) {
+                if (browsers.contains("ff2")) {
                     runners_.add(new BrowserVersionClassRunner(klass, \
BrowserVersion.FIREFOX_2, true));  }
-                if (property.contains("ff3")) {
+                if (browsers.contains("ff3")) {
                     runners_.add(new BrowserVersionClassRunner(klass, \
BrowserVersion.FIREFOX_3, true));  }
             }
             else {
-                runners_.add(new BrowserVersionClassRunner(klass, \
                BrowserVersion.INTERNET_EXPLORER_6, false));
-                runners_.add(new BrowserVersionClassRunner(klass, \
                BrowserVersion.INTERNET_EXPLORER_7, false));
-                runners_.add(new BrowserVersionClassRunner(klass, \
                BrowserVersion.INTERNET_EXPLORER_8, false));
-                runners_.add(new BrowserVersionClassRunner(klass, \
                BrowserVersion.FIREFOX_2, false));
-                runners_.add(new BrowserVersionClassRunner(klass, \
BrowserVersion.FIREFOX_3, false)); +                if (browsers.contains("hu") || \
browsers.contains("hu-ie6")) { +                    runners_.add(new \
BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_6, false)); +       \
} +                if (browsers.contains("hu") || browsers.contains("hu-ie7")) {
+                    runners_.add(new BrowserVersionClassRunner(klass, \
BrowserVersion.INTERNET_EXPLORER_7, false)); +                }
+                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-ff2")) {
+                    runners_.add(new BrowserVersionClassRunner(klass, \
BrowserVersion.FIREFOX_2, false)); +                }
+                if (browsers.contains("hu") || browsers.contains("hu-ff3")) {
+                    runners_.add(new BrowserVersionClassRunner(klass, \
BrowserVersion.FIREFOX_3, false)); +                }
             }
         }
         if (BrowserNoneClassRunner.containsTestMethods(klass)) {

Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java
 ===================================================================
--- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java	2010-05-27 \
                11:39:46 UTC (rev 5742)
+++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java	2010-05-28 \
10:41:26 UTC (rev 5743) @@ -20,6 +20,7 @@
 import java.lang.reflect.Field;
 import java.net.URL;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.List;
@@ -71,7 +72,8 @@
  * </pre>
  * The file should contain three properties: "browsers", "ff2.bin" and "ff3.bin".
  * <ul>
- *   <li>browsers: is a comma separated list contains any combination of "hu" (for \
HtmlUnit), + *   <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-ff2", "hu-ff3",
  *   "ff2", "ff3", "ie6", "ie7", "ie8", 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>
@@ -87,7 +89,7 @@
 public abstract class WebDriverTestCase extends WebTestCase {
 
     private static final Log LOG = LogFactory.getLog(WebDriverTestCase.class);
-    private static String BROWSERS_PROPERTY_;
+    private static List<String> BROWSERS_PROPERTIES_;
     private static String FF2_BIN_;
     private static String FF3_BIN_;
 
@@ -97,14 +99,15 @@
     private static String JSON_;
     private boolean useRealBrowser_;
 
-    static String getBrowsersProperty() {
-        if (BROWSERS_PROPERTY_ == null) {
+    static List<String> getBrowsersProperties() {
+        if (BROWSERS_PROPERTIES_ == null) {
             try {
                 final Properties properties = new Properties();
                 final File file = new File("test.properties");
                 if (file.exists()) {
                     properties.load(new FileInputStream(file));
-                    BROWSERS_PROPERTY_ = properties.getProperty("browsers", \
"hu").toLowerCase(); +                    BROWSERS_PROPERTIES_
+                        = Arrays.asList(properties.getProperty("browsers", \
"hu").toLowerCase().split(","));  FF2_BIN_ = properties.getProperty("ff2.bin");
                     FF3_BIN_ = properties.getProperty("ff3.bin");
                 }
@@ -112,11 +115,11 @@
             catch (final Exception e) {
                 LOG.info("Error reading htmlunit.properties", e);
             }
-            if (BROWSERS_PROPERTY_ == null) {
-                BROWSERS_PROPERTY_ = "hu";
+            if (BROWSERS_PROPERTIES_ == null) {
+                BROWSERS_PROPERTIES_ = Arrays.asList(new String[] {"hu"});
             }
         }
-        return BROWSERS_PROPERTY_;
+        return BROWSERS_PROPERTIES_;
     }
 
     /**


This was sent by the SourceForge.net collaborative development platform, the world's \
largest Open Source development site.

------------------------------------------------------------------------------

_______________________________________________
HtmlUnit-develop mailing list
HtmlUnit-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/htmlunit-develop


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic