You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by jk...@apache.org on 2015/09/02 09:44:20 UTC

tapestry-5 git commit: TAP5-1331: add test

Repository: tapestry-5
Updated Branches:
  refs/heads/master 40d8cb13d -> 8d155f91f


TAP5-1331: add test


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

Branch: refs/heads/master
Commit: 8d155f91f18d5cd8c8b126c55d41ed3464a29cee
Parents: 40d8cb1
Author: Jochen Kemnade <jo...@eddyson.de>
Authored: Wed Sep 2 09:42:57 2015 +0200
Committer: Jochen Kemnade <jo...@eddyson.de>
Committed: Wed Sep 2 09:42:57 2015 +0200

----------------------------------------------------------------------
 .../tapestry5/util/EnumValueEncoderTest.java    | 49 ++++++++++++++++++++
 1 file changed, 49 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/8d155f91/tapestry-core/src/test/java/org/apache/tapestry5/util/EnumValueEncoderTest.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/test/java/org/apache/tapestry5/util/EnumValueEncoderTest.java b/tapestry-core/src/test/java/org/apache/tapestry5/util/EnumValueEncoderTest.java
new file mode 100644
index 0000000..e713316
--- /dev/null
+++ b/tapestry-core/src/test/java/org/apache/tapestry5/util/EnumValueEncoderTest.java
@@ -0,0 +1,49 @@
+// Copyright 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.util;
+
+import java.util.List;
+
+import org.apache.tapestry5.internal.test.InternalBaseTestCase;
+import org.apache.tapestry5.ioc.services.TypeCoercer;
+import org.apache.tapestry5.ioc.util.UnknownValueException;
+import org.testng.annotations.Test;
+
+public class EnumValueEncoderTest extends InternalBaseTestCase
+{
+    private enum Stooge
+    {
+        MOE, LARRY, CURLY_JOE
+    }
+
+    @Test
+    // TAP5-1331
+    public void valid_values_can_be_retrieved_from_exception()
+    {
+        TypeCoercer typeCoercer = getService(TypeCoercer.class); 
+        EnumValueEncoder<Stooge> encoder = new EnumValueEncoder<Stooge>(typeCoercer, Stooge.class);
+        try{
+          encoder.toValue("Foo");
+          fail();
+        } catch (RuntimeException e){
+          assertTrue(e.getCause() instanceof UnknownValueException);
+          UnknownValueException cause = (UnknownValueException) e.getCause();
+          List<String> availableValues = cause.getAvailableValues().getValues();
+          assertTrue(availableValues.contains("MOE"));
+          assertTrue(availableValues.contains("LARRY"));
+          assertTrue(availableValues.contains("CURLY_JOE"));
+        }
+    }   
+}