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"));
+ }
+ }
+}