Author: ltheussl
Date: Thu Jan 13 09:32:28 2011
New Revision: 1058474

URL: http://svn.apache.org/viewvc?rev=1058474&view=rev
Log:
take care of null values in sameSite, add test

Modified:
    
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/URIPathDescriptor.java
    
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/URIPathDescriptorTest.java

Modified: 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/URIPathDescriptor.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/URIPathDescriptor.java?rev=1058474&r1=1058473&r2=1058474&view=diff
==============================================================================
--- 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/URIPathDescriptor.java
 (original)
+++ 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/URIPathDescriptor.java
 Thu Jan 13 09:32:28 2011
@@ -200,21 +200,27 @@ public class URIPathDescriptor
      * Check if this URIPathDescriptor lives on the same site as the given URI.
      *
      * @param uri a URI to compare with.
+     *      May be null, in which case false is returned.
      *
      * @return true if {@link #getBaseURI()} shares the same scheme, host and 
port with the given URI
      *      where null values are allowed.
      */
     public boolean sameSite( final URI uri )
     {
+        if ( uri == null )
+        {
+            return false;
+        }
+
         return sameSite( this.baseURI, uri );
     }
 
     private static boolean sameSite( final URI baseURI, final URI newBaseURI )
     {
         final boolean equalScheme = ( baseURI.getScheme() == null ? 
newBaseURI.getScheme() == null
-                : baseURI.getScheme().equals( newBaseURI.getScheme() ) );
+                : baseURI.getScheme().equalsIgnoreCase( newBaseURI.getScheme() 
) );
         final boolean equalHost = ( baseURI.getHost() == null ? 
newBaseURI.getHost() == null
-                : baseURI.getHost().equals( newBaseURI.getHost() ) );
+                : baseURI.getHost().equalsIgnoreCase( newBaseURI.getHost() ) );
         final boolean equalPort = ( baseURI.getPort() == newBaseURI.getPort() 
);
 
         return ( equalScheme && equalPort && equalHost );

Modified: 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/URIPathDescriptorTest.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/URIPathDescriptorTest.java?rev=1058474&r1=1058473&r2=1058474&view=diff
==============================================================================
--- 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/URIPathDescriptorTest.java
 (original)
+++ 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/URIPathDescriptorTest.java
 Thu Jan 13 09:32:28 2011
@@ -20,6 +20,8 @@ package org.apache.maven.doxia.site.deco
  * under the License.
  */
 
+import java.net.URI;
+
 import junit.framework.TestCase;
 
 /**
@@ -92,4 +94,26 @@ public class URIPathDescriptorTest
         path = new URIPathDescriptor( "http://maven.apache.org/doxia";, 
"http://maven.apache.org/source"; );
         assertEquals( "../source", path.relativizeLink().toString() );
     }
+
+    /**
+     * Test of sameSite method, of class URIPathDescriptor.
+     *
+     * @throws Exception
+     */
+    public void testSameSite()
+            throws Exception
+    {
+        final URIPathDescriptor path = new URIPathDescriptor( 
"http://maven.apache.org/";, "doxia" );
+
+        assertTrue( path.sameSite( new URI( "http://maven.apache.org/"; ) ) );
+        assertTrue( path.sameSite( new URI( "http://maven.apache.org"; ) ) );
+        assertTrue( path.sameSite( new URI( "HTTP://maven.apache.org/" ) ) );
+        assertTrue( path.sameSite( new URI( "http://MAVEN.apache.org/"; ) ) );
+        assertTrue( path.sameSite( new URI( 
"http://maven.apache.org/wagon/index.html"; ) ) );
+
+        assertFalse( path.sameSite( null ) );
+        assertFalse( path.sameSite( new URI( "https://maven.apache.org/"; ) ) );
+        assertFalse( path.sameSite( new URI( "http://ant.apache.org/"; ) ) );
+        assertFalse( path.sameSite( new URI( "http://maven.apache.org:80"; ) ) 
);
+    }
 }


Reply via email to