require 'jasmine-headless-webkit' require 'fakefs/spec_helpers' RSpec.configure do |c| c.mock_with :mocha c.before(:each) do Jasmine::Headless::CacheableAction.enabled = false end 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, failed, used_console| match do |filename| report(filename) report.total.should == total report.failed.should == failed report.has_used_console?.should == used_console true end failure_message_for_should do |filename| "expected #{filename} to be a report containing (#{total}, #{failed}, #{used_console.inspect})" end def report(filename = nil) @report ||= Jasmine::Headless::Report.load(filename) end end define :contain_a_failing_spec do |*parts| match do |filename| report(filename).should have_failed_on(parts.join(" ")) end def report(filename) @report ||= Jasmine::Headless::Report.load(filename) end end define :be_a_file do match do |file| File.file?(file) end end end