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/05/16 20:50:32 UTC

[38/44] git commit: Convert TestNG to Spock

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/10efed4b
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/10efed4b
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/10efed4b

Branch: refs/heads/master
Commit: 10efed4b1b8267046253a7d357bc3ed2d56c46bb
Parents: be704f1
Author: Howard M. Lewis Ship <hl...@gmail.com>
Authored: Sun Apr 15 06:11:13 2012 -0700
Committer: Howard M. Lewis Ship <hl...@apache.org>
Committed: Wed May 16 11:49:40 2012 -0700

----------------------------------------------------------------------
 .../apache/tapestry/ioc/RegistryBuilderSpec.groovy |   99 +++++++++++++
 .../org/apache/tapestry5/ioc/MasterModule.java     |    4 +-
 .../apache/tapestry5/ioc/RegistryBuilderTest.java  |  110 ---------------
 .../test/java/org/apache/tapestry5/ioc/Square.java |    4 +-
 4 files changed, 103 insertions(+), 114 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/10efed4b/tapestry-ioc/src/test/groovy/org/apache/tapestry/ioc/RegistryBuilderSpec.groovy
----------------------------------------------------------------------
diff --git a/tapestry-ioc/src/test/groovy/org/apache/tapestry/ioc/RegistryBuilderSpec.groovy b/tapestry-ioc/src/test/groovy/org/apache/tapestry/ioc/RegistryBuilderSpec.groovy
new file mode 100644
index 0000000..2b3ff7c
--- /dev/null
+++ b/tapestry-ioc/src/test/groovy/org/apache/tapestry/ioc/RegistryBuilderSpec.groovy
@@ -0,0 +1,99 @@
+package org.apache.tapestry.ioc
+
+import org.apache.tapestry5.ioc.def.ModuleDef
+import org.apache.tapestry5.ioc.internal.DefaultModuleDefImpl
+import org.slf4j.Logger
+import org.slf4j.LoggerFactory
+import spock.lang.Specification
+import org.apache.tapestry5.ioc.*
+
+class RegistryBuilderSpec extends Specification {
+
+    def "@SubModule annotation is honored"() {
+        when:
+
+        // Borrowed from IntegrationTest, this will only work if both FredModule and BarneyModule
+        // are loaded.
+
+        Registry r = new RegistryBuilder().add(MasterModule).build()
+
+        def service = r.getService("UnorderedNames", NameListHolder)
+
+        then:
+
+        service.names == ["Beta", "Gamma", "UnorderedNames"]
+
+        cleanup:
+
+        r.shutdown()
+    }
+
+    def "adding modules by name, in comma seperated list, as from a manifest"() {
+        when:
+
+        RegistryBuilder builder = new RegistryBuilder()
+
+        IOCUtilities.addModulesInList builder,
+                "${FredModule.class.name}, ${BarneyModule.class.name}, ${RegistryBuilderTestModule.class.name}"
+
+        Registry registry = builder.build()
+
+        Square service = registry.getService(Square)
+
+        then:
+
+        service.square(4) == 16
+
+        service.toString() == "<Proxy for Square(${Square.class.name})>"
+
+        cleanup:
+
+        registry.shutdown()
+    }
+
+    def "exercise RegistryBuilder.buildAndStartupRegistry()"() {
+        when:
+
+        Registry r = RegistryBuilder.buildAndStartupRegistry(MasterModule);
+
+        NameListHolder service = r.getService("UnorderedNames", NameListHolder);
+
+        then:
+
+        service.names == ["Beta", "Gamma", "UnorderedNames"]
+
+        cleanup:
+
+        r.shutdown();
+    }
+
+    def "use explicit ModuleDef with buildAndStartupRegistry()"() {
+        when:
+
+        Logger logger = LoggerFactory.getLogger(getClass());
+
+        ModuleDef module = new DefaultModuleDefImpl(ServiceBuilderModule,
+                logger, null);
+
+        Registry r = RegistryBuilder.buildAndStartupRegistry(module, MasterModule);
+
+        NameListHolder nameListHolder = r.getService("UnorderedNames", NameListHolder);
+
+        then:
+
+        nameListHolder.names == ["Beta", "Gamma", "UnorderedNames"]
+
+        when:
+
+        Greeter greeter = r.getService("Greeter", Greeter)
+
+        then:
+
+        greeter.greeting == "Greetings from service Greeter."
+
+        cleanup:
+
+        r.shutdown();
+
+    }
+}

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/10efed4b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/MasterModule.java
----------------------------------------------------------------------
diff --git a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/MasterModule.java b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/MasterModule.java
index a26354b..654a733 100644
--- a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/MasterModule.java
+++ b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/MasterModule.java
@@ -1,4 +1,4 @@
-// Copyright 2006, 2007 The Apache Software Foundation
+// Copyright 2006, 2007, 2012 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -17,7 +17,7 @@ package org.apache.tapestry5.ioc;
 import org.apache.tapestry5.ioc.annotations.SubModule;
 
 /**
- * Used by {@link org.apache.tapestry5.ioc.RegistryBuilderTest}.
+ * Used by {@link org.apache.tapestry5.ioc.RegistryBuilderSpec}.
  */
 @SubModule(
         { FredModule.class, BarneyModule.class })

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/10efed4b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/RegistryBuilderTest.java
----------------------------------------------------------------------
diff --git a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/RegistryBuilderTest.java b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/RegistryBuilderTest.java
deleted file mode 100644
index ba5a1ad..0000000
--- a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/RegistryBuilderTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-// Copyright 2006, 2007, 2011 The Apache Software Foundation
-//
-// 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.apache.tapestry5.ioc;
-
-
-import org.apache.tapestry5.ioc.def.ModuleDef;
-import org.apache.tapestry5.ioc.internal.DefaultModuleDefImpl;
-import org.apache.tapestry5.ioc.test.IOCTestCase;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.testng.annotations.Test;
-
-import java.util.Arrays;
-import java.util.List;
-
-public class RegistryBuilderTest extends IOCTestCase
-{
-    @Test
-    public void sub_module()
-    {
-        RegistryBuilder builder = new RegistryBuilder();
-
-        builder.add(MasterModule.class);
-
-        Registry r = builder.build();
-
-        // Borrowed from IntegrationTest, this will only work if both FredModule and BarneyModule
-        // are loaded.
-
-        NameListHolder service = r.getService("UnorderedNames", NameListHolder.class);
-
-        List<String> names = service.getNames();
-
-        assertEquals(names, Arrays.asList("Beta", "Gamma", "UnorderedNames"));
-
-        r.shutdown();
-    }
-
-    @Test
-    public void manifest()
-    {
-        RegistryBuilder builder = new RegistryBuilder();
-
-        String value = String.format("%s, %s, %s", FredModule.class.getName(), BarneyModule.class
-                .getName(), RegistryBuilderTestModule.class.getName());
-
-        IOCUtilities.addModulesInList(builder, value);
-
-        Registry registry = builder.build();
-
-        Square service = registry.getService(Square.class);
-
-        assertEquals(service.square(4), 16l);
-
-        // This proves that the IOC works, the service builder method was invoked, that the
-        // ClassFactory service was accessed and used.
-
-        assertEquals(service.toString(), "<Proxy for Square(org.apache.tapestry5.ioc.Square)>");
-
-        registry.shutdown();
-    }
-
-    @Test
-    public void build_and_startup_registry_from_modules()
-    {
-        Registry r = RegistryBuilder.buildAndStartupRegistry(MasterModule.class);
-
-        NameListHolder service = r.getService("UnorderedNames", NameListHolder.class);
-
-        List<String> names = service.getNames();
-
-        assertEquals(names, Arrays.asList("Beta", "Gamma", "UnorderedNames"));
-
-        r.shutdown();
-    }
-
-    @Test
-    public void build_and_startup_registry_from_moduledef_and_modules()
-    {
-        Logger logger = LoggerFactory.getLogger(getClass());
-
-        ModuleDef module = new DefaultModuleDefImpl(ServiceBuilderModule.class, logger, null);
-
-        Registry r = RegistryBuilder.buildAndStartupRegistry(module, MasterModule.class);
-
-        NameListHolder nameListHolder = r.getService("UnorderedNames", NameListHolder.class);
-
-        List<String> names = nameListHolder.getNames();
-
-        assertEquals(names, Arrays.asList("Beta", "Gamma", "UnorderedNames"));
-
-        Greeter gretter = r.getService("Greeter", Greeter.class);
-
-        assertEquals(gretter.getGreeting(), "Greetings from service Greeter.");
-
-        r.shutdown();
-    }
-}

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/10efed4b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/Square.java
----------------------------------------------------------------------
diff --git a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/Square.java b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/Square.java
index 8824caf..3cd7c88 100644
--- a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/Square.java
+++ b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/Square.java
@@ -1,4 +1,4 @@
-// Copyright 2006 The Apache Software Foundation
+// Copyright 2006, 2012 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -15,7 +15,7 @@
 package org.apache.tapestry5.ioc;
 
 /**
- * Used by {@link org.apache.tapestry5.ioc.RegistryBuilderTest}.
+ * Used by {@link org.apache.tapestry5.ioc.RegistryBuilderSpec}.
  */
 public interface Square
 {