View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.myfaces.shared.resource;
20  
21  import org.apache.myfaces.test.base.junit4.AbstractJsfTestCase;
22  import org.junit.Assert;
23  import org.junit.Test;
24  
25  public class ResourceValidationUtilsTest extends AbstractJsfTestCase
26  {
27      @Test
28      public void testLocaleNames() throws Exception
29      {
30          Assert.assertTrue(ResourceValidationUtils.isValidLocalePrefix("es_CO"));
31          Assert.assertTrue(ResourceValidationUtils.isValidLocalePrefix("de"));
32          Assert.assertTrue(ResourceValidationUtils.isValidLocalePrefix("de_AT"));
33          Assert.assertTrue(ResourceValidationUtils.isValidLocalePrefix("zh_CN_id"));
34          Assert.assertTrue(ResourceValidationUtils.isValidLocalePrefix("zh_CN_23"));
35          
36          Assert.assertFalse(ResourceValidationUtils.isValidLocalePrefix("de-AT"));
37          Assert.assertFalse(ResourceValidationUtils.isValidLocalePrefix("."));
38          Assert.assertFalse(ResourceValidationUtils.isValidLocalePrefix(".."));
39          Assert.assertFalse(ResourceValidationUtils.isValidLocalePrefix("zh_"+'\t'+"CN"));
40          Assert.assertFalse(ResourceValidationUtils.isValidLocalePrefix("\\.."));
41          Assert.assertFalse(ResourceValidationUtils.isValidLocalePrefix("/.."));
42          Assert.assertFalse(ResourceValidationUtils.isValidLocalePrefix("../"));
43          Assert.assertFalse(ResourceValidationUtils.isValidLocalePrefix("..\\"));
44          Assert.assertFalse(ResourceValidationUtils.isValidLocalePrefix(".."));
45      }
46      
47      @Test
48      public void testLibraryNames() throws Exception
49      {
50          Assert.assertTrue(ResourceValidationUtils.isValidLibraryName("mylib"));
51          Assert.assertTrue(ResourceValidationUtils.isValidLibraryName("org.apache.myfaces"));
52          Assert.assertTrue(ResourceValidationUtils.isValidLibraryName("some-js-lib"));
53          Assert.assertTrue(ResourceValidationUtils.isValidLibraryName("some_js_lib"));
54          
55          Assert.assertTrue(ResourceValidationUtils.isValidLibraryName("components/panels", true));
56          Assert.assertFalse(ResourceValidationUtils.isValidLibraryName("components/panels", false));
57  
58          Assert.assertFalse(ResourceValidationUtils.isValidLibraryName("/mylib"));
59          Assert.assertFalse(ResourceValidationUtils.isValidLibraryName("mylib"+'\t'+"22"));
60          Assert.assertFalse(ResourceValidationUtils.isValidLibraryName("\\mylib"));
61          Assert.assertFalse(ResourceValidationUtils.isValidLibraryName(".."));
62          Assert.assertFalse(ResourceValidationUtils.isValidLibraryName("..", true));
63          Assert.assertFalse(ResourceValidationUtils.isValidLibraryName("some:js"));
64          Assert.assertFalse(ResourceValidationUtils.isValidLibraryName("some?js"));
65          Assert.assertFalse(ResourceValidationUtils.isValidLibraryName("some&js"));
66      }
67  
68      @Test
69      public void testResourceNames() throws Exception
70      {
71          Assert.assertTrue(ResourceValidationUtils.isValidResourceName("myres"));
72          Assert.assertTrue(ResourceValidationUtils.isValidResourceName("myres.css"));
73          Assert.assertTrue(ResourceValidationUtils.isValidResourceName("/myres"));
74          Assert.assertTrue(ResourceValidationUtils.isValidResourceName("/mydir/./myres.css"));
75          Assert.assertTrue(ResourceValidationUtils.isValidResourceName("org.apache.myfaces"));
76          Assert.assertTrue(ResourceValidationUtils.isValidResourceName("my_res_file.css"));
77          Assert.assertTrue(ResourceValidationUtils.isValidResourceName("my-res-file.css"));
78          
79          Assert.assertFalse(ResourceValidationUtils.isValidResourceName("myres"+'\t'+"22"));
80          Assert.assertFalse(ResourceValidationUtils.isValidResourceName("\\myres"));
81          Assert.assertFalse(ResourceValidationUtils.isValidResourceName(".."));
82          Assert.assertFalse(ResourceValidationUtils.isValidResourceName("../"));
83          Assert.assertFalse(ResourceValidationUtils.isValidResourceName("/.."));
84          Assert.assertFalse(ResourceValidationUtils.isValidResourceName("\\.."));
85          Assert.assertFalse(ResourceValidationUtils.isValidResourceName("..\\"));
86          Assert.assertFalse(ResourceValidationUtils.isValidResourceName("myres.css/.."));
87          Assert.assertFalse(ResourceValidationUtils.isValidResourceName("myres.css\\.."));
88          Assert.assertFalse(ResourceValidationUtils.isValidResourceName("../myres.css"));
89          Assert.assertFalse(ResourceValidationUtils.isValidResourceName("..\\myres.css"));
90          Assert.assertFalse(ResourceValidationUtils.isValidResourceName("my/../res.css"));
91          Assert.assertFalse(ResourceValidationUtils.isValidResourceName("my\\../res.css"));
92          Assert.assertFalse(ResourceValidationUtils.isValidResourceName("my/..\\res.css"));
93          Assert.assertFalse(ResourceValidationUtils.isValidResourceName("/mydir/../myres.css"));
94          Assert.assertFalse(ResourceValidationUtils.isValidResourceName("my_res:file.css"));
95          Assert.assertFalse(ResourceValidationUtils.isValidResourceName("my_res?file.css"));
96          Assert.assertFalse(ResourceValidationUtils.isValidResourceName("my_res&file.css"));
97      }
98  }