Author: brett
Date: Sun Jan 8 13:46:26 2006
New Revision: 367102
URL: http://svn.apache.org/viewcvs?rev=367102&view=rev
Log:
move null check to the right place and add tests
Modified:
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java
maven/doxia/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java
Modified:
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java
URL:
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java?rev=367102&r1=367101&r2=367102&view=diff
==============================================================================
---
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java
(original)
+++
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java
Sun Jan 8 13:46:26 2006
@@ -143,13 +143,18 @@
private String resolvePath( String href, String prefix, String baseUrl )
{
- String relativePath = getParentPrefix( href, baseUrl );
-
- if ( relativePath.startsWith( "/" ) )
+ String path = null;
+ if ( href != null )
{
- relativePath = relativePath.substring( 1 );
+ String relativePath = getParentPrefix( href, baseUrl );
+
+ if ( relativePath.startsWith( "/" ) )
+ {
+ relativePath = relativePath.substring( 1 );
+ }
+ path = PathTool.calculateLink( relativePath, prefix );
}
- return PathTool.calculateLink( relativePath, prefix );
+ return path;
}
private void assembleCustomInheritance( DecorationModel child,
DecorationModel parent )
@@ -330,16 +335,6 @@
private static String getParentPrefix( String parentUrl, String childUrl )
{
- if ( parentUrl == null )
- {
- parentUrl = "";
- }
-
- if ( childUrl == null )
- {
- childUrl = "";
- }
-
String prefix = parentUrl;
if ( childUrl.startsWith( parentUrl ) )
@@ -357,7 +352,8 @@
{
prefix = getRelativePath( parentUrl, childUrl );
}
-/* [MSITE-62] This is to test the ../ relative paths, which I am inclined not
to use
+/*
+ // [MSITE-62] This is to test the ../ relative paths, which I am
inclined not to use
else
{
String[] parentSplit = splitUrl( parentUrl );
Modified:
maven/doxia/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java
URL:
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java?rev=367102&r1=367101&r2=367102&view=diff
==============================================================================
---
maven/doxia/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java
(original)
+++
maven/doxia/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java
Sun Jan 8 13:46:26 2006
@@ -17,6 +17,7 @@
*/
import junit.framework.TestCase;
+import org.apache.maven.doxia.site.decoration.Banner;
import org.apache.maven.doxia.site.decoration.Body;
import org.apache.maven.doxia.site.decoration.DecorationModel;
import org.apache.maven.doxia.site.decoration.LinkItem;
@@ -448,6 +449,41 @@
assembler.resolvePaths( model, "http://foo.apache.org" );
assertEquals( "Check size", 1, model.getBody().getBreadcrumbs().size()
);
assertEquals( "Check item", createLinkItem( "Foo", "" ),
model.getBody().getBreadcrumbs().get( 0 ) );
+ }
+
+ public void testBannerWithoutHref()
+ {
+ DecorationModel model = new DecorationModel();
+ model.setBody( new Body() );
+
+ Banner banner = createBanner( "Left", null, "/images/src.gif", "alt" );
+
+ model.setBannerLeft( banner );
+
+ assembler.resolvePaths( model, "http://foo.apache.org" );
+
+ assertEquals( "Check banner", createBanner( "Left", null,
"images/src.gif", "alt" ), model.getBannerLeft() );
+ }
+
+ public void testLogoWithoutImage()
+ {
+ // This should actually be validated in the model, it doesn't really
make sense
+ DecorationModel model = new DecorationModel();
+ model.setBody( new Body() );
+ model.addPoweredBy( createLogo( "Foo", "http://foo.apache.org", null )
);
+ assembler.resolvePaths( model, "http://foo.apache.org" );
+ assertEquals( "Check size", 1, model.getPoweredBy().size() );
+ assertEquals( "Check item", createLogo( "Foo",
"http://foo.apache.org", null ), model.getPoweredBy().get( 0 ) );
+ }
+
+ private static Banner createBanner( String name, String href, String src,
String alt )
+ {
+ Banner banner = new Banner();
+ banner.setName( name );
+ banner.setHref( href );
+ banner.setSrc( src );
+ banner.setAlt( alt );
+ return banner;
}
private Logo createLogo( String name, String href, String img )