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 2012/06/12 00:07:33 UTC

[1/4] git commit: Convert TestNG to Spock

Updated Branches:
  refs/heads/master f576d28e5 -> 17f0c48f3


Convert TestNG to Spock


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/17f0c48f
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/17f0c48f
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/17f0c48f

Branch: refs/heads/master
Commit: 17f0c48f30c9477f8a36235f05e1cafd7008f66b
Parents: b6bc16c
Author: Howard M. Lewis Ship <hl...@apache.org>
Authored: Mon Jun 11 15:07:20 2012 -0700
Committer: Howard M. Lewis Ship <hl...@apache.org>
Committed: Mon Jun 11 15:07:20 2012 -0700

----------------------------------------------------------------------
 .../ioc/services/OperationAdvisorSpec.groovy       |   83 +++++++++++
 .../ioc/services/OperationAdvisorTest.java         |  111 ---------------
 2 files changed, 83 insertions(+), 111 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/17f0c48f/tapestry-ioc/src/test/groovy/org/apache/tapestry5/ioc/services/OperationAdvisorSpec.groovy
----------------------------------------------------------------------
diff --git a/tapestry-ioc/src/test/groovy/org/apache/tapestry5/ioc/services/OperationAdvisorSpec.groovy b/tapestry-ioc/src/test/groovy/org/apache/tapestry5/ioc/services/OperationAdvisorSpec.groovy
new file mode 100644
index 0000000..6aca825
--- /dev/null
+++ b/tapestry-ioc/src/test/groovy/org/apache/tapestry5/ioc/services/OperationAdvisorSpec.groovy
@@ -0,0 +1,83 @@
+package org.apache.tapestry5.ioc.services
+
+import org.apache.tapestry5.ioc.OperationTracker
+import org.apache.tapestry5.ioc.internal.DefaultModuleDefImpl
+import org.apache.tapestry5.ioc.internal.LoggerSourceImpl
+import org.apache.tapestry5.ioc.internal.RegistryImpl
+import org.apache.tapestry5.ioc.internal.services.PlasticProxyFactoryImpl
+import spock.lang.AutoCleanup
+import spock.lang.Shared
+import spock.lang.Specification
+
+class OperationAdvisorSpec extends Specification {
+
+  @Shared @AutoCleanup("shutdown")
+  def registry
+
+  @Shared
+  def operations = []
+
+  def setupSpec() {
+
+    def classLoader = Thread.currentThread().contextClassLoader
+    def loggerSource = new LoggerSourceImpl()
+
+    def logger = loggerSource.getLogger(OperationAdvisorSpec)
+    def proxyFactoryLogger = loggerSource.getLogger(PlasticProxyFactory)
+
+    def plasticProxyFactory = new PlasticProxyFactoryImpl(classLoader, proxyFactoryLogger)
+
+    def simpleOperationTracker = [
+
+        run: { description, operation ->
+          operations << description
+          operation.run()
+        },
+
+        invoke: {description, operation ->
+          operations << description
+          operation.invoke()
+        }
+    ] as OperationTracker
+
+    registry = new RegistryImpl([
+        new DefaultModuleDefImpl(TapestryIOCModule, logger, plasticProxyFactory),
+        new DefaultModuleDefImpl(OperationTrackedModule, logger, plasticProxyFactory)],
+        plasticProxyFactory,
+        loggerSource,
+        simpleOperationTracker)
+  }
+
+  def "simple operation tracking"() {
+    def service = registry.getService OperationTrackedService
+
+    service.nonOperation()
+
+    when:
+
+    operations.clear()
+
+    service.first()
+
+    then:
+
+    operations == ["First operation"]
+  }
+
+  def "complex operation tracking"() {
+    def service = registry.getService OperationTrackedService
+
+    service.nonOperation()
+
+    operations.clear()
+
+    when:
+
+    service.second "foo"
+    service.second "bar"
+
+    then:
+
+    operations == ["Second operation: foo", "Second operation: bar"]
+  }
+}

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/17f0c48f/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/services/OperationAdvisorTest.java
----------------------------------------------------------------------
diff --git a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/services/OperationAdvisorTest.java b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/services/OperationAdvisorTest.java
deleted file mode 100644
index 8788b37..0000000
--- a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/services/OperationAdvisorTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package org.apache.tapestry5.ioc.services;
-
-import org.apache.tapestry5.ioc.Invokable;
-import org.apache.tapestry5.ioc.LoggerSource;
-import org.apache.tapestry5.ioc.OperationTracker;
-import org.apache.tapestry5.ioc.Registry;
-import org.apache.tapestry5.ioc.def.ModuleDef;
-import org.apache.tapestry5.ioc.internal.DefaultModuleDefImpl;
-import org.apache.tapestry5.ioc.internal.LoggerSourceImpl;
-import org.apache.tapestry5.ioc.internal.RegistryImpl;
-import org.apache.tapestry5.ioc.internal.services.PlasticProxyFactoryImpl;
-import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
-import org.apache.tapestry5.ioc.test.IOCTestCase;
-import org.slf4j.Logger;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-import java.util.List;
-
-/**
- * Tests for the {@link OperationAdvisor} service.
- *
- * @since 5.4
- */
-public class OperationAdvisorTest extends IOCTestCase
-{
-    private List<String> operations = CollectionFactory.newList();
-
-    private Registry registry;
-
-    @BeforeClass
-    public void setup()
-    {
-        ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
-        LoggerSource loggerSource = new LoggerSourceImpl();
-
-        Logger logger = loggerSource.getLogger(OperationAdvisorTest.class);
-        Logger proxyFactoryLogger = loggerSource.getLogger(TapestryIOCModule.class.getName() + ".PlasticProxyFactory");
-
-        PlasticProxyFactory plasticProxyFactory = new PlasticProxyFactoryImpl(classLoader, proxyFactoryLogger);
-
-        List<ModuleDef> modules = CollectionFactory.newList();
-
-        modules.add(new DefaultModuleDefImpl(TapestryIOCModule.class, logger, plasticProxyFactory));
-        modules.add(new DefaultModuleDefImpl(OperationTrackedModule.class, logger, plasticProxyFactory));
-
-        OperationTracker simpleOperationTracker = new OperationTracker()
-        {
-            @Override
-            public void run(String description, Runnable operation)
-            {
-                operations.add(description);
-
-                operation.run();
-            }
-
-            @Override
-            public <T> T invoke(String description, Invokable<T> operation)
-            {
-                operations.add(description);
-
-                return operation.invoke();
-            }
-        };
-
-        registry = new RegistryImpl(modules, plasticProxyFactory, loggerSource, simpleOperationTracker);
-    }
-
-    @AfterClass
-    public void cleanup()
-    {
-        registry.shutdown();
-
-        registry = null;
-
-        operations = null;
-    }
-
-    @Test
-    public void simple_operation_tracking()
-    {
-        OperationTrackedService service = registry.getService(OperationTrackedService.class);
-
-        service.nonOperation();
-
-        operations.clear();
-
-        service.first();
-
-        assertListsEquals(operations, "First operation");
-    }
-
-    @Test
-    public void complex_operation_tracking()
-    {
-        OperationTrackedService service = registry.getService(OperationTrackedService.class);
-
-        service.nonOperation();
-
-        operations.clear();
-
-        service.second("foo");
-
-        service.second("bar");
-
-        assertListsEquals(operations, "Second operation: foo", "Second operation: bar");
-    }
-
-
-}