diff options
Diffstat (limited to 'spec/mspec/lib/mspec/runner/mspec.rb')
-rw-r--r-- | spec/mspec/lib/mspec/runner/mspec.rb | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/spec/mspec/lib/mspec/runner/mspec.rb b/spec/mspec/lib/mspec/runner/mspec.rb index 8331086196..97c3f365bc 100644 --- a/spec/mspec/lib/mspec/runner/mspec.rb +++ b/spec/mspec/lib/mspec/runner/mspec.rb @@ -26,6 +26,7 @@ module MSpec @unload = nil @tagged = nil @current = nil + @passed = nil @example = nil @modes = [] @shared = {} @@ -36,9 +37,11 @@ module MSpec @repeat = 1 @expectation = nil @expectations = false + @skips = [] + @subprocesses = [] class << self - attr_reader :file, :include, :exclude + attr_reader :file, :include, :exclude, :skips, :subprocesses attr_writer :repeat, :randomize attr_accessor :formatter end @@ -116,8 +119,9 @@ module MSpec rescue SystemExit => e raise e rescue SkippedSpecError => e + @skips << [e, block] return false - rescue Exception => exc + rescue Object => exc register_exit 1 actions :exception, ExceptionState.new(current && current.state, location, exc) return false @@ -241,6 +245,7 @@ module MSpec # :before before a single spec is run # :add while a describe block is adding examples to run later # :expectation before a 'should', 'should_receive', etc. + # :passed after an example block is run and passes, passed the block, run before :example action # :example after an example block is run, passed the block # :exception after an exception is rescued # :after after a single spec is run @@ -391,7 +396,7 @@ module MSpec desc = tag.escape(tag.description) file = tags_file if File.exist? file - lines = IO.readlines(file) + lines = File.readlines(file) File.open(file, "w:utf-8") do |f| lines.each do |line| line = line.chomp |