ShouldPricot

Test the html in your functional tests using the wicked Hpricot CSS / XPath selectors. Requires Hpricot. Designed for use with ActiveSupport::TestCase (Test/Unit)

Example

  • 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.

Mad props to Kid80 for the regex matching patch.

Copyright © 2009 [Brent Greeff], released under the MIT license