capybara-validate_html5

capybara-validate_html5 validates the HTML5 for each page parsed, and fails if there are any HTML5 parse errors on the page. This makes it easy to automatically test for HTML5 validity when running your normal capybara test suite.

This only works for the rack-test driver.

Installation

gem install capybara-validate_html5

Source Code

Source code is available on GitHub at github.com/jeremyevans/capybara-validate_html5

Examples

require 'capybara/validate_html5'

describe 'capybara-validate_html5' do
  include Rack::Test::Methods
  include Capybara::DSL

  def app
    MyRackApp
  end

  it "should allow restoring of state" do
    visit '/' # No validation on retrieval
    page.body # No validation on body access

    page.all("a") # Attempt to parse body, validates HTML, raises exception if not valid
    page.all("a") # No validation, as same body already parsed

    visit '/page1'
    click_link 'Go Somewhere' # Attempt to parse body, validates HTML, raises exception if not valid

    visit '/page2'
    skip_html_validation do
      click_button 'Submit' # No validation, as it was explicitly skipped
    end
  end
end

License

MIT

Author

Jeremy Evans <code@jeremyevans.net>