Test the html in your functional tests using the wicked Hpricot CSS / XPath selectors. Requires Hpricot. Designed for use with ActiveSupport::TestCase (Test/Unit)
gem install should_pricot (or use bundler)
-
I want to test something appears on the page:
element('h1').should_be_present
-
I want to test something does not appear:
element('#power_user a[@href="/create/havok"]').should_be_missing
-
I want to check an elements contents:
element('.intro p').should_be 'Welcome'
-
I want to count the number of times something appears:
count('ol#girlfriends li').should_be 6
-
You can also pass a regex
element("div.wicked").should_be /containg this/
-
Even better
element('.date').should_contain "today"
-
You can also pass in html
element("div.wicked", some_html).should_be_present
Please refer to the Hpricot library for more examples of the kind of selectors available.
Designed to be used with the funktional testing library which provides contexts and class level assertions on top of Test:Unit.
Mad props to Kid80 for the regex matching patch.
Copyright © 2009 [Brent Greeff], released under the MIT license