Upgraded Rails and RSpec
[monkeycharger.git] / vendor / plugins / rspec / rspec / lib / spec / runner / example_group_runner.rb
blob94f0716500ba3d80f842b9a35218669e750ae323
1 module Spec
2   module Runner
3     class ExampleGroupRunner
4       def initialize(options)
5         @options = options
6       end
8       def load_files(files)
9         # It's important that loading files (or choosing not to) stays the
10         # responsibility of the BehaviourRunner. Some implementations (like)
11         # the one using DRb may choose *not* to load files, but instead tell
12         # someone else to do it over the wire.
13         files.each do |file|
14           load file
15         end
16       end
18       def run
19         prepare
20         success = true
21         example_groups.each do |example_group|
22           success = success & example_group.suite.run
23         end
24         return success
25       ensure
26         finish
27       end
29       protected
30       def prepare
31         reporter.start(number_of_examples)
32         example_groups.reverse! if reverse
33       end
35       def finish
36         reporter.end
37         reporter.dump
38       end
40       def reporter
41         @options.reporter
42       end
44       def reverse
45         @options.reverse
46       end
48       def example_groups
49         @options.example_groups
50       end
52       def number_of_examples
53         @options.number_of_examples
54       end
55     end
56     # TODO: BT - Deprecate BehaviourRunner?
57     BehaviourRunner = ExampleGroupRunner
58   end
59 end