You are viewing a plain text version of this content. The canonical link for it is here.
Posted to doxia-commits@maven.apache.org by vs...@apache.org on 2009/08/02 14:28:50 UTC
svn commit: r800044 - in /maven/doxia/doxia-tools/trunk/doxia-linkcheck/src:
main/java/org/apache/maven/doxia/linkcheck/LinkMatcher.java
test/java/org/apache/maven/doxia/linkcheck/LinkCheckTest.java
test/resources/linkincomment.html
Author: vsiveton
Date: Sun Aug 2 12:28:50 2009
New Revision: 800044
URL: http://svn.apache.org/viewvc?rev=800044&view=rev
Log:
o removed links in XML comments
o added test case
Added:
maven/doxia/doxia-tools/trunk/doxia-linkcheck/src/test/resources/linkincomment.html (with props)
Modified:
maven/doxia/doxia-tools/trunk/doxia-linkcheck/src/main/java/org/apache/maven/doxia/linkcheck/LinkMatcher.java
maven/doxia/doxia-tools/trunk/doxia-linkcheck/src/test/java/org/apache/maven/doxia/linkcheck/LinkCheckTest.java
Modified: maven/doxia/doxia-tools/trunk/doxia-linkcheck/src/main/java/org/apache/maven/doxia/linkcheck/LinkMatcher.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-tools/trunk/doxia-linkcheck/src/main/java/org/apache/maven/doxia/linkcheck/LinkMatcher.java?rev=800044&r1=800043&r2=800044&view=diff
==============================================================================
--- maven/doxia/doxia-tools/trunk/doxia-linkcheck/src/main/java/org/apache/maven/doxia/linkcheck/LinkMatcher.java (original)
+++ maven/doxia/doxia-tools/trunk/doxia-linkcheck/src/main/java/org/apache/maven/doxia/linkcheck/LinkMatcher.java Sun Aug 2 12:28:50 2009
@@ -19,7 +19,6 @@
* under the License.
*/
-import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.Reader;
@@ -60,38 +59,33 @@
}
/**
- * Reads a file and returns a StringBuffer with its contents.
+ * Reads a file and returns its contents without any XML comments.
*
* @param file the file we are reading
* @param encoding the encoding file used
* @return a StringBuffer with file's contents.
* @throws IOException if something goes wrong.
+ * @see ReaderFactory#newReader(File, String)
+ * @see IOUtil#toString(Reader)
*/
- private static StringBuffer fileToStringBuffer( File file, String encoding )
+ private static String toString( File file, String encoding )
throws IOException
{
- final StringBuffer pageBuffer = new StringBuffer();
-
- BufferedReader reader = null;
- Reader r = null;
+ String content;
+ Reader reader = null;
try
{
- r = ReaderFactory.newReader( file, encoding );
- reader = new BufferedReader( r );
+ reader = ReaderFactory.newReader( file, encoding );
- String line;
- while ( ( line = reader.readLine() ) != null )
- {
- pageBuffer.append( line );
- }
+ content = IOUtil.toString( reader );
}
finally
{
- IOUtil.close( r );
IOUtil.close( reader );
}
- return pageBuffer;
+ // some link could be in comments, remove them
+ return content.replaceAll( "(?s)<!--.*?-->", "" );
}
/**
@@ -107,7 +101,7 @@
{
LINK_LIST.clear();
- final Matcher m = MATCH_PATTERN.matcher( fileToStringBuffer( file, encoding ) );
+ final Matcher m = MATCH_PATTERN.matcher( toString( file, encoding ) );
String link;
@@ -133,5 +127,4 @@
return LINK_LIST;
}
-
}
Modified: maven/doxia/doxia-tools/trunk/doxia-linkcheck/src/test/java/org/apache/maven/doxia/linkcheck/LinkCheckTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-tools/trunk/doxia-linkcheck/src/test/java/org/apache/maven/doxia/linkcheck/LinkCheckTest.java?rev=800044&r1=800043&r2=800044&view=diff
==============================================================================
--- maven/doxia/doxia-tools/trunk/doxia-linkcheck/src/test/java/org/apache/maven/doxia/linkcheck/LinkCheckTest.java (original)
+++ maven/doxia/doxia-tools/trunk/doxia-linkcheck/src/test/java/org/apache/maven/doxia/linkcheck/LinkCheckTest.java Sun Aug 2 12:28:50 2009
@@ -73,7 +73,7 @@
map.put( ftc.getRelativePath(), ftc );
}
- assertEquals( "files.size()", 8, result.getFiles().size() );
+ assertEquals( "files.size()", 9, result.getFiles().size() );
check( map, "nolink.html", 0 );
check( map, "test-resources/nolink.html", 0 );
@@ -81,6 +81,7 @@
check( map, "test-resources/test1/test2.html", 0 );
check( map, "test1/test1.html", 1 );
check( map, "testA.html", 3 );
+ check( map, "linkincomment.html", 1 );
/* test excludes */
String fileName = "testExcludes.html";
Added: maven/doxia/doxia-tools/trunk/doxia-linkcheck/src/test/resources/linkincomment.html
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-tools/trunk/doxia-linkcheck/src/test/resources/linkincomment.html?rev=800044&view=auto
==============================================================================
--- maven/doxia/doxia-tools/trunk/doxia-linkcheck/src/test/resources/linkincomment.html (added)
+++ maven/doxia/doxia-tools/trunk/doxia-linkcheck/src/test/resources/linkincomment.html Sun Aug 2 12:28:50 2009
@@ -0,0 +1,27 @@
+<!--
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ -->
+<html>
+<body>
+
+<!-- <a href="todo.html">test that isn't here</a> -->
+
+<a href="testA.html">real link</a>
+
+</body>
+</html>
\ No newline at end of file
Propchange: maven/doxia/doxia-tools/trunk/doxia-linkcheck/src/test/resources/linkincomment.html
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/doxia/doxia-tools/trunk/doxia-linkcheck/src/test/resources/linkincomment.html
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision