changelog shortlog tags changeset manifest revisions annotate raw

vendor/plugins/rspec/lib/spec/runner/example_group_runner.rb

changeset 15: 64acf98d15f4
author: moriq@moriq.com
date: Mon Mar 10 10:12:58 2008 +0900 (16 years ago)
permissions: -rw-r--r--
description: add plugins rspec
1module Spec
2 module Runner
3 class ExampleGroupRunner
4 def initialize(options)
5 @options = options
6 end
7
8 def load_files(files)
9 # It's important that loading files (or choosing not to) stays the
10 # responsibility of the ExampleGroupRunner. 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
17
18 def run
19 prepare
20 success = true
21 example_groups.each do |example_group|
22 success = success & example_group.run
23 end
24 return success
25 ensure
26 finish
27 end
28
29 protected
30 def prepare
31 reporter.start(number_of_examples)
32 example_groups.reverse! if reverse
33 end
34
35 def finish
36 reporter.end
37 reporter.dump
38 end
39
40 def reporter
41 @options.reporter
42 end
43
44 def reverse
45 @options.reverse
46 end
47
48 def example_groups
49 @options.example_groups
50 end
51
52 def number_of_examples
53 @options.number_of_examples
54 end
55 end
56 # TODO: BT - Deprecate BehaviourRunner?
57 BehaviourRunner = ExampleGroupRunner
58 end
59end