Sha256: e413fef8dd5f82c29213e1c749edaded00cb9da2e800e26404bcf07d99e2c717

Contents?: true

Size: 1014 Bytes

Versions: 7

Compression:

Stored size: 1014 Bytes

Contents

require 'rubygems'
require 'bacon'
require 'sinatra'
require 'rack/test'

require File.join(File.dirname(__FILE__), '..', 'lib', 'vegas.rb')

require 'nokogiri'

module TestHelper
  def rackup(app)
    Rack::Test::Session.new(app)
  end
  
  def body
    last_response.body.to_s
  end

  def instance_of(klass)
    lambda {|obj| obj.is_a?(klass) }
  end

  def html_body
    body =~ /^\<html/ ? body : "<html><body>#{body}</body></html>"
  end

end

Bacon::Context.send(:include, TestHelper)

class Should

  def have_element(search, content = nil)
    satisfy "have element matching #{search}" do
      doc = Nokogiri.parse(@object.to_s)
      node_set = doc.search(search)
      if node_set.empty?
        false
      else
        collected_content = node_set.collect {|t| t.content }.join(' ')
        case content
        when Regexp
          collected_content =~ content
        when String
          collected_content.include?(content)
        when nil
          true
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
quirkey-vegas-0.0.1 test/test_helper.rb
quirkey-vegas-0.0.2 test/test_helper.rb
quirkey-vegas-0.0.3.1 test/test_helper.rb
quirkey-vegas-0.0.3 test/test_helper.rb
vegas-0.0.3 test/test_helper.rb
vegas-0.0.3.1 test/test_helper.rb
vegas-0.0.1 test/test_helper.rb