Sha256: 9610c1647d4f249fcb8d75affc5b41748a8cd990a35b64b35fd65e2f99701229

Contents?: true

Size: 980 Bytes

Versions: 2

Compression:

Stored size: 980 Bytes

Contents

dependencies = %w{
  bacon
  mocha/standalone
  mocha/object
  sinatra
}

begin
  dependencies.each {|f| require f }
rescue LoadError
  require 'rubygems'
  dependencies.each {|f| require f }
end

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


module TestHelper
  
  def vegas(*args, &block)
    Vegas::Runner.any_instance.stubs(:daemonize!).once
    Rack::Handler::Thin.stubs(:run).once
    @vegas = Vegas::Runner.new(*args, &block)
  end
  
  def body
    last_response.body.to_s
  end

  def instance_of(klass)
    lambda {|obj| obj.is_a?(klass) }
  end
  
  def exist_as_file
    lambda {|obj| File.exist?(obj) }
  end
  
  def have_matching_file_content(content_regex)
    lambda {|obj| 
      File.exist?(obj) && File.read(obj).match(content_regex) 
    }
  end

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

end

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

Version data entries

2 entries across 2 versions & 1 rubygems

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