2009/05/20 - Apache Shale has been retired.
For more information, please explore the Attic.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.shale.clay.convert;
18
19 import javax.faces.component.UIComponent;
20 import javax.faces.component.html.HtmlInputText;
21
22 import junit.framework.Test;
23 import junit.framework.TestSuite;
24
25 import org.apache.shale.test.base.AbstractViewControllerTestCase;
26 import org.apache.shale.util.ConverterHelper;
27
28 public class StringArrayConverterTestCase extends
29 AbstractViewControllerTestCase {
30
31
32 public StringArrayConverterTestCase(String name) {
33 super(name);
34 }
35
36
37 public static Test suite() {
38 return (new TestSuite(StringArrayConverterTestCase.class));
39 }
40
41 protected void setUp() throws Exception {
42 super.setUp();
43 Class clazz = Class.forName("[Ljava.lang.String;");
44
45 facesContext.getApplication().addConverter(clazz,
46 "org.apache.shale.clay.convert.StringArrayConverter");
47 }
48
49
50 public void testDefaults() {
51 ConverterHelper helper = new ConverterHelper();
52 String[] partialTriggers = {"one", "two", "three"};
53 String asString = helper.asString(facesContext, String[].class, partialTriggers);
54
55 assertNotNull(asString);
56 assertEquals("one two three", asString);
57
58 String[] asObject = (String[]) helper.asObject(facesContext, String[].class, asString);
59 assertNotNull(asObject);
60
61 assertEquals(partialTriggers .length, asObject.length);
62 for (int i = 0; i < partialTriggers .length; i++) {
63 assertEquals("item " + i + ":", partialTriggers[i], asObject[i]);
64 }
65
66 }
67
68 public void testCustom() {
69 StringArrayConverter converter = (StringArrayConverter) facesContext.getApplication()
70 .createConverter(String[].class);
71 converter.setDelimiter(new Character('"'));
72 converter.setSeparator(new Character(','));
73
74 UIComponent dummy = new HtmlInputText();
75
76 String[] partialTriggers = {"one", "two", "three"};
77 String asString = converter.getAsString(facesContext, dummy, partialTriggers);
78
79 assertNotNull(asString);
80 assertEquals("\"one\",\"two\",\"three\"", asString);
81
82 String[] asObject = (String[]) converter.getAsObject(facesContext, dummy, asString);
83 assertNotNull(asObject);
84
85 assertEquals(partialTriggers.length, asObject.length);
86 for (int i = 0; i < partialTriggers.length; i++) {
87 assertEquals("item " + i + ":", partialTriggers[i], asObject[i]);
88 }
89
90 }
91
92 }