2011-09-01 13:38:53 +00:00
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
2011-04-14 00:21:23 +00:00
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
2011-09-01 13:38:53 +00:00
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
2011-06-23 13:29:07 +00:00
end
2011-09-01 13:38:53 +00:00
define :contain_a_failing_spec do | * parts |
match do | filename |
report ( filename ) . include? ( parts . join ( " || " ) ) . should be_true
end
2011-07-13 18:42:47 +00:00
2011-09-01 13:38:53 +00:00
def report ( filename )
@report || = File . readlines ( filename ) [ 1 .. - 1 ] . collect ( & :strip )
end
2011-07-13 18:42:47 +00:00
end
2011-09-01 13:38:53 +00:00
define :be_a_file do
match do | file |
File . file? ( file )
end
2011-06-23 13:29:07 +00:00
end
2011-06-16 13:51:49 +00:00
end