1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.view.facelets.tag.composite;
21
22 import java.io.StringWriter;
23
24 import javax.el.ExpressionFactory;
25 import javax.faces.component.UIComponent;
26 import javax.faces.component.UIViewRoot;
27
28 import org.apache.myfaces.config.RuntimeConfig;
29 import org.apache.myfaces.test.mock.MockExternalContext;
30 import org.apache.myfaces.test.mock.MockResponseWriter;
31 import org.apache.myfaces.view.facelets.FaceletTestCase;
32 import org.apache.myfaces.view.facelets.bean.HelloWorld;
33 import org.junit.Assert;
34 import org.junit.Test;
35
36 public class CompositeComponentCCRefTestCase extends FaceletTestCase
37 {
38
39 @Override
40 protected void setupComponents() throws Exception
41 {
42 super.setupComponents();
43 }
44
45 @Override
46 protected ExpressionFactory createExpressionFactory()
47 {
48 return new org.apache.el.ExpressionFactoryImpl();
49 }
50
51 @Test
52 public void testCCRefOnStylesheet() throws Exception
53 {
54 HelloWorld helloWorld = new HelloWorld();
55
56 facesContext.getExternalContext().getRequestMap().put("helloWorldBean",
57 helloWorld);
58
59 UIViewRoot root = facesContext.getViewRoot();
60 vdl.buildView(facesContext, root, "testCCRefOnStylesheet.xhtml");
61
62 UIComponent panelGroup1 = root.findComponent("testGroup1");
63 Assert.assertNotNull(panelGroup1);
64
65 StringWriter sw = new StringWriter();
66 MockResponseWriter mrw = new MockResponseWriter(sw);
67 facesContext.setResponseWriter(mrw);
68
69 root.encodeAll(facesContext);
70 sw.flush();
71 Assert.assertTrue(sw.toString().contains(".myCustomStyle { background:red }"));
72 }
73
74 @Test
75 public void testCCRefOnScript() throws Exception
76 {
77 HelloWorld helloWorld = new HelloWorld();
78
79 facesContext.getExternalContext().getRequestMap().put("helloWorldBean",
80 helloWorld);
81
82 UIViewRoot root = facesContext.getViewRoot();
83 vdl.buildView(facesContext, root, "testCCRefOnScript.xhtml");
84
85 UIComponent panelGroup1 = root.findComponent("testGroup1");
86 Assert.assertNotNull(panelGroup1);
87
88 StringWriter sw = new StringWriter();
89 MockResponseWriter mrw = new MockResponseWriter(sw);
90 facesContext.setResponseWriter(mrw);
91
92 root.encodeAll(facesContext);
93 sw.flush();
94 Assert.assertTrue(sw.toString().contains(".myCustomStyle { background:red }"));
95 Assert.assertTrue(sw.toString().contains(".myCustomScript = 'myvalue'"));
96 }
97 }