Sha256: 5f683fea568ae0362d6ecc71766d1116964297d8fdd8a5426432a801ba17be30

Contents?: true

Size: 1.02 KB

Versions: 2

Compression:

Stored size: 1.02 KB

Contents

require 'rubygems'
require 'hpricot'
require 'riot'

$:.unshift File.dirname(__FILE__)
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')

require 'toto'

module Riot
  class Assertion
    assertion(:includes) do |actual, expected|
      actual.include?(expected) || fail("expected #{actual} to include #{expected}")
    end

    assertion(:includes_html) do |actual, expected|
      doc = Hpricot.parse(actual)
      expected = expected.to_a.flatten
      !(doc/expected.first).empty? || fail("expected #{actual} to contain a <#{expected.first}>")
      (doc/expected.first).inner_html.match(expected.last) || fail("expected <#{expected.first}> to contain #{expected.last}")
    end

    assertion(:includes_elements) do |actual, selector, count|
      doc = Hpricot.parse(actual)
      (doc/selector).size == count || fail("expected #{actual} to contain #{count} #{selector}(s)")
    end

    assertion(:within) do |actual, expected|
      expected.include?(actual) || fail("expected #{actual} to be within #{expected}")
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
toto-0.1.2 test/test_helper.rb
toto-0.1.1 test/test_helper.rb