Title: [948] trunk/jbehave-maven-plugin/src/behaviour/java: Reproduced container classloading problem at unit-test level.
Revision
948
Author
mauro
Date
2008-09-26 02:51:47 -0500 (Fri, 26 Sep 2008)

Log Message

Reproduced container classloading problem at unit-test level.

Added Paths


Diff

Added: trunk/jbehave-maven-plugin/src/behaviour/java/org/jbehave/mojo/ScenarioClassLoaderBehaviour.java (0 => 948)

--- trunk/jbehave-maven-plugin/src/behaviour/java/org/jbehave/mojo/ScenarioClassLoaderBehaviour.java	                        (rev 0)
+++ trunk/jbehave-maven-plugin/src/behaviour/java/org/jbehave/mojo/ScenarioClassLoaderBehaviour.java	2008-09-26 07:51:47 UTC (rev 948)
@@ -0,0 +1,55 @@
+package org.jbehave.mojo;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.net.MalformedURLException;
+import java.util.Arrays;
+import java.util.List;
+
+import org.jbehave.container.pico.XMLPicoContainer;
+import org.jbehave.scenario.JUnitScenario;
+import org.jbehave.scenario.RunnableScenario;
+import org.junit.Test;
+
+public class ScenarioClassLoaderBehaviour {
+
+    @Test
+    public void canInstantiateNewScenario() throws MalformedURLException {
+        List<String> elements = Arrays.asList();
+        ScenarioClassLoader classLoader = new ScenarioClassLoader(elements);
+        String scenarioClassName = MyScenario.class.getName();
+        assertScenarioIsInstantiated(classLoader, scenarioClassName);
+    }
+
+    //[EMAIL PROTECTED]
+    public void canInstantiateNewContainerScenario() throws MalformedURLException {
+        List<String> elements = Arrays.asList();
+        ClassLoader parent = Thread.currentThread().getContextClassLoader();
+        ScenarioClassLoader classLoader = new ScenarioClassLoader(elements, parent);
+        String scenarioClassName = MyContainerScenario.class.getName();
+        assertScenarioIsInstantiated(classLoader, scenarioClassName);
+    }
+
+    
+    private void assertScenarioIsInstantiated(ScenarioClassLoader classLoader, String scenarioClassName) {
+        RunnableScenario scenario = classLoader.newScenario(scenarioClassName);
+        assertNotNull(scenario);
+        assertEquals(scenarioClassName, scenario.getClass().getName());
+    }
+
+    private static class MyScenario extends JUnitScenario {
+
+        public MyScenario(ClassLoader classLoader){
+            
+        }
+    }
+
+    private static class MyContainerScenario extends JUnitScenario {
+
+        public MyContainerScenario(ClassLoader classLoader){
+            new XMLPicoContainer("org/jbehave/mojo/container.xml");
+        }
+    }
+
+}

Added: trunk/jbehave-maven-plugin/src/behaviour/java/org/jbehave/mojo/container.xml (0 => 948)

--- trunk/jbehave-maven-plugin/src/behaviour/java/org/jbehave/mojo/container.xml	                        (rev 0)
+++ trunk/jbehave-maven-plugin/src/behaviour/java/org/jbehave/mojo/container.xml	2008-09-26 07:51:47 UTC (rev 948)
@@ -0,0 +1 @@
+<container/>
\ No newline at end of file


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to