diff --git a/org.springframework.context/.classpath b/org.springframework.context/.classpath
index 360c7a532c..23afd252b2 100644
--- a/org.springframework.context/.classpath
+++ b/org.springframework.context/.classpath
@@ -29,6 +29,7 @@
+
diff --git a/org.springframework.context/.classpath.swp b/org.springframework.context/.classpath.swp
new file mode 100644
index 0000000000..874d80f7df
Binary files /dev/null and b/org.springframework.context/.classpath.swp differ
diff --git a/org.springframework.context/.ivy.xml.swp b/org.springframework.context/.ivy.xml.swp
new file mode 100644
index 0000000000..1bb9790412
Binary files /dev/null and b/org.springframework.context/.ivy.xml.swp differ
diff --git a/org.springframework.context/ivy.xml b/org.springframework.context/ivy.xml
index 5e1c267b90..ceb7aeb38c 100644
--- a/org.springframework.context/ivy.xml
+++ b/org.springframework.context/ivy.xml
@@ -39,6 +39,7 @@
+
diff --git a/org.springframework.context/src/test/java/org/springframework/aop/framework/CountingBeforeAdvice.java b/org.springframework.context/src/test/java/org/springframework/aop/framework/CountingBeforeAdvice.java
new file mode 100644
index 0000000000..3f391b2c68
--- /dev/null
+++ b/org.springframework.context/src/test/java/org/springframework/aop/framework/CountingBeforeAdvice.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2002-2005 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * 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
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.springframework.aop.framework;
+
+import java.lang.reflect.Method;
+
+import org.springframework.aop.MethodBeforeAdvice;
+
+/**
+ * Simple before advice example that we can use for counting checks.
+ *
+ * @author Rod Johnson
+ */
+public class CountingBeforeAdvice extends MethodCounter implements MethodBeforeAdvice {
+
+ public void before(Method m, Object[] args, Object target) throws Throwable {
+ count(m);
+ }
+
+}
\ No newline at end of file
diff --git a/org.springframework.context/src/test/java/org/springframework/aop/framework/MethodCounter.java b/org.springframework.context/src/test/java/org/springframework/aop/framework/MethodCounter.java
new file mode 100644
index 0000000000..d3030ffe8e
--- /dev/null
+++ b/org.springframework.context/src/test/java/org/springframework/aop/framework/MethodCounter.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2002-2007 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * 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
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.springframework.aop.framework;
+
+import java.io.Serializable;
+import java.lang.reflect.Method;
+import java.util.HashMap;
+
+/**
+ * Useful abstract superclass for counting advices etc.
+ *
+ * @author Rod Johnson
+ */
+public class MethodCounter implements Serializable {
+
+ /** Method name --> count, does not understand overloading */
+ private HashMap map = new HashMap();
+
+ private int allCount;
+
+ protected void count(Method m) {
+ count(m.getName());
+ }
+
+ protected void count(String methodName) {
+ Integer i = (Integer) map.get(methodName);
+ i = (i != null) ? new Integer(i.intValue() + 1) : new Integer(1);
+ map.put(methodName, i);
+ ++allCount;
+ }
+
+ public int getCalls(String methodName) {
+ Integer i = (Integer) map.get(methodName);
+ return (i != null ? i.intValue() : 0);
+ }
+
+ public int getCalls() {
+ return allCount;
+ }
+
+ /**
+ * A bit simplistic: just wants the same class.
+ * Doesn't worry about counts.
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ public boolean equals(Object other) {
+ return (other != null && other.getClass() == this.getClass());
+ }
+
+ public int hashCode() {
+ return getClass().hashCode();
+ }
+
+}
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/Calculator.java b/org.springframework.context/src/test/java/org/springframework/scripting/Calculator.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/Calculator.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/Calculator.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/CallCounter.java b/org.springframework.context/src/test/java/org/springframework/scripting/CallCounter.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/CallCounter.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/CallCounter.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/ConfigurableMessenger.java b/org.springframework.context/src/test/java/org/springframework/scripting/ConfigurableMessenger.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/ConfigurableMessenger.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/ConfigurableMessenger.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/ContextScriptBean.java b/org.springframework.context/src/test/java/org/springframework/scripting/ContextScriptBean.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/ContextScriptBean.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/ContextScriptBean.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/Messenger.java b/org.springframework.context/src/test/java/org/springframework/scripting/Messenger.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/Messenger.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/Messenger.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/MessengerScrambler.java b/org.springframework.context/src/test/java/org/springframework/scripting/MessengerScrambler.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/MessengerScrambler.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/MessengerScrambler.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/ScriptBean.java b/org.springframework.context/src/test/java/org/springframework/scripting/ScriptBean.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/ScriptBean.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/ScriptBean.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/TestBeanAwareMessenger.java b/org.springframework.context/src/test/java/org/springframework/scripting/TestBeanAwareMessenger.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/TestBeanAwareMessenger.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/TestBeanAwareMessenger.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/bsh/Broken.bsh b/org.springframework.context/src/test/java/org/springframework/scripting/bsh/Broken.bsh
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/bsh/Broken.bsh
rename to org.springframework.context/src/test/java/org/springframework/scripting/bsh/Broken.bsh
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/bsh/BshScriptFactoryTests.java b/org.springframework.context/src/test/java/org/springframework/scripting/bsh/BshScriptFactoryTests.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/bsh/BshScriptFactoryTests.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/bsh/BshScriptFactoryTests.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/bsh/Calculator.bsh b/org.springframework.context/src/test/java/org/springframework/scripting/bsh/Calculator.bsh
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/bsh/Calculator.bsh
rename to org.springframework.context/src/test/java/org/springframework/scripting/bsh/Calculator.bsh
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/bsh/Messenger.bsh b/org.springframework.context/src/test/java/org/springframework/scripting/bsh/Messenger.bsh
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/bsh/Messenger.bsh
rename to org.springframework.context/src/test/java/org/springframework/scripting/bsh/Messenger.bsh
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/bsh/MessengerImpl.bsh b/org.springframework.context/src/test/java/org/springframework/scripting/bsh/MessengerImpl.bsh
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/bsh/MessengerImpl.bsh
rename to org.springframework.context/src/test/java/org/springframework/scripting/bsh/MessengerImpl.bsh
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/bsh/MessengerInstance.bsh b/org.springframework.context/src/test/java/org/springframework/scripting/bsh/MessengerInstance.bsh
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/bsh/MessengerInstance.bsh
rename to org.springframework.context/src/test/java/org/springframework/scripting/bsh/MessengerInstance.bsh
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/bsh/bsh-with-xsd.xml b/org.springframework.context/src/test/java/org/springframework/scripting/bsh/bsh-with-xsd.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/bsh/bsh-with-xsd.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/bsh/bsh-with-xsd.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/bsh/bshBrokenContext.xml b/org.springframework.context/src/test/java/org/springframework/scripting/bsh/bshBrokenContext.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/bsh/bshBrokenContext.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/bsh/bshBrokenContext.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/bsh/bshContext.xml b/org.springframework.context/src/test/java/org/springframework/scripting/bsh/bshContext.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/bsh/bshContext.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/bsh/bshContext.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/bsh/bshRefreshableContext.xml b/org.springframework.context/src/test/java/org/springframework/scripting/bsh/bshRefreshableContext.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/bsh/bshRefreshableContext.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/bsh/bshRefreshableContext.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/config/ITestBean.java b/org.springframework.context/src/test/java/org/springframework/scripting/config/ITestBean.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/config/ITestBean.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/config/ITestBean.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/config/OtherTestBean.java b/org.springframework.context/src/test/java/org/springframework/scripting/config/OtherTestBean.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/config/OtherTestBean.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/config/OtherTestBean.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/config/ScriptingDefaultsTests.java b/org.springframework.context/src/test/java/org/springframework/scripting/config/ScriptingDefaultsTests.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/config/ScriptingDefaultsTests.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/config/ScriptingDefaultsTests.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/config/TestBean.groovy b/org.springframework.context/src/test/java/org/springframework/scripting/config/TestBean.groovy
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/config/TestBean.groovy
rename to org.springframework.context/src/test/java/org/springframework/scripting/config/TestBean.groovy
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/config/scriptingDefaultsTests.xml b/org.springframework.context/src/test/java/org/springframework/scripting/config/scriptingDefaultsTests.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/config/scriptingDefaultsTests.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/config/scriptingDefaultsTests.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/Broken.groovyb b/org.springframework.context/src/test/java/org/springframework/scripting/groovy/Broken.groovyb
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/Broken.groovyb
rename to org.springframework.context/src/test/java/org/springframework/scripting/groovy/Broken.groovyb
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/Calculator.groovy b/org.springframework.context/src/test/java/org/springframework/scripting/groovy/Calculator.groovy
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/Calculator.groovy
rename to org.springframework.context/src/test/java/org/springframework/scripting/groovy/Calculator.groovy
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/CallCounter.groovy b/org.springframework.context/src/test/java/org/springframework/scripting/groovy/CallCounter.groovy
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/CallCounter.groovy
rename to org.springframework.context/src/test/java/org/springframework/scripting/groovy/CallCounter.groovy
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/DelegatingCalculator.groovy b/org.springframework.context/src/test/java/org/springframework/scripting/groovy/DelegatingCalculator.groovy
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/DelegatingCalculator.groovy
rename to org.springframework.context/src/test/java/org/springframework/scripting/groovy/DelegatingCalculator.groovy
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/GroovyClassLoadingTests.java b/org.springframework.context/src/test/java/org/springframework/scripting/groovy/GroovyClassLoadingTests.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/GroovyClassLoadingTests.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/groovy/GroovyClassLoadingTests.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/GroovyScriptFactoryTests.java b/org.springframework.context/src/test/java/org/springframework/scripting/groovy/GroovyScriptFactoryTests.java
similarity index 96%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/GroovyScriptFactoryTests.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/groovy/GroovyScriptFactoryTests.java
index a8641a688b..50bee5d33f 100644
--- a/org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/GroovyScriptFactoryTests.java
+++ b/org.springframework.context/src/test/java/org/springframework/scripting/groovy/GroovyScriptFactoryTests.java
@@ -16,6 +16,8 @@
package org.springframework.scripting.groovy;
+import static org.junit.Assert.*;
+
import java.io.FileNotFoundException;
import java.util.Arrays;
import java.util.Map;
@@ -24,6 +26,7 @@ import groovy.lang.DelegatingMetaClass;
import groovy.lang.GroovyObject;
import junit.framework.TestCase;
import org.easymock.MockControl;
+import org.junit.Test;
import org.springframework.aop.support.AopUtils;
import org.springframework.aop.target.dynamic.Refreshable;
@@ -42,7 +45,6 @@ import org.springframework.scripting.Messenger;
import org.springframework.scripting.ScriptCompilationException;
import org.springframework.scripting.ScriptSource;
import org.springframework.scripting.support.ScriptFactoryPostProcessor;
-import org.springframework.test.AssertThrows;
/**
* @author Rob Harrop
@@ -50,9 +52,11 @@ import org.springframework.test.AssertThrows;
* @author Rod Johnson
* @author Juergen Hoeller
* @author Mark Fisher
+ * @author Chris Beams
*/
-public class GroovyScriptFactoryTests extends TestCase {
+public class GroovyScriptFactoryTests {
+ @Test
public void testStaticScript() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("groovyContext.xml", getClass());
@@ -81,6 +85,7 @@ public class GroovyScriptFactoryTests extends TestCase {
assertTrue(ctx.getBeansOfType(Messenger.class).values().contains(messenger));
}
+ @Test
public void testStaticPrototypeScript() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("groovyContext.xml", getClass());
ConfigurableMessenger messenger = (ConfigurableMessenger) ctx.getBean("messengerPrototype");
@@ -99,6 +104,7 @@ public class GroovyScriptFactoryTests extends TestCase {
assertEquals("Byebye World!", messenger2.getMessage());
}
+ @Test
public void testStaticScriptWithInstance() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("groovyContext.xml", getClass());
assertTrue(Arrays.asList(ctx.getBeanNamesForType(Messenger.class)).contains("messengerInstance"));
@@ -112,6 +118,7 @@ public class GroovyScriptFactoryTests extends TestCase {
assertTrue(ctx.getBeansOfType(Messenger.class).values().contains(messenger));
}
+ @Test
public void testStaticScriptWithInlineDefinedInstance() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("groovyContext.xml", getClass());
assertTrue(Arrays.asList(ctx.getBeanNamesForType(Messenger.class)).contains("messengerInstanceInline"));
@@ -125,6 +132,7 @@ public class GroovyScriptFactoryTests extends TestCase {
assertTrue(ctx.getBeansOfType(Messenger.class).values().contains(messenger));
}
+ @Test
public void testNonStaticScript() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("groovyRefreshableContext.xml", getClass());
Messenger messenger = (Messenger) ctx.getBean("messenger");
@@ -142,6 +150,7 @@ public class GroovyScriptFactoryTests extends TestCase {
assertEquals("Incorrect refresh count", 2, refreshable.getRefreshCount());
}
+ @Test
public void testNonStaticPrototypeScript() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("groovyRefreshableContext.xml", getClass());
ConfigurableMessenger messenger = (ConfigurableMessenger) ctx.getBean("messengerPrototype");
@@ -165,6 +174,7 @@ public class GroovyScriptFactoryTests extends TestCase {
assertEquals("Incorrect refresh count", 2, refreshable.getRefreshCount());
}
+ @Test
public void testScriptCompilationException() throws Exception {
try {
new ClassPathXmlApplicationContext("org/springframework/scripting/groovy/groovyBrokenContext.xml");
@@ -175,6 +185,7 @@ public class GroovyScriptFactoryTests extends TestCase {
}
}
+ @Test
public void testScriptedClassThatDoesNotHaveANoArgCtor() throws Exception {
MockControl mock = MockControl.createControl(ScriptSource.class);
ScriptSource script = (ScriptSource) mock.getMock();
@@ -195,6 +206,7 @@ public class GroovyScriptFactoryTests extends TestCase {
mock.verify();
}
+ @Test
public void testScriptedClassThatHasNoPublicNoArgCtor() throws Exception {
MockControl mock = MockControl.createControl(ScriptSource.class);
ScriptSource script = (ScriptSource) mock.getMock();
@@ -215,6 +227,7 @@ public class GroovyScriptFactoryTests extends TestCase {
mock.verify();
}
+ @Test
public void testWithTwoClassesDefinedInTheOneGroovyFile_CorrectClassFirst() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("twoClassesCorrectOneFirst.xml", getClass());
Messenger messenger = (Messenger) ctx.getBean("messenger");
@@ -225,6 +238,7 @@ public class GroovyScriptFactoryTests extends TestCase {
GroovyObject goo = (GroovyObject) messenger;
}
+ @Test
public void testWithTwoClassesDefinedInTheOneGroovyFile_WrongClassFirst() throws Exception {
try {
ApplicationContext ctx = new ClassPathXmlApplicationContext("twoClassesWrongOneFirst.xml", getClass());
@@ -236,6 +250,7 @@ public class GroovyScriptFactoryTests extends TestCase {
}
}
+ @Test
public void testCtorWithNullScriptSourceLocator() throws Exception {
try {
new GroovyScriptFactory(null);
@@ -245,6 +260,7 @@ public class GroovyScriptFactoryTests extends TestCase {
}
}
+ @Test
public void testCtorWithEmptyScriptSourceLocator() throws Exception {
try {
new GroovyScriptFactory("");
@@ -254,6 +270,7 @@ public class GroovyScriptFactoryTests extends TestCase {
}
}
+ @Test
public void testCtorWithWhitespacedScriptSourceLocator() throws Exception {
try {
new GroovyScriptFactory("\n ");
@@ -263,6 +280,7 @@ public class GroovyScriptFactoryTests extends TestCase {
}
}
+ @Test
public void testWithInlineScriptWithLeadingWhitespace() throws Exception {
try {
new ClassPathXmlApplicationContext("lwspBadGroovyContext.xml", getClass());
@@ -273,6 +291,7 @@ public class GroovyScriptFactoryTests extends TestCase {
}
}
+ @Test
public void testGetScriptedObjectDoesNotChokeOnNullInterfacesBeingPassedIn() throws Exception {
MockControl mock = MockControl.createControl(ScriptSource.class);
ScriptSource scriptSource = (ScriptSource) mock.getMock();
@@ -288,6 +307,7 @@ public class GroovyScriptFactoryTests extends TestCase {
mock.verify();
}
+ @Test
public void testGetScriptedObjectDoesChokeOnNullScriptSourceBeingPassedIn() throws Exception {
GroovyScriptFactory factory = new GroovyScriptFactory("a script source locator (doesn't matter here)");
try {
@@ -298,6 +318,7 @@ public class GroovyScriptFactoryTests extends TestCase {
}
}
+ @Test
public void testResourceScriptFromTag() throws Exception {
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("groovy-with-xsd.xml", getClass());
Messenger messenger = (Messenger) ctx.getBean("messenger");
@@ -313,6 +334,7 @@ public class GroovyScriptFactoryTests extends TestCase {
assertEquals(-200, countingAspect.getCalls());
}
+ @Test
public void testPrototypeScriptFromTag() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("groovy-with-xsd.xml", getClass());
ConfigurableMessenger messenger = (ConfigurableMessenger) ctx.getBean("messengerPrototype");
@@ -328,6 +350,7 @@ public class GroovyScriptFactoryTests extends TestCase {
assertEquals("Byebye World!", messenger2.getMessage());
}
+ @Test
public void testInlineScriptFromTag() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("groovy-with-xsd.xml", getClass());
Calculator calculator = (Calculator) ctx.getBean("calculator");
@@ -335,6 +358,7 @@ public class GroovyScriptFactoryTests extends TestCase {
assertFalse(calculator instanceof Refreshable);
}
+ @Test
public void testRefreshableFromTag() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("groovy-with-xsd.xml", getClass());
assertTrue(Arrays.asList(ctx.getBeanNamesForType(Messenger.class)).contains("refreshableMessenger"));
@@ -351,6 +375,7 @@ public class GroovyScriptFactoryTests extends TestCase {
assertTrue(ctx.getBeansOfType(Messenger.class).values().contains(messenger));
}
+ @Test
public void testAnonymousScriptDetected() throws Exception {
ApplicationContext ctx = new ClassPathXmlApplicationContext("groovy-with-xsd.xml", getClass());
Map beans = ctx.getBeansOfType(Messenger.class);
@@ -361,6 +386,7 @@ public class GroovyScriptFactoryTests extends TestCase {
* Tests the SPR-2098 bug whereby no more than 1 property element could be
* passed to a scripted bean :(
*/
+ @Test
public void testCanPassInMoreThanOneProperty() {
ApplicationContext ctx = new ClassPathXmlApplicationContext("groovy-multiple-properties.xml", getClass());
TestBean tb = (TestBean) ctx.getBean("testBean");
@@ -385,28 +411,30 @@ public class GroovyScriptFactoryTests extends TestCase {
}
}
+ @Test
public void testMetaClassWithBeans() {
testMetaClass("org/springframework/scripting/groovy/calculators.xml");
}
+ @Test
public void testMetaClassWithXsd() {
testMetaClass("org/springframework/scripting/groovy/calculators-with-xsd.xml");
}
private void testMetaClass(final String xmlFile) {
// expect the exception we threw in the custom metaclass to show it got invoked
- AssertThrows at = new AssertThrows(IllegalStateException.class) {
- public void test() throws Exception {
- ApplicationContext ctx =
- new ClassPathXmlApplicationContext(xmlFile);
- Calculator calc = (Calculator) ctx.getBean("delegatingCalculator");
- calc.add(1, 2);
- }
- };
- at.runTest();
- assertEquals("Gotcha", at.getActualException().getMessage());
+ try {
+ ApplicationContext ctx =
+ new ClassPathXmlApplicationContext(xmlFile);
+ Calculator calc = (Calculator) ctx.getBean("delegatingCalculator");
+ calc.add(1, 2);
+ fail("expected IllegalStateException");
+ } catch (IllegalStateException ex) {
+ assertEquals("Gotcha", ex.getMessage());
+ }
}
+ @Test
public void testFactoryBean() {
ApplicationContext context = new ClassPathXmlApplicationContext("groovyContext.xml", getClass());
Object factory = context.getBean("&factory");
@@ -416,6 +444,7 @@ public class GroovyScriptFactoryTests extends TestCase {
assertEquals("test", result);
}
+ @Test
public void testRefreshableFactoryBean() {
ApplicationContext context = new ClassPathXmlApplicationContext("groovyContext.xml", getClass());
Object factory = context.getBean("&refreshableFactory");
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/Messenger.groovy b/org.springframework.context/src/test/java/org/springframework/scripting/groovy/Messenger.groovy
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/Messenger.groovy
rename to org.springframework.context/src/test/java/org/springframework/scripting/groovy/Messenger.groovy
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/MessengerInstance.groovy b/org.springframework.context/src/test/java/org/springframework/scripting/groovy/MessengerInstance.groovy
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/MessengerInstance.groovy
rename to org.springframework.context/src/test/java/org/springframework/scripting/groovy/MessengerInstance.groovy
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/ScriptBean.groovy b/org.springframework.context/src/test/java/org/springframework/scripting/groovy/ScriptBean.groovy
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/ScriptBean.groovy
rename to org.springframework.context/src/test/java/org/springframework/scripting/groovy/ScriptBean.groovy
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/TestFactoryBean.groovy b/org.springframework.context/src/test/java/org/springframework/scripting/groovy/TestFactoryBean.groovy
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/TestFactoryBean.groovy
rename to org.springframework.context/src/test/java/org/springframework/scripting/groovy/TestFactoryBean.groovy
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/calculators-with-xsd.xml b/org.springframework.context/src/test/java/org/springframework/scripting/groovy/calculators-with-xsd.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/calculators-with-xsd.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/groovy/calculators-with-xsd.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/calculators.xml b/org.springframework.context/src/test/java/org/springframework/scripting/groovy/calculators.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/calculators.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/groovy/calculators.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/groovy-multiple-properties.xml b/org.springframework.context/src/test/java/org/springframework/scripting/groovy/groovy-multiple-properties.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/groovy-multiple-properties.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/groovy/groovy-multiple-properties.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/groovy-with-xsd.xml b/org.springframework.context/src/test/java/org/springframework/scripting/groovy/groovy-with-xsd.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/groovy-with-xsd.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/groovy/groovy-with-xsd.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/groovyBrokenContext.xml b/org.springframework.context/src/test/java/org/springframework/scripting/groovy/groovyBrokenContext.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/groovyBrokenContext.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/groovy/groovyBrokenContext.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/groovyContext.xml b/org.springframework.context/src/test/java/org/springframework/scripting/groovy/groovyContext.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/groovyContext.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/groovy/groovyContext.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/groovyRefreshableContext.xml b/org.springframework.context/src/test/java/org/springframework/scripting/groovy/groovyRefreshableContext.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/groovyRefreshableContext.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/groovy/groovyRefreshableContext.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/lwspBadGroovyContext.xml b/org.springframework.context/src/test/java/org/springframework/scripting/groovy/lwspBadGroovyContext.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/lwspBadGroovyContext.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/groovy/lwspBadGroovyContext.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/twoClassesCorrectOneFirst.xml b/org.springframework.context/src/test/java/org/springframework/scripting/groovy/twoClassesCorrectOneFirst.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/twoClassesCorrectOneFirst.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/groovy/twoClassesCorrectOneFirst.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/twoClassesWrongOneFirst.xml b/org.springframework.context/src/test/java/org/springframework/scripting/groovy/twoClassesWrongOneFirst.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/groovy/twoClassesWrongOneFirst.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/groovy/twoClassesWrongOneFirst.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/AdvisedJRubyScriptFactoryTests.java b/org.springframework.context/src/test/java/org/springframework/scripting/jruby/AdvisedJRubyScriptFactoryTests.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/AdvisedJRubyScriptFactoryTests.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/jruby/AdvisedJRubyScriptFactoryTests.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/Broken.rb b/org.springframework.context/src/test/java/org/springframework/scripting/jruby/Broken.rb
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/Broken.rb
rename to org.springframework.context/src/test/java/org/springframework/scripting/jruby/Broken.rb
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/Calculator.rb b/org.springframework.context/src/test/java/org/springframework/scripting/jruby/Calculator.rb
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/Calculator.rb
rename to org.springframework.context/src/test/java/org/springframework/scripting/jruby/Calculator.rb
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/JRubyScriptFactoryTests.java b/org.springframework.context/src/test/java/org/springframework/scripting/jruby/JRubyScriptFactoryTests.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/JRubyScriptFactoryTests.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/jruby/JRubyScriptFactoryTests.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/Messenger.rb b/org.springframework.context/src/test/java/org/springframework/scripting/jruby/Messenger.rb
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/Messenger.rb
rename to org.springframework.context/src/test/java/org/springframework/scripting/jruby/Messenger.rb
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/PrimitiveAdder.java b/org.springframework.context/src/test/java/org/springframework/scripting/jruby/PrimitiveAdder.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/PrimitiveAdder.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/jruby/PrimitiveAdder.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/Printable.java b/org.springframework.context/src/test/java/org/springframework/scripting/jruby/Printable.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/Printable.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/jruby/Printable.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/Printer.java b/org.springframework.context/src/test/java/org/springframework/scripting/jruby/Printer.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/Printer.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/jruby/Printer.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/Printer.rb b/org.springframework.context/src/test/java/org/springframework/scripting/jruby/Printer.rb
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/Printer.rb
rename to org.springframework.context/src/test/java/org/springframework/scripting/jruby/Printer.rb
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/WrapperAdder.java b/org.springframework.context/src/test/java/org/springframework/scripting/jruby/WrapperAdder.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/WrapperAdder.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/jruby/WrapperAdder.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/advisedByBeanNameAutoProxyCreator.xml b/org.springframework.context/src/test/java/org/springframework/scripting/jruby/advisedByBeanNameAutoProxyCreator.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/advisedByBeanNameAutoProxyCreator.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/jruby/advisedByBeanNameAutoProxyCreator.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/advisedByProxyFactoryBean.xml b/org.springframework.context/src/test/java/org/springframework/scripting/jruby/advisedByProxyFactoryBean.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/advisedByProxyFactoryBean.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/jruby/advisedByProxyFactoryBean.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/jruby-aop.xml b/org.springframework.context/src/test/java/org/springframework/scripting/jruby/jruby-aop.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/jruby-aop.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/jruby/jruby-aop.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/jruby-with-xsd.xml b/org.springframework.context/src/test/java/org/springframework/scripting/jruby/jruby-with-xsd.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/jruby-with-xsd.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/jruby/jruby-with-xsd.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/jrubyBrokenContext.xml b/org.springframework.context/src/test/java/org/springframework/scripting/jruby/jrubyBrokenContext.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/jrubyBrokenContext.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/jruby/jrubyBrokenContext.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/jrubyContext.xml b/org.springframework.context/src/test/java/org/springframework/scripting/jruby/jrubyContext.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/jrubyContext.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/jruby/jrubyContext.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/jrubyContextForPrimitives.xml b/org.springframework.context/src/test/java/org/springframework/scripting/jruby/jrubyContextForPrimitives.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/jrubyContextForPrimitives.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/jruby/jrubyContextForPrimitives.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/jrubyContextForWrappers.xml b/org.springframework.context/src/test/java/org/springframework/scripting/jruby/jrubyContextForWrappers.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/jrubyContextForWrappers.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/jruby/jrubyContextForWrappers.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/jrubyRefreshableContext.xml b/org.springframework.context/src/test/java/org/springframework/scripting/jruby/jrubyRefreshableContext.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/jruby/jrubyRefreshableContext.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/jruby/jrubyRefreshableContext.xml
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/support/RefreshableScriptTargetSourceTests.java b/org.springframework.context/src/test/java/org/springframework/scripting/support/RefreshableScriptTargetSourceTests.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/support/RefreshableScriptTargetSourceTests.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/support/RefreshableScriptTargetSourceTests.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/support/ResourceScriptSourceTests.java b/org.springframework.context/src/test/java/org/springframework/scripting/support/ResourceScriptSourceTests.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/support/ResourceScriptSourceTests.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/support/ResourceScriptSourceTests.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/support/ScriptFactoryPostProcessorTests.java b/org.springframework.context/src/test/java/org/springframework/scripting/support/ScriptFactoryPostProcessorTests.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/support/ScriptFactoryPostProcessorTests.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/support/ScriptFactoryPostProcessorTests.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/support/StaticScriptSourceTests.java b/org.springframework.context/src/test/java/org/springframework/scripting/support/StaticScriptSourceTests.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/support/StaticScriptSourceTests.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/support/StaticScriptSourceTests.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/support/StubMessenger.java b/org.springframework.context/src/test/java/org/springframework/scripting/support/StubMessenger.java
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/support/StubMessenger.java
rename to org.springframework.context/src/test/java/org/springframework/scripting/support/StubMessenger.java
diff --git a/org.springframework.testsuite/src/test/java/org/springframework/scripting/support/groovyReferences.xml b/org.springframework.context/src/test/java/org/springframework/scripting/support/groovyReferences.xml
similarity index 100%
rename from org.springframework.testsuite/src/test/java/org/springframework/scripting/support/groovyReferences.xml
rename to org.springframework.context/src/test/java/org/springframework/scripting/support/groovyReferences.xml
diff --git a/org.springframework.testsuite/.classpath.swp b/org.springframework.testsuite/.classpath.swp
new file mode 100644
index 0000000000..4d9c78ecde
Binary files /dev/null and b/org.springframework.testsuite/.classpath.swp differ
diff --git a/org.springframework.testsuite/.ivy.xml.swp b/org.springframework.testsuite/.ivy.xml.swp
new file mode 100644
index 0000000000..73e724d7bc
Binary files /dev/null and b/org.springframework.testsuite/.ivy.xml.swp differ