tapestry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hls...@apache.org
Subject svn commit: r1024354 - in /tapestry/tapestry5/trunk/tapestry-test/src: main/java/org/apache/tapestry5/test/SeleniumTestCase.java main/java/org/apache/tapestry5/test/TapestryTestConstants.java test/java/org/apache/tapestry5/test/SanityCheckTestSuite.java
Date Tue, 19 Oct 2010 18:48:07 GMT
Author: hlship
Date: Tue Oct 19 18:48:06 2010
New Revision: 1024354

URL: http://svn.apache.org/viewvc?rev=1024354&view=rev
Log:
TAP5-1314: Make the CommandProcessor available to test code

Modified:
    tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/SeleniumTestCase.java
    tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/TapestryTestConstants.java
    tapestry/tapestry5/trunk/tapestry-test/src/test/java/org/apache/tapestry5/test/SanityCheckTestSuite.java

Modified: tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/SeleniumTestCase.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/SeleniumTestCase.java?rev=1024354&r1=1024353&r2=1024354&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/SeleniumTestCase.java
(original)
+++ tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/SeleniumTestCase.java
Tue Oct 19 18:48:06 2010
@@ -16,7 +16,6 @@ package org.apache.tapestry5.test;
 
 import java.io.File;
 import java.lang.reflect.Method;
-import java.util.Map;
 
 import org.openqa.selenium.server.RemoteControlConfiguration;
 import org.openqa.selenium.server.SeleniumServer;
@@ -28,8 +27,6 @@ import org.testng.annotations.AfterTest;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.BeforeTest;
-import org.testng.annotations.Optional;
-import org.testng.annotations.Parameters;
 import org.testng.xml.XmlTest;
 
 import com.thoughtworks.selenium.CommandProcessor;
@@ -153,18 +150,21 @@ public class SeleniumTestCase extends As
 
         String baseURL = String.format("http://localhost:%d%s/", port, contextPath);
 
-        CommandProcessor cp = new HttpCommandProcessor("localhost", RemoteControlConfiguration.DEFAULT_PORT,
+        CommandProcessor httpCommandProcessor = new HttpCommandProcessor("localhost", RemoteControlConfiguration.DEFAULT_PORT,
                 browserStartCommand, baseURL);
 
-        ErrorReporter errorReporter = new ErrorReporterImpl(cp, testContext);
+        ErrorReporter errorReporter = new ErrorReporterImpl(httpCommandProcessor, testContext);
 
-        final Selenium selenium = new DefaultSelenium(new ErrorReportingCommandProcessor(cp,
errorReporter));
+        ErrorReportingCommandProcessor commandProcessor = new ErrorReportingCommandProcessor(httpCommandProcessor,
errorReporter);
+
+        final Selenium selenium = new DefaultSelenium(commandProcessor);
 
         selenium.start();
 
         testContext.setAttribute(TapestryTestConstants.BASE_URL_ATTRIBUTE, baseURL);
         testContext.setAttribute(TapestryTestConstants.SELENIUM_ATTRIBUTE, selenium);
         testContext.setAttribute(TapestryTestConstants.ERROR_REPORTER_ATTRIBUTE, errorReporter);
+        testContext.setAttribute(TapestryTestConstants.COMMAND_PROCESSOR_ATTRIBUTE, commandProcessor);
 
         testContext.setAttribute(TapestryTestConstants.SHUTDOWN_ATTRIBUTE, new Runnable()
         {
@@ -182,6 +182,7 @@ public class SeleniumTestCase extends As
                     testContext.removeAttribute(TapestryTestConstants.BASE_URL_ATTRIBUTE);
                     testContext.removeAttribute(TapestryTestConstants.SELENIUM_ATTRIBUTE);
                     testContext.removeAttribute(TapestryTestConstants.ERROR_REPORTER_ATTRIBUTE);
+                    testContext.removeAttribute(TapestryTestConstants.COMMAND_PROCESSOR_ATTRIBUTE);
                     testContext.removeAttribute(TapestryTestConstants.SHUTDOWN_ATTRIBUTE);
                 }
             }

Modified: tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/TapestryTestConstants.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/TapestryTestConstants.java?rev=1024354&r1=1024353&r2=1024354&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/TapestryTestConstants.java
(original)
+++ tapestry/tapestry5/trunk/tapestry-test/src/main/java/org/apache/tapestry5/test/TapestryTestConstants.java
Tue Oct 19 18:48:06 2010
@@ -20,6 +20,7 @@ import java.lang.reflect.Method;
 import org.testng.ITestContext;
 import org.testng.xml.XmlTest;
 
+import com.thoughtworks.selenium.CommandProcessor;
 import com.thoughtworks.selenium.Selenium;
 
 public class TapestryTestConstants
@@ -66,6 +67,15 @@ public class TapestryTestConstants
     public static final String SHUTDOWN_ATTRIBUTE = "tapestry.shutdown";
 
     /**
+     * The {@link ITestContext} attribute holding an instance of {@link CommandProcessor},
with
+     * enhanced exception reporting control. This allows tests that wish to, to bypass the
{@link Selenium} interface
+     * and execute commands directly on the Selenium RC server.
+     * 
+     * @since 5.2.0
+     */
+    public static final String COMMAND_PROCESSOR_ATTRIBUTE = "tapestry.command-processor";
+
+    /**
      * {@link ITestContext} attribute holding the application's base URL.
      * 
      * @see SeleniumLauncher#startup(String, String, int, String, ITestContext)

Modified: tapestry/tapestry5/trunk/tapestry-test/src/test/java/org/apache/tapestry5/test/SanityCheckTestSuite.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-test/src/test/java/org/apache/tapestry5/test/SanityCheckTestSuite.java?rev=1024354&r1=1024353&r2=1024354&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-test/src/test/java/org/apache/tapestry5/test/SanityCheckTestSuite.java
(original)
+++ tapestry/tapestry5/trunk/tapestry-test/src/test/java/org/apache/tapestry5/test/SanityCheckTestSuite.java
Tue Oct 19 18:48:06 2010
@@ -4,7 +4,7 @@
 // you may not use this file except in compliance with the License.
 // You may obtain a copy of the License at
 //
-//     http://www.apache.org/licenses/LICENSE-2.0
+// http://www.apache.org/licenses/LICENSE-2.0
 //
 // Unless required by applicable law or agreed to in writing, software
 // distributed under the License is distributed on an "AS IS" BASIS,
@@ -14,6 +14,7 @@
 
 package org.apache.tapestry5.test;
 
+import org.testng.ITestContext;
 import org.testng.annotations.Test;
 
 public class SanityCheckTestSuite extends SeleniumTestCase
@@ -41,4 +42,10 @@ public class SanityCheckTestSuite extend
             assertEquals(ex.getMessage(), "//h1 was 'Tapestry Test' not 'XYZ'");
         }
     }
+
+    @Test
+    public void command_processor_available(ITestContext context)
+    {
+        assertNotNull(context.getAttribute(TapestryTestConstants.COMMAND_PROCESSOR_ATTRIBUTE));
+    }
 }



Mime
View raw message