View Javadoc
1   package org.apache.maven.plugin.changes;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *    http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  import junit.framework.TestCase;
23  
24  /**
25   * @author Dennis Lundberg
26   * @version $Id: ChangesCheckMojoTestCase.java 1685894 2015-06-16 19:29:09Z khmarbaise $
27   * @since 2.4
28   */
29  public class ChangesCheckMojoTestCase
30      extends TestCase
31  {
32      public void testIsValidDate()
33          throws Exception
34      {
35          String pattern;
36  
37          // null pattern
38          pattern = null;
39          assertFalse( ChangesCheckMojo.isValidDate( null, pattern ) );
40          assertFalse( ChangesCheckMojo.isValidDate( "", pattern ) );
41          assertFalse( ChangesCheckMojo.isValidDate( "2010-12-16", pattern ) );
42          assertFalse( ChangesCheckMojo.isValidDate( "pending", pattern ) );
43  
44          // empty pattern
45          pattern = "";
46          assertFalse( ChangesCheckMojo.isValidDate( null, pattern ) );
47          assertFalse( ChangesCheckMojo.isValidDate( "", pattern ) );
48          assertFalse( ChangesCheckMojo.isValidDate( "2010-12-16", pattern ) );
49          assertFalse( ChangesCheckMojo.isValidDate( "pending", pattern ) );
50  
51          // valid pattern
52          pattern = "yyyy-MM-dd";
53          assertFalse( ChangesCheckMojo.isValidDate( null, pattern ) );
54          assertFalse( ChangesCheckMojo.isValidDate( "", pattern ) );
55          assertFalse( ChangesCheckMojo.isValidDate( "2010-DD-MM", pattern ) );
56          assertTrue( ChangesCheckMojo.isValidDate( "2010-12-16", pattern ) );
57          assertFalse( ChangesCheckMojo.isValidDate( "pending", pattern ) );
58      }
59  
60      public void testIsValidateWithLocale()
61          throws Exception
62      {
63          String pattern, locale = null;
64  
65          // null locale
66          pattern = "yyyy-MM-dd";
67          assertFalse( ChangesCheckMojo.isValidDate( null, pattern, locale ) );
68          assertFalse( ChangesCheckMojo.isValidDate( "", pattern, locale ) );
69          assertTrue( ChangesCheckMojo.isValidDate( "2010-12-06", pattern, locale ) );
70          assertFalse( ChangesCheckMojo.isValidDate( "pending", pattern, locale ) );
71  
72          // unknown locale specified, should use default locale
73          locale = "ab_CD";
74          assertFalse( ChangesCheckMojo.isValidDate( null, pattern, locale ) );
75          assertFalse( ChangesCheckMojo.isValidDate( "", pattern, locale ) );
76          assertTrue( ChangesCheckMojo.isValidDate( "2010-12-06", pattern, locale ) );
77          assertFalse( ChangesCheckMojo.isValidDate( "pending", pattern, locale ) );
78  
79          // pattern with months as number
80          pattern = "yyyy-MM-dd";
81  
82          // Czech locale
83          locale = "cs_CZ";
84          assertFalse( ChangesCheckMojo.isValidDate( null, pattern, locale ) );
85          assertFalse( ChangesCheckMojo.isValidDate( "", pattern, locale ) );
86          assertTrue( ChangesCheckMojo.isValidDate( "2010-12-06", pattern, locale ) );
87          assertFalse( ChangesCheckMojo.isValidDate( "pending", pattern, locale ) );
88  
89          // English locale
90          locale = "en_US";
91          assertFalse( ChangesCheckMojo.isValidDate( null, pattern, locale ) );
92          assertFalse( ChangesCheckMojo.isValidDate( "", pattern, locale ) );
93          assertTrue( ChangesCheckMojo.isValidDate( "2010-12-06", pattern, locale ) );
94          assertFalse( ChangesCheckMojo.isValidDate( "pending", pattern, locale ) );
95  
96          // pattern with months as text
97          pattern = "dd MMM yyyy";
98  
99          // Czech locale
100         locale = "cs_CZ";
101         assertFalse( ChangesCheckMojo.isValidDate( null, pattern, locale ) );
102         assertFalse( ChangesCheckMojo.isValidDate( "", pattern, locale ) );
103         assertTrue( ChangesCheckMojo.isValidDate( "06 XII 2010", pattern, locale ) );
104         assertFalse( ChangesCheckMojo.isValidDate( "pending", pattern, locale ) );
105 
106         // English locale
107         locale = "en_US";
108         assertFalse( ChangesCheckMojo.isValidDate( null, pattern, locale ) );
109         assertFalse( ChangesCheckMojo.isValidDate( "", pattern, locale ) );
110         assertTrue( ChangesCheckMojo.isValidDate( "06 Dec 2010", pattern, locale ) );
111         assertFalse( ChangesCheckMojo.isValidDate( "pending", pattern, locale ) );
112     }
113 }