View Javadoc
1   package org.apache.maven.doxia.siterenderer;
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 java.io.File;
23  
24  import org.apache.maven.doxia.siterenderer.RenderingContext;
25  import org.codehaus.plexus.PlexusTestCase;
26  
27  /**
28   * @author <a href="mailto:olamy@apache.org">olamy</a>
29   * @since 20 oct. 07
30   */
31  public class RenderingContextTest
32      extends PlexusTestCase
33  {
34  
35      /**
36       * Test getRelativePath() with various file names.
37       *
38       * @throws java.lang.Exception if any.
39       */
40      public void testFileNameWithDot()
41          throws Exception
42      {
43          File baseDir = new File( getBasedir() + File.separatorChar + "test" + File.separatorChar + "resources" );
44          String docName = "file.with.dot.in.name.xml";
45  
46          RenderingContext renderingContext = new RenderingContext( baseDir, "test", docName, "", "xml", false );
47          assertEquals( "file.with.dot.in.name.html", renderingContext.getOutputName() );
48          assertEquals( ".", renderingContext.getRelativePath() );
49  
50          renderingContext = new RenderingContext( baseDir, docName, "generator" ); // not Doxia source
51          assertEquals( "file.with.dot.in.name.html", renderingContext.getOutputName() );
52          assertEquals( ".", renderingContext.getRelativePath() );
53  
54          docName = "index.xml.vm";
55  
56          renderingContext = new RenderingContext( baseDir, "test", docName, "", "xml", false );
57          assertEquals( "index.html", renderingContext.getOutputName() );
58          assertEquals( ".", renderingContext.getRelativePath() );
59  
60          docName = "download.apt.vm";
61  
62          renderingContext = new RenderingContext( baseDir, "test", docName, "", "apt", false );
63          assertEquals( "download.html", renderingContext.getOutputName() );
64          assertEquals( ".", renderingContext.getRelativePath() );
65  
66          docName = "path/file.apt";
67          renderingContext = new RenderingContext( baseDir, "test", docName, "", "apt", false );
68          assertEquals( "path/file.html", renderingContext.getOutputName() );
69          assertEquals( "..", renderingContext.getRelativePath() );
70  
71          renderingContext = new RenderingContext( baseDir, docName, "generator" );
72          assertEquals( "path/file.html", renderingContext.getOutputName() );
73          assertEquals( "..", renderingContext.getRelativePath() );
74      }
75  
76  }