[Jsptest-svn-commits] SF.net SVN: jsptest: [236] trunk/jsptest-generic/jsptest-framework/src/main
Status: Alpha
Brought to you by:
lkoskela
From: <lko...@us...> - 2008-06-27 11:47:45
|
Revision: 236 http://jsptest.svn.sourceforge.net/jsptest/?rev=236&view=rev Author: lkoskela Date: 2008-06-27 04:47:44 -0700 (Fri, 27 Jun 2008) Log Message: ----------- 'page().shouldContain(String)' and 'page().shouldNotContain(String)' no longer consider the 'head' section of an HTML document Modified Paths: -------------- trunk/jsptest-generic/jsptest-framework/src/main/java/net/sf/jsptest/assertion/PageAssertion.java Modified: trunk/jsptest-generic/jsptest-framework/src/main/java/net/sf/jsptest/assertion/PageAssertion.java =================================================================== --- trunk/jsptest-generic/jsptest-framework/src/main/java/net/sf/jsptest/assertion/PageAssertion.java 2008-06-27 11:46:09 UTC (rev 235) +++ trunk/jsptest-generic/jsptest-framework/src/main/java/net/sf/jsptest/assertion/PageAssertion.java 2008-06-27 11:47:44 UTC (rev 236) @@ -5,6 +5,7 @@ import org.jaxen.JaxenException; import org.jaxen.dom.DOMXPath; import org.w3c.dom.Document; +import org.w3c.dom.Element; /** * Provides assertion methods related to an HTML page. @@ -13,34 +14,43 @@ */ public class PageAssertion extends DOMAssertion { - /** - * @param content - * The DOM tree to interpret as an HTML page. - */ - public PageAssertion(Document content) { - this.context = content.getDocumentElement(); - } + private Element headContext; - /** - * Assert that the page should have the specified title. - * - * @param expectedTitle - * The expected title. - */ - public void shouldHaveTitle(String expectedTitle) { - try { - String title = new DOMXPath("/HTML/HEAD/TITLE/text()") - .stringValueOf(context); - Assert.assertEquals(expectedTitle, title); - } catch (JaxenException e) { - throw new RuntimeException(e); - } - } + /** + * @param content + * The DOM tree to interpret as an HTML page. + */ + public PageAssertion(Document content) { + try { + context = (Element) new DOMXPath("/HTML/BODY") + .selectSingleNode(content); + headContext = (Element) new DOMXPath("/HTML/HEAD") + .selectSingleNode(content); + } catch (JaxenException e) { + throw new RuntimeException(e); + } + } - /** - * Returns a handle for making assertions related to link elements. - */ - public LinkAssertion shouldHaveLink() { - return new LinkAssertion(context); - } + /** + * Assert that the page should have the specified title. + * + * @param expectedTitle + * The expected title. + */ + public void shouldHaveTitle(String expectedTitle) { + try { + String title = new DOMXPath("TITLE/text()") + .stringValueOf(headContext); + Assert.assertEquals(expectedTitle, title); + } catch (JaxenException e) { + throw new RuntimeException(e); + } + } + + /** + * Returns a handle for making assertions related to link elements. + */ + public LinkAssertion shouldHaveLink() { + return new LinkAssertion(context); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |