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.trinidad;
20  
21  import java.io.File;
22  import java.io.IOException;
23  
24  import org.apache.commons.io.FileUtils;
25  import org.apache.commons.lang.StringUtils;
26  
27  import junit.framework.Test;
28  import junit.framework.TestCase;
29  import junit.framework.TestSuite;
30  
31  public class ClirrRunnerTest extends TestCase
32  {
33    /**
34     * Returns a test suite of all PropertyKey tests.
35     */
36    public static final Test suite()
37    {
38      return new TestSuite(ClirrRunnerTest.class);
39    }
40    
41    
42    @Override
43    protected void setUp() throws Exception
44    {
45      super.setUp();
46    }
47  
48  
49    @Override
50    protected void tearDown() throws Exception
51    {
52      super.tearDown();
53    }
54  
55  
56    public void testBinaryCompatibility()
57    {
58      
59      try
60      {
61        String golden = System.getProperty("trinidad.clirr.golden");
62        String clirrRunResult = System.getProperty("trinidad.clirr.compare");
63  
64        String goldenFileContent = FileUtils.readFileToString(new File(golden));
65        String clirrRunFileContent = FileUtils.readFileToString(new File(clirrRunResult));
66        
67        String binaryIssue = StringUtils.difference(goldenFileContent, clirrRunFileContent);
68        
69        if (binaryIssue.length() > 0)
70        {
71          fail("Check your binary compatibility! - See output in file: "  + clirrRunResult);
72        }
73      }
74      catch (IOException e)
75      {
76        e.printStackTrace();
77        fail(e.getMessage());
78      }
79    }
80  }