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

Branch: refs/heads/master
Commit: 24fb3036ed2a24849b4894e37f55af86f958d422
Parents: 5dc2d7e
Author: Howard M. Lewis Ship <[email protected]>
Authored: Sun Jun 3 12:37:08 2012 -0700
Committer: Howard M. Lewis Ship <[email protected]>
Committed: Sun Jun 3 12:37:08 2012 -0700

----------------------------------------------------------------------
 .../tapestry5/util/ExceptionUtilsSpec.groovy       |   53 +++++++++++++
 .../tapestry5/ioc/util/ExceptionUtilsTest.java     |   61 ---------------
 2 files changed, 53 insertions(+), 61 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/24fb3036/tapestry-ioc/src/test/groovy/org/apache/tapestry5/util/ExceptionUtilsSpec.groovy
----------------------------------------------------------------------
diff --git 
a/tapestry-ioc/src/test/groovy/org/apache/tapestry5/util/ExceptionUtilsSpec.groovy
 
b/tapestry-ioc/src/test/groovy/org/apache/tapestry5/util/ExceptionUtilsSpec.groovy
new file mode 100644
index 0000000..1bc4796
--- /dev/null
+++ 
b/tapestry-ioc/src/test/groovy/org/apache/tapestry5/util/ExceptionUtilsSpec.groovy
@@ -0,0 +1,53 @@
+package org.apache.tapestry5.util
+
+import org.apache.tapestry5.ioc.internal.services.PropertyAccessImpl
+import org.apache.tapestry5.ioc.internal.util.TapestryException
+import org.apache.tapestry5.ioc.util.ExceptionUtils
+import org.apache.tapestry5.ioc.util.ExceptionWrapper
+import spock.lang.Shared
+import spock.lang.Specification
+
+class ExceptionUtilsSpec extends Specification {
+
+  @Shared
+  def access = new PropertyAccessImpl()
+
+  def "find cause with match"() {
+    when:
+    def inner = new TapestryException("foo", null)
+    def outer = new RuntimeException(inner)
+
+    then:
+
+    ExceptionUtils.findCause(outer, TapestryException).is(inner)
+    ExceptionUtils.findCause(outer, TapestryException, access).is(inner)
+  }
+
+  def "find cause with no match"() {
+
+    when:
+
+    def re = new RuntimeException("No cause for you.")
+
+    then:
+
+    ExceptionUtils.findCause(re, TapestryException) == null
+    ExceptionUtils.findCause(re, TapestryException, access) == null
+  }
+
+  def "find a hidden exception"() {
+    when:
+
+    def inner = new RuntimeException()
+    def outer = new ExceptionWrapper(inner)
+
+    then:
+
+    // TAP5-1639: The old code can't find inner
+    ExceptionUtils.findCause(outer, RuntimeException) == null
+
+    // The new reflection-based on can:
+
+    ExceptionUtils.findCause(outer, RuntimeException, access).is(inner)
+  }
+}

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/24fb3036/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/util/ExceptionUtilsTest.java
----------------------------------------------------------------------
diff --git 
a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/util/ExceptionUtilsTest.java
 
b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/util/ExceptionUtilsTest.java
deleted file mode 100644
index 2935bc6..0000000
--- 
a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/util/ExceptionUtilsTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright 2008, 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.util;
-
-import org.apache.tapestry5.ioc.internal.services.PropertyAccessImpl;
-import org.apache.tapestry5.ioc.internal.util.TapestryException;
-import org.apache.tapestry5.ioc.services.PropertyAccess;
-import org.testng.Assert;
-import org.testng.annotations.Test;
-
-public class ExceptionUtilsTest extends Assert
-{
-    private final PropertyAccess access = new PropertyAccessImpl();
-
-    @Test
-    public void find_cause_with_match()
-    {
-        TapestryException inner = new TapestryException("foo", null);
-
-        RuntimeException outer = new RuntimeException(inner);
-
-        assertSame(ExceptionUtils.findCause(outer, TapestryException.class), 
inner);
-        assertSame(ExceptionUtils.findCause(outer, TapestryException.class, 
access), inner);
-
-    }
-
-    @Test
-    public void find_cause_no_match()
-    {
-        RuntimeException re = new RuntimeException("No cause for you!");
-
-        assertNull(ExceptionUtils.findCause(re, TapestryException.class));
-        assertNull(ExceptionUtils.findCause(re, TapestryException.class, 
access));
-    }
-
-    @Test
-    public void find_hidden_exception()
-    {
-        RuntimeException inner = new RuntimeException();
-        Exception outer = new ExceptionWrapper(inner);
-
-        // TAP5-1639: The old code can't find inner
-        assertNull(ExceptionUtils.findCause(outer, RuntimeException.class));
-
-        // The new reflection-based code can:
-        assertSame(ExceptionUtils.findCause(outer, RuntimeException.class, 
access), inner);
-    }
-
-}

Reply via email to