Author: burton
Date: Mon Mar 14 10:58:01 2005
New Revision: 157449

URL: http://svn.apache.org/viewcvs?view=rev&rev=157449
Log:
ability to run tests from disk...

Modified:
    
jakarta/commons/proper/feedparser/trunk/src/test/org/apache/commons/feedparser/locate/TestAnchorParser.java

Modified: 
jakarta/commons/proper/feedparser/trunk/src/test/org/apache/commons/feedparser/locate/TestAnchorParser.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/feedparser/trunk/src/test/org/apache/commons/feedparser/locate/TestAnchorParser.java?view=diff&r1=157448&r2=157449
==============================================================================
--- 
jakarta/commons/proper/feedparser/trunk/src/test/org/apache/commons/feedparser/locate/TestAnchorParser.java
 (original)
+++ 
jakarta/commons/proper/feedparser/trunk/src/test/org/apache/commons/feedparser/locate/TestAnchorParser.java
 Mon Mar 14 10:58:01 2005
@@ -22,6 +22,8 @@
 
 import junit.framework.*;
 
+import org.apache.commons.feedparser.network.*;
+
 /**
  *
  * @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
@@ -32,33 +34,32 @@
         super( name );
     }
     
-    static int anchorCount = 0;
-    
-    private void assertAnchorCount( int linkCount, String content ) throws 
Exception {
+    private void doTest( int linkCount, String resource ) throws Exception {
 
-        anchorCount = 0;
-        
-        AnchorParserListener listener = new AnchorParserListener() {
+        ResourceRequest request = ResourceRequestFactory.getResourceRequest( 
resource );
+        String content = request.getInputStreamAsString();
 
-                public boolean onAnchor( String href, String rel, String title 
) {
+        TestAnchorParserListener listener = new TestAnchorParserListener();
 
-                    ++anchorCount;
-                    
-                    return true;
-                }
+        AnchorParser.parse( content, listener );
 
-                public Object getResult() { return null; }
-                public void setContext( Object context ) {}
+        System.out.println( "Found N anchors: " + listener.anchorCount );
 
-            };
+        assertEquals( linkCount, listener.anchorCount );
+
+    }
+    
+    private void assertAnchorCount( int linkCount, String content ) throws 
Exception {
+
+        TestAnchorParserListener listener = new TestAnchorParserListener();
 
         AnchorParser.parse( content, listener );
 
-        assertEquals( linkCount, anchorCount );
+        assertEquals( linkCount, listener.anchorCount );
         
     }
 
-    public void test1() throws Exception {
+    public void testBasic() throws Exception {
 
         assertAnchorCount( 1, "<a rel=\"linux\" href=\"http://peerfear.org\"; 
title=\"linux\" >adf</a>" );
 
@@ -74,14 +75,44 @@
         //assertAnchorCount( "<a href='mailto:[EMAIL PROTECTED]' rel='linux' 
title='linux' ><img src='' /></a>",
         //                   1 );
 
+        //FIXME: what about unit tests which have multiple lines ?
+
+    }
+
+    public void testContent() throws Exception {
+
+        doTest( 1, "file:tests/anchor/anchor1.html" );
+        doTest( 1, "file:tests/anchor/anchor2.html" );
+        doTest( 1, "file:tests/anchor/anchor3.html" );
+        doTest( 1, "file:tests/anchor/anchor4.html" );
+        
     }
     
     public static void main( String[] args ) throws Exception {
 
         //FIXME: won't work with <a />
 
-        new TestAnchorParser( null ).test1();
+        TestAnchorParser test = new TestAnchorParser( null );
+        test.testBasic();
+        test.testContent();
         
     }
 
 }
+
+class TestAnchorParserListener implements AnchorParserListener {
+
+    public int anchorCount;
+    
+    public boolean onAnchor( String href, String rel, String title ) {
+        
+        ++anchorCount;
+        
+        return true;
+    }
+    
+    public Object getResult() { return null; }
+    public void setContext( Object context ) {}
+    
+}
+    



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to