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