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/f5a80426 Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/f5a80426 Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/f5a80426 Branch: refs/heads/master Commit: f5a8042645b4587a806d5f0118c0ca67a6d634ee Parents: 29f5894 Author: Howard M. Lewis Ship <[email protected]> Authored: Mon Jun 18 16:03:05 2012 -0700 Committer: Howard M. Lewis Ship <[email protected]> Committed: Mon Jun 18 16:03:05 2012 -0700 ---------------------------------------------------------------------- .../tapestry5/ioc/util/MessagesImplSpec.groovy | 76 ++++++++++++ .../ioc/internal/util/MessagesImplTest.java | 94 --------------- .../ioc/internal/util/TargetMessages.java | 16 +--- 3 files changed, 77 insertions(+), 109 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/f5a80426/tapestry-ioc/src/test/groovy/org/apache/tapestry5/ioc/util/MessagesImplSpec.groovy ---------------------------------------------------------------------- diff --git a/tapestry-ioc/src/test/groovy/org/apache/tapestry5/ioc/util/MessagesImplSpec.groovy b/tapestry-ioc/src/test/groovy/org/apache/tapestry5/ioc/util/MessagesImplSpec.groovy new file mode 100644 index 0000000..8d51c68 --- /dev/null +++ b/tapestry-ioc/src/test/groovy/org/apache/tapestry5/ioc/util/MessagesImplSpec.groovy @@ -0,0 +1,76 @@ +package org.apache.tapestry5.ioc.util + +import org.apache.tapestry5.ioc.Messages +import org.apache.tapestry5.ioc.internal.util.MessagesImpl +import org.apache.tapestry5.ioc.internal.util.TargetMessages +import spock.lang.Shared +import spock.lang.Specification +import spock.lang.Unroll + +class MessagesImplSpec extends Specification { + + @Shared + Messages messages = MessagesImpl.forClass(TargetMessages) + + @Unroll + def "contains key: #desc"() { + + expect: + + messages.contains(key) == expectation + + where: + + key | expectation | desc + "no-args" | true | "base case" + "xyzzyz" | false | "key not present" + "No-Args" | true | "case insensitive" + } + + @Unroll + def "get message from catalog: #desc"() { + expect: + + messages.get(key) == expectation + + where: + + key | expectation | desc + + "no-args" | "No arguments." | "base case" + "something-failed" | "Something failed: %s" | "does not attempt to expand conversions" + "No-Args" | "No arguments." | "access is case insensitive" + "does-not-exist" | "[[missing key: does-not-exist]]" | "fake value supplied for missing key" + } + + @Unroll + def "format message:#desc"() { + expect: + + messages.format(key, value) == expectation + + where: + + key | value | expectation | desc + "result" | "good" | "The result is 'good'." | "standard" + "Result" | "best" | "The result is 'best'." | "lookup is case insensitive" + "does-not-exist" | "xyzzyz" | "[[missing key: does-not-exist]]" | "fake value supplied for missing key" + } + + def "access a MesageFormatter to format content"() { + def mf = messages.getFormatter("result") + + expect: + + mf.format("cool") == "The result is 'cool'." + } + + def "MessageFormatters are cached"() { + def mf1 = messages.getFormatter("result") + def mf2 = messages.getFormatter("result") + + expect: + + mf1.is(mf2) + } +} http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/f5a80426/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/MessagesImplTest.java ---------------------------------------------------------------------- diff --git a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/MessagesImplTest.java b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/MessagesImplTest.java deleted file mode 100644 index bbf8b5c..0000000 --- a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/MessagesImplTest.java +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright 2006, 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.internal.util; - -import org.apache.tapestry5.ioc.MessageFormatter; -import org.apache.tapestry5.ioc.Messages; -import org.apache.tapestry5.ioc.test.IOCTestCase; -import org.testng.annotations.Test; - -public class MessagesImplTest extends IOCTestCase -{ - private final Messages messages = MessagesImpl.forClass(TargetMessages.class); - - @Test - public void contains_key() - { - assertTrue(messages.contains("no-args")); - assertFalse(messages.contains("xyzzyx")); - } - - @Test - public void contains_key_is_case_insensitive() - { - assertTrue(messages.contains("No-Args")); - assertFalse(messages.contains("Xyzzyx")); - } - - @Test - public void get_message_from_catalog() - { - assertEquals(messages.get("no-args"), "No arguments."); - assertEquals(messages.get("something-failed"), "Something failed: %s"); - } - - @Test - public void get_message_from_catalog_is_case_insensitive() - { - assertEquals(messages.get("No-args"), "No arguments."); - assertEquals(messages.get("Something-Failed"), "Something failed: %s"); - } - - @Test - public void get_unknown_message_from_catalog() - { - assertEquals(messages.get("does-not-exist"), "[[missing key: does-not-exist]]"); - } - - @Test - public void format_message() - { - assertEquals(messages.format("result", "good"), "The result is 'good'."); - } - - @Test - public void format_message_is_case_insensitive() - { - assertEquals(messages.format("Result", "good"), "The result is 'good'."); - } - - @Test - public void get_formatter() - { - MessageFormatter mf = messages.getFormatter("result"); - - assertEquals(mf.format("great"), "The result is 'great'."); - } - - @Test - public void formatters_are_cached() - { - MessageFormatter mf1 = messages.getFormatter("result"); - MessageFormatter mf2 = messages.getFormatter("result"); - - assertSame(mf2, mf1); - } - - @Test - public void format_unknown_key() - { - assertEquals(messages.format("rezult", "good"), "[[missing key: rezult]]"); - } -} http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/f5a80426/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/TargetMessages.java ---------------------------------------------------------------------- diff --git a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/TargetMessages.java b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/TargetMessages.java index cc8926f..ea1edc1 100644 --- a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/TargetMessages.java +++ b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/TargetMessages.java @@ -1,21 +1,7 @@ -// Copyright 2006 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.internal.util; /** - * Used with {@link org.apache.tapestry5.ioc.internal.util.MessagesImplTest}. + * Used with {@link org.apache.tapestry5.ioc.util.MessagesImplSpec}. */ public class TargetMessages {
