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
{