public
Fork of defunkt/body_matcher
Description: Simplify your view testing. Forget assert_select.
Homepage: http://ozmm.org/posts/some_ruby_code.html
Clone URL: git://github.com/github/body_matcher.git
uhlenbrock (author)
Mon Apr 21 21:59:06 -0700 2008
commit  1ec6e88ec949062cc6ffe6db654206127663985e
tree    6527bbc7fa8ac0c6b425c4af305c5e92c5c77e3c
name age message
file .gitignore Mon Apr 21 21:59:06 -0700 2008 First commit [uhlenbrock]
file LICENSE Mon Apr 21 21:59:06 -0700 2008 First commit [uhlenbrock]
file README Mon Apr 21 21:59:06 -0700 2008 First commit [uhlenbrock]
file Rakefile Mon Apr 21 21:59:06 -0700 2008 First commit [uhlenbrock]
directory lib/ Mon Apr 21 21:59:06 -0700 2008 First commit [uhlenbrock]
README
== BodyMatcher

BodyMatcher simplifies your view testing.  Forget assert_select.

Activate it by including it in your Test::Unit::TestCase class:

  class Test::Unit::TestCase
    include BodyMatcher

    self.use_transactional_fixtures = true
    self.use_instantiated_fixtures  = false
  end

Simple assertions:

  body['#web_results'].should.match /results from the web/i

  body['#categories_dropdown'].should.include "#{topic}[#{count}]" 

Access the attributes:

  body['#name_field'].attributes['value'].should.equal '(your name)'
  body['#name_field']['value'].should.equal '(your name)'

You can also use @response.body['blah'].

The nice part about this is that test failures will print out only
the HTML you're trying to match.

For use with test/spec/rails, which provides the `body' method.  Also 
requires Hpricot. Enjoy.

* Chris Wanstrath [ chris@ozmm.org ]