jasmine-headless-webkit/spec/spec_helper.rb

56 lines
1.3 KiB
Ruby
Raw Normal View History

require 'jasmine-headless-webkit'
require 'fakefs/spec_helpers'
2011-06-10 14:04:21 +00:00
RSpec.configure do |c|
c.mock_with :mocha
2011-09-01 14:39:29 +00:00
c.before(:each) do
Jasmine::Headless::CacheableAction.enabled = false
end
2011-06-10 14:04:21 +00:00
end
specrunner = 'ext/jasmine-webkit-specrunner/jasmine-webkit-specrunner'
if !File.file?(specrunner)
Dir.chdir File.split(specrunner).first do
system %{ruby extconf.rb}
end
end
module RSpec::Matchers
define :be_a_report_containing do |total, fails, used_console|
match do |filename|
parts(filename).length.should == 4
parts[0].should == total.to_s
parts[1].should == fails.to_s
parts[2].should == (used_console ? "T" : "F")
true
end
failure_message_for_should do |filename|
parts(filename)
"expected #{filename} to be a report containing (#{total}, #{fails}, #{used_console.inspect}), instead it contained (#{parts[0]}, #{parts[1]}, #{(parts[2] == "T").inspect})"
end
def parts(filename = nil)
@parts ||= File.readlines(filename).first.strip.split('/')
end
end
define :contain_a_failing_spec do |*parts|
match do |filename|
report(filename).include?(parts.join("||")).should be_true
end
def report(filename)
@report ||= File.readlines(filename)[1..-1].collect(&:strip)
end
end
define :be_a_file do
match do |file|
File.file?(file)
end
end
2011-06-16 13:51:49 +00:00
end