You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2006/11/21 22:49:12 UTC
svn commit: r477910 [4/9] - in /tapestry/tapestry5: tapestry-core/trunk/
tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/bindings/
tapestry-core/trunk/src/main/java/org/apache/tapestry/internal/test/
tapestry-core/trunk/src/main/resource...
Copied: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/BridgeBuilderTest.java (from r477721, tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/BridgeBuilderTest.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/BridgeBuilderTest.java?view=diff&rev=477910&p1=tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/BridgeBuilderTest.java&r1=477721&p2=tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/BridgeBuilderTest.java&r2=477910
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/BridgeBuilderTest.java (original)
+++ tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/BridgeBuilderTest.java Tue Nov 21 13:48:47 2006
@@ -12,196 +12,196 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry.ioc.internal.services;
-
-import java.io.Serializable;
-
-import org.apache.commons.logging.Log;
-import org.apache.tapestry.internal.test.InternalBaseTestCase;
-import org.apache.tapestry.ioc.services.ClassFactory;
-import org.testng.annotations.Test;
-
-public class BridgeBuilderTest extends InternalBaseTestCase
-{
- private ClassFactory _classFactory = new ClassFactoryImpl();
-
- @Test
- public void standard_interface_and_filter()
- {
- Log log = newLog();
-
- replay();
-
- BridgeBuilder<StandardService, StandardFilter> bb = new BridgeBuilder<StandardService, StandardFilter>(
- log, StandardService.class, StandardFilter.class, _classFactory);
-
- StandardFilter sf = new StandardFilter()
- {
- public int run(int i, StandardService ss)
- {
- return ss.run(i + 1);
- }
- };
-
- StandardService ss = new StandardService()
- {
- public int run(int i)
- {
- return i * 3;
- }
- };
-
- StandardService bridge = bb.instantiateBridge(ss, sf);
-
- // The filter adds 1, then the service multiplies by 3.
- // (5 +_1) * 3 = 18.
-
- assertEquals(bridge.run(5), 18);
-
- // Since toString() is not part of the service interface,
- // it will be implemented in the bridge.
-
- assertEquals(
- bridge.toString(),
- "<PipelineBridge from org.apache.tapestry.ioc.internal.services.StandardService to org.apache.tapestry.ioc.internal.services.StandardFilter>");
-
- verify();
- }
-
- @Test
- public void toString_part_of_service_interface()
- {
- Log log = newLog();
-
- replay();
-
- BridgeBuilder<ToStringService, ToStringFilter> bb = new BridgeBuilder<ToStringService, ToStringFilter>(
- log, ToStringService.class, ToStringFilter.class, _classFactory);
-
- ToStringFilter f = new ToStringFilter()
- {
- public String toString(ToStringService s)
- {
- return s.toString().toUpperCase();
- }
- };
-
- ToStringService s = new ToStringService()
- {
- @Override
- public String toString()
- {
- return "Service";
- }
- };
-
- ToStringService bridge = bb.instantiateBridge(s, f);
-
- assertEquals("SERVICE", bridge.toString());
-
- verify();
- }
-
- @Test
- public void service_interface_method_not_matched_in_filter_interface()
- {
- Log log = newLog();
- ExtraServiceMethod next = newMock(ExtraServiceMethod.class);
- Serializable filter = newMock(Serializable.class);
-
- log
- .error(
- "Method void extraServiceMethod() has no match in filter interface java.io.Serializable.",
- null);
-
- replay();
-
- BridgeBuilder<ExtraServiceMethod, Serializable> bb = new BridgeBuilder<ExtraServiceMethod, Serializable>(
- log, ExtraServiceMethod.class, Serializable.class, _classFactory);
-
- ExtraServiceMethod esm = bb.instantiateBridge(next, filter);
-
- try
- {
- esm.extraServiceMethod();
- unreachable();
- }
- catch (RuntimeException ex)
- {
- assertEquals(
- ex.getMessage(),
- "Method void extraServiceMethod() has no match in filter interface java.io.Serializable.");
- }
-
- verify();
- }
-
- @Test
- public void filter_interface_contains_extra_methods()
- {
- Log log = newLog();
- Serializable next = newMock(Serializable.class);
- ExtraFilterMethod filter = newMock(ExtraFilterMethod.class);
-
- log
- .error(
- "Method void extraFilterMethod() of filter interface "
- + "org.apache.tapestry.ioc.internal.services.ExtraFilterMethod does not have a matching method "
- + "in java.io.Serializable.",
- null);
-
- replay();
-
- BridgeBuilder<Serializable, ExtraFilterMethod> bb = new BridgeBuilder<Serializable, ExtraFilterMethod>(
- log, Serializable.class, ExtraFilterMethod.class, _classFactory);
-
- assertNotNull(bb.instantiateBridge(next, filter));
-
- verify();
- }
-
- @Test
- public void service_parameter_in_middle_of_filter_method()
- {
- Log log = newLog();
-
- replay();
-
- BridgeBuilder<MiddleService, MiddleFilter> bb = new BridgeBuilder<MiddleService, MiddleFilter>(
- log, MiddleService.class, MiddleFilter.class, _classFactory);
-
- MiddleFilter mf = new MiddleFilter()
- {
- public void execute(int count, char ch, MiddleService service, StringBuilder buffer)
- {
- service.execute(count, ch, buffer);
-
- buffer.append(' ');
-
- service.execute(count + 1, Character.toUpperCase(ch), buffer);
-
- }
- };
-
- MiddleService ms = new MiddleService()
- {
- public void execute(int count, char ch, StringBuilder buffer)
- {
- for (int i = 0; i < count; i++)
- buffer.append(ch);
- }
- };
-
- // This also tests building the bridge methods with a void return type.
-
- MiddleService bridge = bb.instantiateBridge(ms, mf);
-
- StringBuilder buffer = new StringBuilder("CODE: ");
-
- bridge.execute(3, 'a', buffer);
-
- assertEquals("CODE: aaa AAAA", buffer.toString());
-
- verify();
- }
-}
+package org.apache.tapestry.ioc.internal.services;
+
+import java.io.Serializable;
+
+import org.apache.commons.logging.Log;
+import org.apache.tapestry.ioc.internal.IOCInternalTestCase;
+import org.apache.tapestry.ioc.services.ClassFactory;
+import org.testng.annotations.Test;
+
+public class BridgeBuilderTest extends IOCInternalTestCase
+{
+ private ClassFactory _classFactory = new ClassFactoryImpl();
+
+ @Test
+ public void standard_interface_and_filter()
+ {
+ Log log = newLog();
+
+ replay();
+
+ BridgeBuilder<StandardService, StandardFilter> bb = new BridgeBuilder<StandardService, StandardFilter>(
+ log, StandardService.class, StandardFilter.class, _classFactory);
+
+ StandardFilter sf = new StandardFilter()
+ {
+ public int run(int i, StandardService ss)
+ {
+ return ss.run(i + 1);
+ }
+ };
+
+ StandardService ss = new StandardService()
+ {
+ public int run(int i)
+ {
+ return i * 3;
+ }
+ };
+
+ StandardService bridge = bb.instantiateBridge(ss, sf);
+
+ // The filter adds 1, then the service multiplies by 3.
+ // (5 +_1) * 3 = 18.
+
+ assertEquals(bridge.run(5), 18);
+
+ // Since toString() is not part of the service interface,
+ // it will be implemented in the bridge.
+
+ assertEquals(
+ bridge.toString(),
+ "<PipelineBridge from org.apache.tapestry.ioc.internal.services.StandardService to org.apache.tapestry.ioc.internal.services.StandardFilter>");
+
+ verify();
+ }
+
+ @Test
+ public void toString_part_of_service_interface()
+ {
+ Log log = newLog();
+
+ replay();
+
+ BridgeBuilder<ToStringService, ToStringFilter> bb = new BridgeBuilder<ToStringService, ToStringFilter>(
+ log, ToStringService.class, ToStringFilter.class, _classFactory);
+
+ ToStringFilter f = new ToStringFilter()
+ {
+ public String toString(ToStringService s)
+ {
+ return s.toString().toUpperCase();
+ }
+ };
+
+ ToStringService s = new ToStringService()
+ {
+ @Override
+ public String toString()
+ {
+ return "Service";
+ }
+ };
+
+ ToStringService bridge = bb.instantiateBridge(s, f);
+
+ assertEquals("SERVICE", bridge.toString());
+
+ verify();
+ }
+
+ @Test
+ public void service_interface_method_not_matched_in_filter_interface()
+ {
+ Log log = newLog();
+ ExtraServiceMethod next = newMock(ExtraServiceMethod.class);
+ Serializable filter = newMock(Serializable.class);
+
+ log
+ .error(
+ "Method void extraServiceMethod() has no match in filter interface java.io.Serializable.",
+ null);
+
+ replay();
+
+ BridgeBuilder<ExtraServiceMethod, Serializable> bb = new BridgeBuilder<ExtraServiceMethod, Serializable>(
+ log, ExtraServiceMethod.class, Serializable.class, _classFactory);
+
+ ExtraServiceMethod esm = bb.instantiateBridge(next, filter);
+
+ try
+ {
+ esm.extraServiceMethod();
+ unreachable();
+ }
+ catch (RuntimeException ex)
+ {
+ assertEquals(
+ ex.getMessage(),
+ "Method void extraServiceMethod() has no match in filter interface java.io.Serializable.");
+ }
+
+ verify();
+ }
+
+ @Test
+ public void filter_interface_contains_extra_methods()
+ {
+ Log log = newLog();
+ Serializable next = newMock(Serializable.class);
+ ExtraFilterMethod filter = newMock(ExtraFilterMethod.class);
+
+ log
+ .error(
+ "Method void extraFilterMethod() of filter interface "
+ + "org.apache.tapestry.ioc.internal.services.ExtraFilterMethod does not have a matching method "
+ + "in java.io.Serializable.",
+ null);
+
+ replay();
+
+ BridgeBuilder<Serializable, ExtraFilterMethod> bb = new BridgeBuilder<Serializable, ExtraFilterMethod>(
+ log, Serializable.class, ExtraFilterMethod.class, _classFactory);
+
+ assertNotNull(bb.instantiateBridge(next, filter));
+
+ verify();
+ }
+
+ @Test
+ public void service_parameter_in_middle_of_filter_method()
+ {
+ Log log = newLog();
+
+ replay();
+
+ BridgeBuilder<MiddleService, MiddleFilter> bb = new BridgeBuilder<MiddleService, MiddleFilter>(
+ log, MiddleService.class, MiddleFilter.class, _classFactory);
+
+ MiddleFilter mf = new MiddleFilter()
+ {
+ public void execute(int count, char ch, MiddleService service, StringBuilder buffer)
+ {
+ service.execute(count, ch, buffer);
+
+ buffer.append(' ');
+
+ service.execute(count + 1, Character.toUpperCase(ch), buffer);
+
+ }
+ };
+
+ MiddleService ms = new MiddleService()
+ {
+ public void execute(int count, char ch, StringBuilder buffer)
+ {
+ for (int i = 0; i < count; i++)
+ buffer.append(ch);
+ }
+ };
+
+ // This also tests building the bridge methods with a void return type.
+
+ MiddleService bridge = bb.instantiateBridge(ms, mf);
+
+ StringBuilder buffer = new StringBuilder("CODE: ");
+
+ bridge.execute(3, 'a', buffer);
+
+ assertEquals("CODE: aaa AAAA", buffer.toString());
+
+ verify();
+ }
+}
Copied: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ChainBuilderImplTest.java (from r477721, tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ChainBuilderImplTest.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ChainBuilderImplTest.java?view=diff&rev=477910&p1=tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ChainBuilderImplTest.java&r1=477721&p2=tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ChainBuilderImplTest.java&r2=477910
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ChainBuilderImplTest.java (original)
+++ tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ChainBuilderImplTest.java Tue Nov 21 13:48:47 2006
@@ -12,188 +12,185 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry.ioc.internal.services;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.tapestry.internal.test.InternalBaseTestCase;
-import org.apache.tapestry.ioc.services.ChainBuilder;
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-/**
- *
- */
-public class ChainBuilderImplTest extends InternalBaseTestCase
-{
- private final ChainBuilder _builder = new ChainBuilderImpl(new ClassFactoryImpl());
-
- @Test
- public void simple_void_method()
- {
- Runnable r1 = newRunnable();
- Runnable r2 = newRunnable();
-
- // Training:
-
- r1.run();
- r2.run();
-
- replay();
-
- Runnable chain = build(Runnable.class, r1, r2);
-
- chain.run();
-
- verify();
-
- Assert.assertEquals(chain.toString(), "<Command chain of java.lang.Runnable>");
- }
-
- @Test
- public void int_method()
- {
- ChainCommand c1 = newChainCommand();
- ChainCommand c2 = newChainCommand();
-
- c1.workInt(7);
- setReturnValue(0);
-
- c2.workInt(7);
- setReturnValue(99);
-
- replay();
-
- ChainCommand chain = build(ChainCommand.class, c1, c2);
-
- assertEquals(chain.workInt(7), 99);
-
- verify();
- }
-
- @Test
- public void int_method_shortcircuits()
- {
- ChainCommand c1 = newChainCommand();
- ChainCommand c2 = newChainCommand();
-
- c1.workInt(7);
- setReturnValue(88);
-
- replay();
-
- ChainCommand chain = build(ChainCommand.class, c1, c2);
-
- assertEquals(chain.workInt(7), 88);
-
- verify();
- }
-
- @Test
- public void boolean_method()
- {
- ChainCommand c1 = newChainCommand();
- ChainCommand c2 = newChainCommand();
-
- c1.workBoolean(true);
- setReturnValue(false);
-
- c2.workBoolean(true);
- setReturnValue(true);
-
- replay();
-
- ChainCommand chain = build(ChainCommand.class, c1, c2);
-
- assertEquals(chain.workBoolean(true), true);
-
- verify();
- }
-
- @Test
- public void string_method()
- {
- ChainCommand c1 = newChainCommand();
- ChainCommand c2 = newChainCommand();
-
- c1.workString("fred");
- setReturnValue(null);
-
- c2.workString("fred");
- setReturnValue("flintstone");
-
- replay();
-
- ChainCommand chain = build(ChainCommand.class, c1, c2);
-
- assertEquals(chain.workString("fred"), "flintstone");
-
- verify();
-
- }
-
- @Test
- public void double_method()
- {
- ChainCommand c1 = newChainCommand();
- ChainCommand c2 = newChainCommand();
-
- c1.workDouble(1.2d);
- setReturnValue(0);
-
- c2.workDouble(1.2d);
- setReturnValue(3.14d);
-
- replay();
-
- ChainCommand chain = build(ChainCommand.class, c1, c2);
-
- assertEquals(chain.workDouble(1.2d), 3.14d);
-
- verify();
- }
-
- private ChainCommand newChainCommand()
- {
- return newMock(ChainCommand.class);
- }
-
- @Test
- public void fabricated_classes_are_reused()
- {
- Runnable r1 = newRunnable();
- Runnable r2 = newRunnable();
-
- Runnable chain1 = build(Runnable.class, r1);
- Runnable chain2 = build(Runnable.class, r2);
-
- Assert.assertSame(chain1.getClass(), chain2.getClass());
-
- // Now make sure that the two instances are independent.
-
- r1.run();
-
- replay();
-
- chain1.run();
-
- verify();
-
- r2.run();
-
- replay();
-
- chain2.run();
-
- verify();
- }
-
- private <T> T build(Class<T> commandInterface, T... commands)
- {
- List<T> list = Arrays.asList(commands);
-
- return _builder.build(commandInterface, list);
- }
-
-}
+package org.apache.tapestry.ioc.internal.services;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.tapestry.ioc.internal.IOCInternalTestCase;
+import org.apache.tapestry.ioc.services.ChainBuilder;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+public class ChainBuilderImplTest extends IOCInternalTestCase
+{
+ private final ChainBuilder _builder = new ChainBuilderImpl(new ClassFactoryImpl());
+
+ @Test
+ public void simple_void_method()
+ {
+ Runnable r1 = newRunnable();
+ Runnable r2 = newRunnable();
+
+ // Training:
+
+ r1.run();
+ r2.run();
+
+ replay();
+
+ Runnable chain = build(Runnable.class, r1, r2);
+
+ chain.run();
+
+ verify();
+
+ Assert.assertEquals(chain.toString(), "<Command chain of java.lang.Runnable>");
+ }
+
+ @Test
+ public void int_method()
+ {
+ ChainCommand c1 = newChainCommand();
+ ChainCommand c2 = newChainCommand();
+
+ c1.workInt(7);
+ setReturnValue(0);
+
+ c2.workInt(7);
+ setReturnValue(99);
+
+ replay();
+
+ ChainCommand chain = build(ChainCommand.class, c1, c2);
+
+ assertEquals(chain.workInt(7), 99);
+
+ verify();
+ }
+
+ @Test
+ public void int_method_shortcircuits()
+ {
+ ChainCommand c1 = newChainCommand();
+ ChainCommand c2 = newChainCommand();
+
+ c1.workInt(7);
+ setReturnValue(88);
+
+ replay();
+
+ ChainCommand chain = build(ChainCommand.class, c1, c2);
+
+ assertEquals(chain.workInt(7), 88);
+
+ verify();
+ }
+
+ @Test
+ public void boolean_method()
+ {
+ ChainCommand c1 = newChainCommand();
+ ChainCommand c2 = newChainCommand();
+
+ c1.workBoolean(true);
+ setReturnValue(false);
+
+ c2.workBoolean(true);
+ setReturnValue(true);
+
+ replay();
+
+ ChainCommand chain = build(ChainCommand.class, c1, c2);
+
+ assertEquals(chain.workBoolean(true), true);
+
+ verify();
+ }
+
+ @Test
+ public void string_method()
+ {
+ ChainCommand c1 = newChainCommand();
+ ChainCommand c2 = newChainCommand();
+
+ c1.workString("fred");
+ setReturnValue(null);
+
+ c2.workString("fred");
+ setReturnValue("flintstone");
+
+ replay();
+
+ ChainCommand chain = build(ChainCommand.class, c1, c2);
+
+ assertEquals(chain.workString("fred"), "flintstone");
+
+ verify();
+
+ }
+
+ @Test
+ public void double_method()
+ {
+ ChainCommand c1 = newChainCommand();
+ ChainCommand c2 = newChainCommand();
+
+ c1.workDouble(1.2d);
+ setReturnValue(0);
+
+ c2.workDouble(1.2d);
+ setReturnValue(3.14d);
+
+ replay();
+
+ ChainCommand chain = build(ChainCommand.class, c1, c2);
+
+ assertEquals(chain.workDouble(1.2d), 3.14d);
+
+ verify();
+ }
+
+ private ChainCommand newChainCommand()
+ {
+ return newMock(ChainCommand.class);
+ }
+
+ @Test
+ public void fabricated_classes_are_reused()
+ {
+ Runnable r1 = newRunnable();
+ Runnable r2 = newRunnable();
+
+ Runnable chain1 = build(Runnable.class, r1);
+ Runnable chain2 = build(Runnable.class, r2);
+
+ Assert.assertSame(chain1.getClass(), chain2.getClass());
+
+ // Now make sure that the two instances are independent.
+
+ r1.run();
+
+ replay();
+
+ chain1.run();
+
+ verify();
+
+ r2.run();
+
+ replay();
+
+ chain2.run();
+
+ verify();
+ }
+
+ private <T> T build(Class<T> commandInterface, T... commands)
+ {
+ List<T> list = Arrays.asList(commands);
+
+ return _builder.build(commandInterface, list);
+ }
+
+}
Copied: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ClassFabImplTest.java (from r477721, tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ClassFabImplTest.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ClassFabImplTest.java?view=diff&rev=477910&p1=tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ClassFabImplTest.java&r1=477721&p2=tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ClassFabImplTest.java&r2=477910
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ClassFabImplTest.java (original)
+++ tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ClassFabImplTest.java Tue Nov 21 13:48:47 2006
@@ -29,13 +29,10 @@
import org.apache.tapestry.ioc.services.ClassFab;
import org.apache.tapestry.ioc.services.MethodSignature;
import org.apache.tapestry.ioc.services.PropertyAccess;
-import org.apache.tapestry.test.TapestryTestCase;
+import org.apache.tapestry.ioc.test.IOCTestCase;
import org.testng.annotations.Test;
-/**
- *
- */
-public class ClassFabImplTest extends TapestryTestCase
+public class ClassFabImplTest extends IOCTestCase
{
private final CtClassSource _source;
Copied: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ClassFactoryImplTest.java (from r477721, tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ClassFactoryImplTest.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ClassFactoryImplTest.java?view=diff&rev=477910&p1=tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ClassFactoryImplTest.java&r1=477721&p2=tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ClassFactoryImplTest.java&r2=477910
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ClassFactoryImplTest.java (original)
+++ tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ClassFactoryImplTest.java Tue Nov 21 13:48:47 2006
@@ -12,81 +12,78 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry.ioc.internal.services;
-
-import java.lang.reflect.Modifier;
-
-import org.apache.tapestry.ioc.services.ClassFab;
-import org.apache.tapestry.ioc.services.ClassFabUtils;
-import org.apache.tapestry.ioc.services.ClassFactory;
-import org.apache.tapestry.ioc.services.MethodSignature;
-import org.apache.tapestry.test.TapestryTestCase;
-import org.testng.annotations.Test;
-
-/**
- *
- */
-public class ClassFactoryImplTest extends TapestryTestCase
-{
- public static class BaseClass
- {
- public void run()
- {
- }
- }
-
- @Test
- public void new_class_with_name_and_base_class() throws Exception
- {
- ClassFactory factory = new ClassFactoryImpl();
- String name = ClassFabUtils.generateClassName(Runnable.class);
-
- ClassFab cf = factory.newClass(name, Object.class);
- cf.addInterface(Runnable.class);
-
- addRunMethod(cf);
-
- Class newClass = cf.createClass();
-
- Runnable instance = (Runnable) newClass.newInstance();
-
- instance.run();
- }
-
- @Test
- public void new_class_with_non_object_base_class() throws Exception
- {
- ClassFactory factory = new ClassFactoryImpl();
- String name = ClassFabUtils.generateClassName(Runnable.class);
-
- ClassFab cf = factory.newClass(name, BaseClass.class);
- cf.addInterface(Runnable.class);
-
- Class newClass = cf.createClass();
-
- Runnable instance = (Runnable) newClass.newInstance();
-
- instance.run();
- }
-
- @Test
- public void new_class_with_interface() throws Exception
- {
- ClassFactory factory = new ClassFactoryImpl();
-
- ClassFab cf = factory.newClass(Runnable.class);
-
- addRunMethod(cf);
-
- Class newClass = cf.createClass();
-
- Runnable instance = (Runnable) newClass.newInstance();
-
- instance.run();
- }
-
- private void addRunMethod(ClassFab cf)
- {
- cf.addMethod(Modifier.PUBLIC, new MethodSignature(void.class, "run", null, null), " { } ");
- }
-}
+package org.apache.tapestry.ioc.internal.services;
+
+import java.lang.reflect.Modifier;
+
+import org.apache.tapestry.ioc.services.ClassFab;
+import org.apache.tapestry.ioc.services.ClassFabUtils;
+import org.apache.tapestry.ioc.services.ClassFactory;
+import org.apache.tapestry.ioc.services.MethodSignature;
+import org.apache.tapestry.ioc.test.IOCTestCase;
+import org.testng.annotations.Test;
+
+public class ClassFactoryImplTest extends IOCTestCase
+{
+ public static class BaseClass
+ {
+ public void run()
+ {
+ }
+ }
+
+ @Test
+ public void new_class_with_name_and_base_class() throws Exception
+ {
+ ClassFactory factory = new ClassFactoryImpl();
+ String name = ClassFabUtils.generateClassName(Runnable.class);
+
+ ClassFab cf = factory.newClass(name, Object.class);
+ cf.addInterface(Runnable.class);
+
+ addRunMethod(cf);
+
+ Class newClass = cf.createClass();
+
+ Runnable instance = (Runnable) newClass.newInstance();
+
+ instance.run();
+ }
+
+ @Test
+ public void new_class_with_non_object_base_class() throws Exception
+ {
+ ClassFactory factory = new ClassFactoryImpl();
+ String name = ClassFabUtils.generateClassName(Runnable.class);
+
+ ClassFab cf = factory.newClass(name, BaseClass.class);
+ cf.addInterface(Runnable.class);
+
+ Class newClass = cf.createClass();
+
+ Runnable instance = (Runnable) newClass.newInstance();
+
+ instance.run();
+ }
+
+ @Test
+ public void new_class_with_interface() throws Exception
+ {
+ ClassFactory factory = new ClassFactoryImpl();
+
+ ClassFab cf = factory.newClass(Runnable.class);
+
+ addRunMethod(cf);
+
+ Class newClass = cf.createClass();
+
+ Runnable instance = (Runnable) newClass.newInstance();
+
+ instance.run();
+ }
+
+ private void addRunMethod(ClassFab cf)
+ {
+ cf.addMethod(Modifier.PUBLIC, new MethodSignature(void.class, "run", null, null), " { } ");
+ }
+}
Copied: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/DefaultImplementationBuilderImplTest.java (from r477721, tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/DefaultImplementationBuilderImplTest.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/DefaultImplementationBuilderImplTest.java?view=diff&rev=477910&p1=tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/DefaultImplementationBuilderImplTest.java&r1=477721&p2=tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/DefaultImplementationBuilderImplTest.java&r2=477910
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/DefaultImplementationBuilderImplTest.java (original)
+++ tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/DefaultImplementationBuilderImplTest.java Tue Nov 21 13:48:47 2006
@@ -12,76 +12,72 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry.ioc.internal.services;
-
-import org.apache.tapestry.internal.test.InternalBaseTestCase;
-import org.apache.tapestry.ioc.services.DefaultImplementationBuilder;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-/**
- *
- */
-public class DefaultImplementationBuilderImplTest extends InternalBaseTestCase
-{
- private DefaultImplementationBuilder _builder;
-
- @BeforeClass
- public void setup_builder()
- {
- _builder = getService(
- "tapestry.ioc.DefaultImplementationBuilder",
- DefaultImplementationBuilder.class);
- }
-
- @AfterClass
- public void cleanup_builder()
- {
- _builder = null;
- }
-
- @Test
- public void simple_interface()
- {
- Runnable r = _builder.createDefaultImplementation(Runnable.class);
-
- r.run();
-
- assertEquals(r.toString(), "<NoOp java.lang.Runnable>");
- }
-
- public interface ToString
- {
- String toString();
- }
-
- @Test
- public void interface_has_toString()
- {
- ToString ts = _builder.createDefaultImplementation(ToString.class);
-
- assertNull(ts.toString());
- }
-
- @Test
- public void instances_are_cached()
- {
- Runnable r1 = null;
- Runnable r2 = null;
-
- // With tests in parallel, there's a harmless race condition that can cause r1 != r2
- // for one pass, so we give it a second chance to prove itself.
-
- for (int i = 0; i < 2; i++)
- {
- r1 = _builder.createDefaultImplementation(Runnable.class);
- r2 = _builder.createDefaultImplementation(Runnable.class);
-
- if (r1 == r2)
- break;
- }
-
- assertSame(r2, r1);
- }
-}
+package org.apache.tapestry.ioc.internal.services;
+
+import org.apache.tapestry.ioc.internal.IOCInternalTestCase;
+import org.apache.tapestry.ioc.services.DefaultImplementationBuilder;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
+public class DefaultImplementationBuilderImplTest extends IOCInternalTestCase
+{
+ private DefaultImplementationBuilder _builder;
+
+ @BeforeClass
+ public void setup_builder()
+ {
+ _builder = getService(
+ "tapestry.ioc.DefaultImplementationBuilder",
+ DefaultImplementationBuilder.class);
+ }
+
+ @AfterClass
+ public void cleanup_builder()
+ {
+ _builder = null;
+ }
+
+ @Test
+ public void simple_interface()
+ {
+ Runnable r = _builder.createDefaultImplementation(Runnable.class);
+
+ r.run();
+
+ assertEquals(r.toString(), "<NoOp java.lang.Runnable>");
+ }
+
+ public interface ToString
+ {
+ String toString();
+ }
+
+ @Test
+ public void interface_has_toString()
+ {
+ ToString ts = _builder.createDefaultImplementation(ToString.class);
+
+ assertNull(ts.toString());
+ }
+
+ @Test
+ public void instances_are_cached()
+ {
+ Runnable r1 = null;
+ Runnable r2 = null;
+
+ // With tests in parallel, there's a harmless race condition that can cause r1 != r2
+ // for one pass, so we give it a second chance to prove itself.
+
+ for (int i = 0; i < 2; i++)
+ {
+ r1 = _builder.createDefaultImplementation(Runnable.class);
+ r2 = _builder.createDefaultImplementation(Runnable.class);
+
+ if (r1 == r2) break;
+ }
+
+ assertSame(r2, r1);
+ }
+}
Copied: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExceptionAnalyzerImplTest.java (from r477721, tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExceptionAnalyzerImplTest.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExceptionAnalyzerImplTest.java?view=diff&rev=477910&p1=tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExceptionAnalyzerImplTest.java&r1=477721&p2=tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExceptionAnalyzerImplTest.java&r2=477910
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExceptionAnalyzerImplTest.java (original)
+++ tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExceptionAnalyzerImplTest.java Tue Nov 21 13:48:47 2006
@@ -14,22 +14,19 @@
package org.apache.tapestry.ioc.internal.services;
-import java.util.Arrays;
-
-import org.apache.tapestry.internal.test.InternalBaseTestCase;
+import java.util.Arrays;
+
import org.apache.tapestry.ioc.Location;
+import org.apache.tapestry.ioc.internal.IOCInternalTestCase;
import org.apache.tapestry.ioc.internal.util.TapestryException;
-import org.apache.tapestry.ioc.services.ExceptionAnalysis;
-import org.apache.tapestry.ioc.services.ExceptionAnalyzer;
-import org.apache.tapestry.ioc.services.ExceptionInfo;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
+import org.apache.tapestry.ioc.services.ExceptionAnalysis;
+import org.apache.tapestry.ioc.services.ExceptionAnalyzer;
+import org.apache.tapestry.ioc.services.ExceptionInfo;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
-/**
- *
- */
-public class ExceptionAnalyzerImplTest extends InternalBaseTestCase
+public class ExceptionAnalyzerImplTest extends IOCInternalTestCase
{
private ExceptionAnalyzer _analyzer;
Copied: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExtraFilterMethod.java (from r477721, tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExtraFilterMethod.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExtraFilterMethod.java?view=diff&rev=477910&p1=tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExtraFilterMethod.java&r1=477721&p2=tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExtraFilterMethod.java&r2=477910
==============================================================================
(empty)
Propchange: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExtraFilterMethod.java
------------------------------------------------------------------------------
cvs2svn:cvs-rev = 1.2
Propchange: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExtraFilterMethod.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExtraFilterMethod.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Copied: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExtraServiceMethod.java (from r477721, tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExtraServiceMethod.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExtraServiceMethod.java?view=diff&rev=477910&p1=tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExtraServiceMethod.java&r1=477721&p2=tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExtraServiceMethod.java&r2=477910
==============================================================================
(empty)
Propchange: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExtraServiceMethod.java
------------------------------------------------------------------------------
cvs2svn:cvs-rev = 1.2
Propchange: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExtraServiceMethod.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/ExtraServiceMethod.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Copied: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/FilterMethodAnalyzerTest.java (from r477721, tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/FilterMethodAnalyzerTest.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/FilterMethodAnalyzerTest.java?view=diff&rev=477910&p1=tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/FilterMethodAnalyzerTest.java&r1=477721&p2=tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/FilterMethodAnalyzerTest.java&r2=477910
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/FilterMethodAnalyzerTest.java (original)
+++ tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/FilterMethodAnalyzerTest.java Tue Nov 21 13:48:47 2006
@@ -12,68 +12,65 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry.ioc.internal.services;
-
-import java.lang.reflect.Method;
-
-import org.apache.tapestry.internal.test.InternalBaseTestCase;
-import org.apache.tapestry.ioc.services.MethodSignature;
-import org.testng.annotations.Test;
-
-/**
- *
- */
-public class FilterMethodAnalyzerTest extends InternalBaseTestCase
-{
- private MethodSignature find(Class target, String name)
- {
- Method method = findMethod(target, name);
-
- return new MethodSignature(method);
- }
-
- private void assertPosition(String methodName, int expected)
- {
- FilterMethodAnalyzer a = new FilterMethodAnalyzer(SampleService.class);
-
- MethodSignature ms = find(SampleService.class, methodName);
- MethodSignature fms = find(SampleFilter.class, methodName);
-
- assertEquals(expected, a.findServiceInterfacePosition(ms, fms));
- }
-
- private void assertMismatch(String methodName)
- {
- assertPosition(methodName, -1);
- }
-
- @Test
- public void simple_match()
- {
- assertPosition("simpleMatch", 0);
- }
-
- @Test
- public void mismatched_parameter_count()
- {
- assertMismatch("mismatchParameterCount");
- }
-
- @Test
- public void mismatch_on_method_return_type()
- {
- assertMismatch("mismatchReturnType");
- }
-
- @Test
- public void service_interface_not_in_filter_method_signature()
- {
- assertMismatch("missingServiceInterface");
- }
-
- @Test
- public void match_with_multiple_parameters()
- {
- assertPosition("complexMatch", 2);
- }
-}
+package org.apache.tapestry.ioc.internal.services;
+
+import java.lang.reflect.Method;
+
+import org.apache.tapestry.ioc.internal.IOCInternalTestCase;
+import org.apache.tapestry.ioc.services.MethodSignature;
+import org.testng.annotations.Test;
+
+public class FilterMethodAnalyzerTest extends IOCInternalTestCase
+{
+ private MethodSignature find(Class target, String name)
+ {
+ Method method = findMethod(target, name);
+
+ return new MethodSignature(method);
+ }
+
+ private void assertPosition(String methodName, int expected)
+ {
+ FilterMethodAnalyzer a = new FilterMethodAnalyzer(SampleService.class);
+
+ MethodSignature ms = find(SampleService.class, methodName);
+ MethodSignature fms = find(SampleFilter.class, methodName);
+
+ assertEquals(expected, a.findServiceInterfacePosition(ms, fms));
+ }
+
+ private void assertMismatch(String methodName)
+ {
+ assertPosition(methodName, -1);
+ }
+
+ @Test
+ public void simple_match()
+ {
+ assertPosition("simpleMatch", 0);
+ }
+
+ @Test
+ public void mismatched_parameter_count()
+ {
+ assertMismatch("mismatchParameterCount");
+ }
+
+ @Test
+ public void mismatch_on_method_return_type()
+ {
+ assertMismatch("mismatchReturnType");
+ }
+
+ @Test
+ public void service_interface_not_in_filter_method_signature()
+ {
+ assertMismatch("missingServiceInterface");
+ }
+
+ @Test
+ public void match_with_multiple_parameters()
+ {
+ assertPosition("complexMatch", 2);
+ }
+}
Copied: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/LoggingDecoratorImplTest.java (from r477721, tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/LoggingDecoratorImplTest.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/LoggingDecoratorImplTest.java?view=diff&rev=477910&p1=tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/LoggingDecoratorImplTest.java&r1=477721&p2=tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/LoggingDecoratorImplTest.java&r2=477910
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/LoggingDecoratorImplTest.java (original)
+++ tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/LoggingDecoratorImplTest.java Tue Nov 21 13:48:47 2006
@@ -12,225 +12,223 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry.ioc.internal.services;
-
-import org.apache.commons.logging.Log;
-import org.apache.tapestry.ioc.services.LoggingDecorator;
-import org.apache.tapestry.test.TapestryTestCase;
-import org.testng.Assert;
-import org.testng.annotations.Test;
-import org.xml.sax.SAXParseException;
-
-/**
- * Use the LoggingDecorator in a number of ways to verify its behavior. In some ways we are testing
- * the code dynamically generated by the LoggingDecorator as much as we are testing the decorator
- * itself -- one proves the other.
- *
- *
- */
-public class LoggingDecoratorImplTest extends TapestryTestCase
-{
- public interface UpcaseService
- {
- String upcase(String input);
- }
-
- public interface AdderService
- {
- long add(long operand1, long operand2);
- }
-
- public interface ToStringService
- {
- String toString();
- }
-
- public interface ExceptionService
- {
- void parse() throws SAXParseException;
- }
-
- @Test
- public void void_method()
- {
- Log log = newLog();
- Runnable delegate = newMock(Runnable.class);
-
- train_isDebugEnabled(log, true);
- log.debug("[ENTER] run()");
-
- delegate.run();
-
- log.debug("[ EXIT] run");
-
- replay();
-
- LoggingDecorator ld = newLoggingDecorator();
- Runnable interceptor = ld.build(Runnable.class, delegate, "foo.Bar", log);
-
- interceptor.run();
-
- assertEquals(
- interceptor.toString(),
- "<Logging interceptor for foo.Bar(java.lang.Runnable)>");
-
- verify();
- }
-
- private LoggingDecoratorImpl newLoggingDecorator()
- {
- return new LoggingDecoratorImpl(new ClassFactoryImpl(), new ExceptionTrackerImpl());
- }
-
- @Test
- public void method_throws_runtime_exception()
- {
- Throwable t = new RuntimeException("From delegate.");
- Log log = newLog();
- Runnable delegate = newMock(Runnable.class);
-
- train_isDebugEnabled(log, true);
- log.debug("[ENTER] run()");
-
- delegate.run();
- setThrowable(t);
-
- train_isDebugEnabled(log, true);
-
- log.debug("[ FAIL] run -- " + t.getClass().getName(), t);
-
- replay();
-
- LoggingDecorator ld = newLoggingDecorator();
- Runnable interceptor = ld.build(Runnable.class, delegate, "foo.Bar", log);
-
- try
- {
- interceptor.run();
- unreachable();
- }
- catch (RuntimeException ex)
- {
- Assert.assertSame(ex, t);
- }
-
- verify();
- }
-
- @Test
- public void method_throws_checked_exception() throws Exception
- {
- Throwable t = new SAXParseException("From delegate.", null);
- Log log = newLog();
- ExceptionService delegate = newMock(ExceptionService.class);
-
- train_isDebugEnabled(log, true);
- log.debug("[ENTER] parse()");
-
- delegate.parse();
- setThrowable(t);
-
- train_isDebugEnabled(log, true);
-
- log.debug("[ FAIL] parse -- " + t.getClass().getName(), t);
-
- replay();
-
- LoggingDecorator ld = newLoggingDecorator();
- ExceptionService interceptor = ld.build(ExceptionService.class, delegate, "foo.Bar", log);
-
- try
- {
- interceptor.parse();
- unreachable();
- }
- catch (SAXParseException ex)
- {
- Assert.assertSame(ex, t);
- }
-
- verify();
- }
-
- @Test
- public void object_parameter_and_return_type()
- {
- Log log = newLog();
- UpcaseService delegate = new UpcaseService()
- {
- public String upcase(String input)
- {
- return input.toUpperCase();
- }
- };
-
- train_isDebugEnabled(log, true);
- log.debug("[ENTER] upcase(\"barney\")");
-
- log.debug("[ EXIT] upcase [\"BARNEY\"]");
-
- replay();
-
- LoggingDecorator ld = newLoggingDecorator();
- UpcaseService interceptor = ld.build(UpcaseService.class, delegate, "foo.Bar", log);
-
- assertEquals(interceptor.upcase("barney"), "BARNEY");
-
- verify();
- }
-
- @Test
- public void primitive_parameter_and_return_type()
- {
- Log log = newLog();
- AdderService delegate = new AdderService()
- {
- public long add(long operand1, long operand2)
- {
- return operand1 + operand2;
- }
- };
-
- train_isDebugEnabled(log, true);
- log.debug("[ENTER] add(6, 13)");
-
- log.debug("[ EXIT] add [19]");
-
- replay();
-
- LoggingDecorator ld = newLoggingDecorator();
- AdderService interceptor = ld.build(AdderService.class, delegate, "foo.Bar", log);
-
- assertEquals(interceptor.add(6, 13), 19);
-
- verify();
- }
-
- @Test
- public void to_string_method_in_service_interface_is_delegated()
- {
- Log log = newLog();
- ToStringService delegate = new ToStringService()
- {
- @Override
- public String toString()
- {
- return "FROM DELEGATE";
- }
- };
-
- train_isDebugEnabled(log, true);
- log.debug("[ENTER] toString()");
-
- log.debug("[ EXIT] toString [\"FROM DELEGATE\"]");
-
- replay();
-
- LoggingDecorator ld = newLoggingDecorator();
- ToStringService interceptor = ld.build(ToStringService.class, delegate, "foo.Bar", log);
-
- assertEquals(interceptor.toString(), "FROM DELEGATE");
-
- verify();
- }
-}
+package org.apache.tapestry.ioc.internal.services;
+
+import org.apache.commons.logging.Log;
+import org.apache.tapestry.ioc.services.LoggingDecorator;
+import org.apache.tapestry.ioc.test.IOCTestCase;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+import org.xml.sax.SAXParseException;
+
+/**
+ * Use the LoggingDecorator in a number of ways to verify its behavior. In some ways we are testing
+ * the code dynamically generated by the LoggingDecorator as much as we are testing the decorator
+ * itself -- one proves the other.
+ */
+public class LoggingDecoratorImplTest extends IOCTestCase
+{
+ public interface UpcaseService
+ {
+ String upcase(String input);
+ }
+
+ public interface AdderService
+ {
+ long add(long operand1, long operand2);
+ }
+
+ public interface ToStringService
+ {
+ String toString();
+ }
+
+ public interface ExceptionService
+ {
+ void parse() throws SAXParseException;
+ }
+
+ @Test
+ public void void_method()
+ {
+ Log log = newLog();
+ Runnable delegate = newMock(Runnable.class);
+
+ train_isDebugEnabled(log, true);
+ log.debug("[ENTER] run()");
+
+ delegate.run();
+
+ log.debug("[ EXIT] run");
+
+ replay();
+
+ LoggingDecorator ld = newLoggingDecorator();
+ Runnable interceptor = ld.build(Runnable.class, delegate, "foo.Bar", log);
+
+ interceptor.run();
+
+ assertEquals(
+ interceptor.toString(),
+ "<Logging interceptor for foo.Bar(java.lang.Runnable)>");
+
+ verify();
+ }
+
+ private LoggingDecoratorImpl newLoggingDecorator()
+ {
+ return new LoggingDecoratorImpl(new ClassFactoryImpl(), new ExceptionTrackerImpl());
+ }
+
+ @Test
+ public void method_throws_runtime_exception()
+ {
+ Throwable t = new RuntimeException("From delegate.");
+ Log log = newLog();
+ Runnable delegate = newMock(Runnable.class);
+
+ train_isDebugEnabled(log, true);
+ log.debug("[ENTER] run()");
+
+ delegate.run();
+ setThrowable(t);
+
+ train_isDebugEnabled(log, true);
+
+ log.debug("[ FAIL] run -- " + t.getClass().getName(), t);
+
+ replay();
+
+ LoggingDecorator ld = newLoggingDecorator();
+ Runnable interceptor = ld.build(Runnable.class, delegate, "foo.Bar", log);
+
+ try
+ {
+ interceptor.run();
+ unreachable();
+ }
+ catch (RuntimeException ex)
+ {
+ Assert.assertSame(ex, t);
+ }
+
+ verify();
+ }
+
+ @Test
+ public void method_throws_checked_exception() throws Exception
+ {
+ Throwable t = new SAXParseException("From delegate.", null);
+ Log log = newLog();
+ ExceptionService delegate = newMock(ExceptionService.class);
+
+ train_isDebugEnabled(log, true);
+ log.debug("[ENTER] parse()");
+
+ delegate.parse();
+ setThrowable(t);
+
+ train_isDebugEnabled(log, true);
+
+ log.debug("[ FAIL] parse -- " + t.getClass().getName(), t);
+
+ replay();
+
+ LoggingDecorator ld = newLoggingDecorator();
+ ExceptionService interceptor = ld.build(ExceptionService.class, delegate, "foo.Bar", log);
+
+ try
+ {
+ interceptor.parse();
+ unreachable();
+ }
+ catch (SAXParseException ex)
+ {
+ Assert.assertSame(ex, t);
+ }
+
+ verify();
+ }
+
+ @Test
+ public void object_parameter_and_return_type()
+ {
+ Log log = newLog();
+ UpcaseService delegate = new UpcaseService()
+ {
+ public String upcase(String input)
+ {
+ return input.toUpperCase();
+ }
+ };
+
+ train_isDebugEnabled(log, true);
+ log.debug("[ENTER] upcase(\"barney\")");
+
+ log.debug("[ EXIT] upcase [\"BARNEY\"]");
+
+ replay();
+
+ LoggingDecorator ld = newLoggingDecorator();
+ UpcaseService interceptor = ld.build(UpcaseService.class, delegate, "foo.Bar", log);
+
+ assertEquals(interceptor.upcase("barney"), "BARNEY");
+
+ verify();
+ }
+
+ @Test
+ public void primitive_parameter_and_return_type()
+ {
+ Log log = newLog();
+ AdderService delegate = new AdderService()
+ {
+ public long add(long operand1, long operand2)
+ {
+ return operand1 + operand2;
+ }
+ };
+
+ train_isDebugEnabled(log, true);
+ log.debug("[ENTER] add(6, 13)");
+
+ log.debug("[ EXIT] add [19]");
+
+ replay();
+
+ LoggingDecorator ld = newLoggingDecorator();
+ AdderService interceptor = ld.build(AdderService.class, delegate, "foo.Bar", log);
+
+ assertEquals(interceptor.add(6, 13), 19);
+
+ verify();
+ }
+
+ @Test
+ public void to_string_method_in_service_interface_is_delegated()
+ {
+ Log log = newLog();
+ ToStringService delegate = new ToStringService()
+ {
+ @Override
+ public String toString()
+ {
+ return "FROM DELEGATE";
+ }
+ };
+
+ train_isDebugEnabled(log, true);
+ log.debug("[ENTER] toString()");
+
+ log.debug("[ EXIT] toString [\"FROM DELEGATE\"]");
+
+ replay();
+
+ LoggingDecorator ld = newLoggingDecorator();
+ ToStringService interceptor = ld.build(ToStringService.class, delegate, "foo.Bar", log);
+
+ assertEquals(interceptor.toString(), "FROM DELEGATE");
+
+ verify();
+ }
+}
Copied: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MasterObjectProvideTest.java (from r477721, tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MasterObjectProvideTest.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MasterObjectProvideTest.java?view=diff&rev=477910&p1=tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MasterObjectProvideTest.java&r1=477721&p2=tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MasterObjectProvideTest.java&r2=477910
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MasterObjectProvideTest.java (original)
+++ tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MasterObjectProvideTest.java Tue Nov 21 13:48:47 2006
@@ -12,97 +12,94 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry.ioc.internal.services;
-
-import java.util.Collections;
-import java.util.Map;
-
-import org.apache.tapestry.internal.test.InternalBaseTestCase;
-import org.apache.tapestry.ioc.ObjectProvider;
-import org.apache.tapestry.ioc.ServiceLocator;
+package org.apache.tapestry.ioc.internal.services;
+
+import java.util.Collections;
+import java.util.Map;
+
+import org.apache.tapestry.ioc.ObjectProvider;
+import org.apache.tapestry.ioc.ServiceLocator;
+import org.apache.tapestry.ioc.internal.IOCInternalTestCase;
import org.apache.tapestry.ioc.internal.util.CollectionFactory;
-import org.testng.annotations.Test;
-
-/**
- *
- */
-public class MasterObjectProvideTest extends InternalBaseTestCase
-{
- private Map<String, ObjectProvider> newMap(String prefix, ObjectProvider provider)
- {
- return Collections.singletonMap(prefix, provider);
- }
-
- @Test
- public void successful_lookup()
- {
- ObjectProvider provider = newObjectProvider();
- ServiceLocator locator = newServiceLocator();
- Runnable r = newRunnable();
-
- train_provide(provider, "expression", Runnable.class, locator, r);
-
- replay();
-
- ObjectProvider master = new MasterObjectProvider(newMap("prefix", provider));
-
- Runnable actual = master.provide("prefix:expression", Runnable.class, locator);
-
- assertSame(actual, r);
-
- verify();
- }
-
- @Test
- public void unknown_object_provider_prefix()
- {
- ServiceLocator locator = newServiceLocator();
-
- replay();
-
- Map<String, ObjectProvider> configuration = CollectionFactory.newMap();
-
- ObjectProvider master = new MasterObjectProvider(configuration);
-
- try
- {
- master.provide("prefix:expression", Runnable.class, locator);
- unreachable();
- }
- catch (RuntimeException ex)
- {
- assertEquals(
- ex.getMessage(),
- "Object provider 'prefix' does not exist (in object reference 'prefix:expression').");
- }
-
- verify();
- }
-
- @Test
- public void no_prefix_in_object_reference()
- {
- ServiceLocator locator = newServiceLocator();
-
- replay();
-
- Map<String, ObjectProvider> configuration = CollectionFactory.newMap();
-
- ObjectProvider master = new MasterObjectProvider(configuration);
-
- try
- {
- master.provide("just-expression", Runnable.class, locator);
- unreachable();
- }
- catch (RuntimeException ex)
- {
- assertEquals(
- ex.getMessage(),
- "Object reference 'just-expression' does not contain an provider prefix (such as 'service:').");
- }
-
- verify();
- }
-
-}
+import org.testng.annotations.Test;
+
+public class MasterObjectProvideTest extends IOCInternalTestCase
+{
+ private Map<String, ObjectProvider> newMap(String prefix, ObjectProvider provider)
+ {
+ return Collections.singletonMap(prefix, provider);
+ }
+
+ @Test
+ public void successful_lookup()
+ {
+ ObjectProvider provider = newObjectProvider();
+ ServiceLocator locator = newServiceLocator();
+ Runnable r = newRunnable();
+
+ train_provide(provider, "expression", Runnable.class, locator, r);
+
+ replay();
+
+ ObjectProvider master = new MasterObjectProvider(newMap("prefix", provider));
+
+ Runnable actual = master.provide("prefix:expression", Runnable.class, locator);
+
+ assertSame(actual, r);
+
+ verify();
+ }
+
+ @Test
+ public void unknown_object_provider_prefix()
+ {
+ ServiceLocator locator = newServiceLocator();
+
+ replay();
+
+ Map<String, ObjectProvider> configuration = CollectionFactory.newMap();
+
+ ObjectProvider master = new MasterObjectProvider(configuration);
+
+ try
+ {
+ master.provide("prefix:expression", Runnable.class, locator);
+ unreachable();
+ }
+ catch (RuntimeException ex)
+ {
+ assertEquals(
+ ex.getMessage(),
+ "Object provider 'prefix' does not exist (in object reference 'prefix:expression').");
+ }
+
+ verify();
+ }
+
+ @Test
+ public void no_prefix_in_object_reference()
+ {
+ ServiceLocator locator = newServiceLocator();
+
+ replay();
+
+ Map<String, ObjectProvider> configuration = CollectionFactory.newMap();
+
+ ObjectProvider master = new MasterObjectProvider(configuration);
+
+ try
+ {
+ master.provide("just-expression", Runnable.class, locator);
+ unreachable();
+ }
+ catch (RuntimeException ex)
+ {
+ assertEquals(
+ ex.getMessage(),
+ "Object reference 'just-expression' does not contain an provider prefix (such as 'service:').");
+ }
+
+ verify();
+ }
+
+}
Copied: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MiddleFilter.java (from r477721, tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MiddleFilter.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MiddleFilter.java?view=diff&rev=477910&p1=tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MiddleFilter.java&r1=477721&p2=tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MiddleFilter.java&r2=477910
==============================================================================
(empty)
Propchange: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MiddleFilter.java
------------------------------------------------------------------------------
cvs2svn:cvs-rev = 1.2
Propchange: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MiddleFilter.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MiddleFilter.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Copied: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MiddleService.java (from r477721, tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MiddleService.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MiddleService.java?view=diff&rev=477910&p1=tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MiddleService.java&r1=477721&p2=tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MiddleService.java&r2=477910
==============================================================================
(empty)
Propchange: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MiddleService.java
------------------------------------------------------------------------------
cvs2svn:cvs-rev = 1.2
Propchange: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MiddleService.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/MiddleService.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Copied: tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/PipelineBuilderImplTest.java (from r477721, tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/PipelineBuilderImplTest.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/PipelineBuilderImplTest.java?view=diff&rev=477910&p1=tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/PipelineBuilderImplTest.java&r1=477721&p2=tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/PipelineBuilderImplTest.java&r2=477910
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/PipelineBuilderImplTest.java (original)
+++ tapestry/tapestry5/tapestry-ioc/trunk/src/test/java/org/apache/tapestry/ioc/internal/services/PipelineBuilderImplTest.java Tue Nov 21 13:48:47 2006
@@ -12,141 +12,139 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package org.apache.tapestry.ioc.internal.services;
-
+package org.apache.tapestry.ioc.internal.services;
+
import static org.apache.tapestry.ioc.internal.util.CollectionFactory.newList;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.commons.logging.Log;
-import org.apache.tapestry.internal.test.InternalBaseTestCase;
-import org.apache.tapestry.ioc.Registry;
-import org.apache.tapestry.ioc.services.PipelineBuilder;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-/**
- * Integration tests for the PipelineBuilder service.
- *
- *
- */
-public class PipelineBuilderImplTest extends InternalBaseTestCase
-{
-
- private PipelineBuilder _builder;
-
- private Registry _registry;
-
- @BeforeClass
- public void setup_builder()
- {
- _registry = buildRegistry();
- _builder = _registry.getService("tapestry.ioc.PipelineBuilder", PipelineBuilder.class);
- }
-
- @AfterClass
- public void shutdown_builder()
- {
- _registry.shutdown();
-
- _builder = null;
- _registry = null;
- }
-
- @Test
- public void pipeline_with_filters()
- {
- Log log = newLog();
-
- replay();
-
- StandardFilter subtracter = new StandardFilter()
- {
- public int run(int i, StandardService service)
- {
- return service.run(i) - 2;
- }
- };
-
- StandardFilter multiplier = new StandardFilter()
- {
- public int run(int i, StandardService service)
- {
- return 2 * service.run(i);
- }
- };
-
- StandardFilter adder = new StandardFilter()
- {
- public int run(int i, StandardService service)
- {
- return service.run(i + 3);
- }
- };
-
- StandardService terminator = new StandardService()
- {
- public int run(int i)
- {
- return i;
- }
- };
-
- StandardService pipeline = _builder.build(
- log,
- StandardService.class,
- StandardFilter.class,
- Arrays.asList(subtracter, multiplier, adder),
- terminator);
-
- // Should be order subtracter, multipler, adder
- assertEquals(pipeline.run(5), 14);
- assertEquals(pipeline.run(10), 24);
-
- verify();
- }
-
- @Test
- public void pipeline_without_filters_is_terminator()
- {
- Log log = newLog();
- StandardService terminator = newMock(StandardService.class);
-
- replay();
-
- List<StandardFilter> filters = newList();
-
- StandardService pipeline = _builder.build(
- log,
- StandardService.class,
- StandardFilter.class,
- filters,
- terminator);
-
- assertSame(pipeline, terminator);
-
- verify();
- }
-
- @Test
- public void pipeline_with_default_terminator()
- {
- Log log = newLog();
-
- replay();
-
- List<StandardFilter> filters = newList();
-
- StandardService pipeline = _builder.build(
- log,
- StandardService.class,
- StandardFilter.class,
- filters);
-
- assertEquals(pipeline.run(99), 0);
-
- verify();
- }
-}
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.commons.logging.Log;
+import org.apache.tapestry.ioc.Registry;
+import org.apache.tapestry.ioc.internal.IOCInternalTestCase;
+import org.apache.tapestry.ioc.services.PipelineBuilder;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
+/**
+ * Integration tests for the PipelineBuilder service.
+ */
+public class PipelineBuilderImplTest extends IOCInternalTestCase
+{
+
+ private PipelineBuilder _builder;
+
+ private Registry _registry;
+
+ @BeforeClass
+ public void setup_builder()
+ {
+ _registry = buildRegistry();
+ _builder = _registry.getService("tapestry.ioc.PipelineBuilder", PipelineBuilder.class);
+ }
+
+ @AfterClass
+ public void shutdown_builder()
+ {
+ _registry.shutdown();
+
+ _builder = null;
+ _registry = null;
+ }
+
+ @Test
+ public void pipeline_with_filters()
+ {
+ Log log = newLog();
+
+ replay();
+
+ StandardFilter subtracter = new StandardFilter()
+ {
+ public int run(int i, StandardService service)
+ {
+ return service.run(i) - 2;
+ }
+ };
+
+ StandardFilter multiplier = new StandardFilter()
+ {
+ public int run(int i, StandardService service)
+ {
+ return 2 * service.run(i);
+ }
+ };
+
+ StandardFilter adder = new StandardFilter()
+ {
+ public int run(int i, StandardService service)
+ {
+ return service.run(i + 3);
+ }
+ };
+
+ StandardService terminator = new StandardService()
+ {
+ public int run(int i)
+ {
+ return i;
+ }
+ };
+
+ StandardService pipeline = _builder.build(
+ log,
+ StandardService.class,
+ StandardFilter.class,
+ Arrays.asList(subtracter, multiplier, adder),
+ terminator);
+
+ // Should be order subtracter, multipler, adder
+ assertEquals(pipeline.run(5), 14);
+ assertEquals(pipeline.run(10), 24);
+
+ verify();
+ }
+
+ @Test
+ public void pipeline_without_filters_is_terminator()
+ {
+ Log log = newLog();
+ StandardService terminator = newMock(StandardService.class);
+
+ replay();
+
+ List<StandardFilter> filters = newList();
+
+ StandardService pipeline = _builder.build(
+ log,
+ StandardService.class,
+ StandardFilter.class,
+ filters,
+ terminator);
+
+ assertSame(pipeline, terminator);
+
+ verify();
+ }
+
+ @Test
+ public void pipeline_with_default_terminator()
+ {
+ Log log = newLog();
+
+ replay();
+
+ List<StandardFilter> filters = newList();
+
+ StandardService pipeline = _builder.build(
+ log,
+ StandardService.class,
+ StandardFilter.class,
+ filters);
+
+ assertEquals(pipeline.run(99), 0);
+
+ verify();
+ }
+}