1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.orchestra.requestParameterProvider;
20
21 import junit.framework.TestCase;
22 import org.apache.myfaces.orchestra.frameworkAdapter.local.LocalFrameworkAdapter;
23 import org.apache.myfaces.orchestra.frameworkAdapter.FrameworkAdapter;
24 import org.apache.myfaces.orchestra.conversation.basic.LogConversationMessager;
25
26 public class TestRequestParameterProviderManager extends TestCase
27 {
28 public void testParameterAdding()
29 {
30 LocalFrameworkAdapter lfa = new LocalFrameworkAdapter();
31 lfa.setConversationMessager(new LogConversationMessager());
32 lfa.setRequestAttribute(RequestParameterServletFilter.REQUEST_PARAM_FILTER_CALLED, Boolean.TRUE);
33 FrameworkAdapter.setCurrentInstance(lfa);
34 RequestParameterProviderManager man = RequestParameterProviderManager.getInstance();
35 man.register(new RequestParameterProvider()
36 {
37
38 public String[] getFields()
39 {
40 return new String[] {"FIELD"};
41 }
42
43 public String getFieldValue(String field)
44 {
45 return "VALUE";
46 }
47 });
48
49 assertEquals("http://domain/path?FIELD=VALUE", man.encodeAndAttachParameters("http://domain/path"));
50 assertEquals("http://domain/path?ab=cd&FIELD=VALUE", man.encodeAndAttachParameters("http://domain/path?ab=cd"));
51 assertEquals("http://domain/path?FIELD=VALUE#", man.encodeAndAttachParameters("http://domain/path#"));
52 assertEquals("http://domain/path?FIELD=VALUE#22", man.encodeAndAttachParameters("http://domain/path#22"));
53 assertEquals("http://domain/path?ab=cd&FIELD=VALUE#22", man.encodeAndAttachParameters("http://domain/path?ab=cd#22"));
54 assertEquals("javascript:anyMethod(anyUrl)", man.encodeAndAttachParameters("javascript:anyMethod(anyUrl)"));
55 assertEquals("relative/url?FIELD=VALUE", man.encodeAndAttachParameters("relative/url"));
56 assertEquals("useless:/url?FIELD=VALUE", man.encodeAndAttachParameters("useless:/url"));
57 assertEquals("#", man.encodeAndAttachParameters("#"));
58 }
59 }