1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.view.facelets.compiler;
20
21 import java.io.File;
22 import java.net.URL;
23 import org.apache.myfaces.config.element.facelets.FaceletTagLibrary;
24
25 import org.apache.myfaces.shared.config.MyfacesConfig;
26 import org.apache.myfaces.view.facelets.FaceletTestCase;
27 import org.apache.myfaces.view.facelets.tag.TagLibrary;
28 import org.junit.Assert;
29 import org.junit.Test;
30
31
32 public class TagLibraryTestCase extends FaceletTestCase
33 {
34 public final static String TAGLIB_SCHEMA_PATH = "/org/apache/myfaces/resource/web-facelettaglibrary_2_0.xsd";
35
36 private URL _validLibUrl = null;
37 private URL _invalidLibUrl = null;
38 private URL _invalidOldLibUrl = null;
39
40 public void setUp() throws Exception {
41 super.setUp();
42 _validLibUrl = resolveUrl("/testlib.taglib.xml");
43 _invalidLibUrl = resolveUrl("/testlib_invalid.taglib.xml");
44 _invalidOldLibUrl = resolveUrl("/testlib_old_invalid.taglib.xml");
45
46
47 ClassLoader cl = Thread.currentThread().getContextClassLoader();
48 String path = cl.getResource(TAGLIB_SCHEMA_PATH.substring(1)).getPath();
49 File documentRoot = new File(path.substring(0, path.indexOf(TAGLIB_SCHEMA_PATH)));
50 servletContext.setDocumentRoot(documentRoot);
51 }
52
53 @Test
54 public void testLoadValidLibraryWithValidation() throws Exception
55 {
56 servletContext.addInitParameter(MyfacesConfig.INIT_PARAM_VALIDATE_XML, "true");
57
58 FaceletTagLibrary faceletTagLib = TagLibraryConfigUnmarshallerImpl.create(
59 externalContext, _validLibUrl);
60 TagLibrary lib = TagLibraryConfig.create(facesContext, faceletTagLib);
61 Assert.assertTrue(lib.containsNamespace("http://myfaces.apache.org/testlib"));
62 }
63
64 @Test
65 public void testLoadValidLibraryWithoutValidation() throws Exception
66 {
67 servletContext.addInitParameter(MyfacesConfig.INIT_PARAM_VALIDATE_XML, "false");
68
69 FaceletTagLibrary faceletTagLib = TagLibraryConfigUnmarshallerImpl.create(
70 externalContext, _validLibUrl);
71 TagLibrary lib = TagLibraryConfig.create(facesContext, faceletTagLib);
72 Assert.assertTrue(lib.containsNamespace("http://myfaces.apache.org/testlib"));
73 }
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108 }