Revision: 771
          http://jwebunit.svn.sourceforge.net/jwebunit/?rev=771&view=rev
Author:   jevonwright
Date:     2008-11-24 03:09:49 +0000 (Mon, 24 Nov 2008)

Log Message:
-----------
initial work in adding JTidy to JWebUnit, however there is no easy way to 
retrieve the JTidy errors with the current release

Modified Paths:
--------------
    
branches/2.x-jtidy/jwebunit-core/src/main/java/net/sourceforge/jwebunit/api/ITestingEngine.java
    
branches/2.x-jtidy/jwebunit-core/src/main/java/net/sourceforge/jwebunit/junit/WebTester.java
    branches/2.x-jtidy/jwebunit-htmlunit-plugin/pom.xml
    
branches/2.x-jtidy/jwebunit-htmlunit-plugin/src/main/java/net/sourceforge/jwebunit/htmlunit/HtmlUnitTestingEngineImpl.java
    
branches/2.x-jtidy/jwebunit-htmlunit-plugin/src/test/java/net/sourceforge/jwebunit/htmlunit/JWebUnitTest.java
    branches/2.x-jtidy/pom.xml

Added Paths:
-----------
    
branches/2.x-jtidy/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/ValidationTest.java
    
branches/2.x-jtidy/jwebunit-commons-tests/src/main/resources/testcases/ValidationTest/
    
branches/2.x-jtidy/jwebunit-commons-tests/src/main/resources/testcases/ValidationTest/testValidHtml.html

Added: 
branches/2.x-jtidy/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/ValidationTest.java
===================================================================
--- 
branches/2.x-jtidy/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/ValidationTest.java
                          (rev 0)
+++ 
branches/2.x-jtidy/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/ValidationTest.java
  2008-11-24 03:09:49 UTC (rev 771)
@@ -0,0 +1,30 @@
+/******************************************************************************
+ * JWebUnit project (http://jwebunit.sourceforge.net)                         *
+ * Distributed open-source, see full license under LICENCE.txt                *
+ 
******************************************************************************/
+package net.sourceforge.jwebunit.tests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import net.sourceforge.jwebunit.tests.util.JettySetup;
+
+/**
+ * Test the assertions provided by WebTestCase using the PseudoServer test
+ * package provided by Russell Gold in httpunit.
+ * 
+ * @author Wilkes Joiner
+ * @author Jim Weaver
+ */
+public class ValidationTest extends JWebUnitAPITestCase {
+
+       public static Test suite() {
+               Test suite = new TestSuite(ValidationTest.class);
+               return new JettySetup(suite);
+       }
+
+    public void testValidHtml() throws Throwable {
+       beginAt("/testValidHtml.html");
+       assertValidHTML();
+    }
+
+}

Added: 
branches/2.x-jtidy/jwebunit-commons-tests/src/main/resources/testcases/ValidationTest/testValidHtml.html
===================================================================
--- 
branches/2.x-jtidy/jwebunit-commons-tests/src/main/resources/testcases/ValidationTest/testValidHtml.html
                            (rev 0)
+++ 
branches/2.x-jtidy/jwebunit-commons-tests/src/main/resources/testcases/ValidationTest/testValidHtml.html
    2008-11-24 03:09:49 UTC (rev 771)
@@ -0,0 +1,5 @@
+<html>
+       <body>
+               hello, world!
+       </body>
+</html>
\ No newline at end of file

Modified: 
branches/2.x-jtidy/jwebunit-core/src/main/java/net/sourceforge/jwebunit/api/ITestingEngine.java
===================================================================
--- 
branches/2.x-jtidy/jwebunit-core/src/main/java/net/sourceforge/jwebunit/api/ITestingEngine.java
     2008-11-24 02:30:34 UTC (rev 770)
+++ 
branches/2.x-jtidy/jwebunit-core/src/main/java/net/sourceforge/jwebunit/api/ITestingEngine.java
     2008-11-24 03:09:49 UTC (rev 771)
@@ -903,6 +903,16 @@
     /**
      * Get all the comments in a document, as a list of strings.
      */
-    public List<String> getComments();    
+    public List<String> getComments();
+    
+    /**
+     * Is the current document valid HTML?
+     */
+    public boolean isValidHTML();
+    
+    /**
+     * Is the current document valid XHTML?
+     */
+    public boolean isValidXHTML();
 
 }

Modified: 
branches/2.x-jtidy/jwebunit-core/src/main/java/net/sourceforge/jwebunit/junit/WebTester.java
===================================================================
--- 
branches/2.x-jtidy/jwebunit-core/src/main/java/net/sourceforge/jwebunit/junit/WebTester.java
        2008-11-24 02:30:34 UTC (rev 770)
+++ 
branches/2.x-jtidy/jwebunit-core/src/main/java/net/sourceforge/jwebunit/junit/WebTester.java
        2008-11-24 03:09:49 UTC (rev 771)
@@ -2133,6 +2133,10 @@
                         + windowCount + " was expected.", getTestingEngine()
                         .getWindowCount() == windowCount);
     }
+    
+    public void assertValidHTML() {
+       Assert.assertTrue("document contains valid HTML", 
getTestingEngine().isValidHTML());
+    }
 
     /**
      * Assert that a frame with the given name or ID is present.

Modified: branches/2.x-jtidy/jwebunit-htmlunit-plugin/pom.xml
===================================================================
--- branches/2.x-jtidy/jwebunit-htmlunit-plugin/pom.xml 2008-11-24 02:30:34 UTC 
(rev 770)
+++ branches/2.x-jtidy/jwebunit-htmlunit-plugin/pom.xml 2008-11-24 03:09:49 UTC 
(rev 771)
@@ -60,6 +60,10 @@
             <groupId>javax.servlet</groupId>
             <artifactId>servlet-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>jtidy</groupId>
+            <artifactId>jtidy</artifactId>
+        </dependency>
     </dependencies>
     <properties>
         <topDirectoryLocation>..</topDirectoryLocation>

Modified: 
branches/2.x-jtidy/jwebunit-htmlunit-plugin/src/main/java/net/sourceforge/jwebunit/htmlunit/HtmlUnitTestingEngineImpl.java
===================================================================
--- 
branches/2.x-jtidy/jwebunit-htmlunit-plugin/src/main/java/net/sourceforge/jwebunit/htmlunit/HtmlUnitTestingEngineImpl.java
  2008-11-24 02:30:34 UTC (rev 770)
+++ 
branches/2.x-jtidy/jwebunit-htmlunit-plugin/src/main/java/net/sourceforge/jwebunit/htmlunit/HtmlUnitTestingEngineImpl.java
  2008-11-24 03:09:49 UTC (rev 771)
@@ -44,6 +44,7 @@
 import org.slf4j.LoggerFactory;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
+import org.w3c.tidy.Tidy;
 
 import com.gargoylesoftware.htmlunit.AlertHandler;
 import com.gargoylesoftware.htmlunit.BrowserVersion;
@@ -2289,5 +2290,46 @@
        public void setDefaultBrowserVersion(BrowserVersion 
defaultBrowserVersion) {
                this.defaultBrowserVersion = defaultBrowserVersion;
        }
+       
+       /**
+        * Provide an input stream for a given String.
+        *  
+        * @author jmwright
+        *
+        */
+       protected class ThreadedStringInputStream extends InputStream {
 
+               private String data;
+               private int pointer = 0;
+               
+               public ThreadedStringInputStream(String data) {
+                       this.data = data;
+               }
+               
+               @Override
+               public int read() throws IOException {
+                       if (pointer >= data.length()) {
+                               return -1;
+                       }
+                       char c = data.charAt(pointer);
+                       pointer++;
+                       return c;
+               }
+               
+       }
+       
+       public boolean isValidHTML() {
+               Tidy t = new Tidy();
+               InputStream in = new ThreadedStringInputStream( 
this.getPageSource() );
+               java.io.OutputStream out = System.err;
+               t.parse(in, out);
+               
+               return false;           
+       }
+
+       public boolean isValidXHTML() {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
 }

Modified: 
branches/2.x-jtidy/jwebunit-htmlunit-plugin/src/test/java/net/sourceforge/jwebunit/htmlunit/JWebUnitTest.java
===================================================================
--- 
branches/2.x-jtidy/jwebunit-htmlunit-plugin/src/test/java/net/sourceforge/jwebunit/htmlunit/JWebUnitTest.java
       2008-11-24 02:30:34 UTC (rev 770)
+++ 
branches/2.x-jtidy/jwebunit-htmlunit-plugin/src/test/java/net/sourceforge/jwebunit/htmlunit/JWebUnitTest.java
       2008-11-24 03:09:49 UTC (rev 771)
@@ -55,6 +55,7 @@
         suite.addTestSuite(IElementTest.class);
         suite.addTestSuite(ResponseServletTest.class);
         suite.addTestSuite(CustomTesterTest.class);
+        suite.addTestSuite(ValidationTest.class);
         suite.addTest(JUnitPerfTest.suite());
         // $JUnit-END$
         return new JettySetup(suite);

Modified: branches/2.x-jtidy/pom.xml
===================================================================
--- branches/2.x-jtidy/pom.xml  2008-11-24 02:30:34 UTC (rev 770)
+++ branches/2.x-jtidy/pom.xml  2008-11-24 03:09:49 UTC (rev 771)
@@ -314,6 +314,11 @@
                                <version>1.5.0</version>
                                <scope>optional</scope>
                        </dependency>
+                       <dependency>
+                               <groupId>jtidy</groupId>
+                               <artifactId>jtidy</artifactId>
+                               <version>4aug2000r7-dev</version>
+                       </dependency>
                </dependencies>
        </dependencyManagement>
        <reporting>


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
JWebUnit-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jwebunit-development

Reply via email to