dchelimsky-rspec 1.1.11.1 → 1.1.11.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. data/History.txt +11 -3
  2. data/Manifest.txt +35 -46
  3. data/README.txt +30 -12
  4. data/Rakefile +9 -9
  5. data/{stories/configuration/before_blocks.story → features/configuration/before_blocks.feature} +2 -2
  6. data/{stories/example_groups/autogenerated_docstrings → features/example_groups/autogenerated_docstrings.feature} +1 -1
  7. data/{stories/example_groups/example_group_with_should_methods → features/example_groups/example_group_with_should_methods.feature} +3 -3
  8. data/{stories/example_groups/nested_groups → features/example_groups/nested_groups.feature} +1 -1
  9. data/{stories/example_groups/output → features/example_groups/output.feature} +3 -8
  10. data/{stories/interop/examples_and_tests_together → features/interop/examples_and_tests_together.feature} +5 -4
  11. data/{stories/interop/test_but_not_test_unit → features/interop/test_but_not_test_unit.feature} +2 -2
  12. data/{stories/interop/test_case_with_should_methods → features/interop/test_case_with_should_methods.feature} +2 -2
  13. data/{stories/mock_framework_integration/use_flexmock.story → features/mock_framework_integration/use_flexmock.feature} +1 -1
  14. data/features/step_definitions/running_rspec.rb +48 -0
  15. data/features/support/env.rb +25 -0
  16. data/{stories/resources → features/support}/helpers/cmdline.rb +0 -0
  17. data/{stories/resources → features/support}/helpers/story_helper.rb +0 -0
  18. data/{stories/resources → features/support}/matchers/smart_match.rb +0 -0
  19. data/{plugins → lib/adapters}/mock_frameworks/flexmock.rb +0 -0
  20. data/{plugins → lib/adapters}/mock_frameworks/mocha.rb +0 -0
  21. data/{plugins → lib/adapters}/mock_frameworks/rr.rb +0 -0
  22. data/{plugins → lib/adapters}/mock_frameworks/rspec.rb +1 -1
  23. data/lib/autotest/rspec.rb +3 -2
  24. data/lib/spec/dsl/main.rb +8 -4
  25. data/lib/spec/example/configuration.rb +1 -1
  26. data/lib/spec/example/example_group_factory.rb +6 -2
  27. data/lib/spec/example/example_group_methods.rb +47 -54
  28. data/lib/spec/example/shared_example_group.rb +2 -2
  29. data/lib/spec/example.rb +163 -14
  30. data/lib/spec/interop/test/unit/testresult.rb +1 -1
  31. data/lib/spec/interop/test/unit/testsuite_adapter.rb +1 -1
  32. data/lib/spec/matchers/match_array.rb +75 -0
  33. data/lib/spec/matchers/operator_matcher.rb +34 -7
  34. data/lib/spec/matchers.rb +2 -1
  35. data/lib/spec/mocks/argument_constraints.rb +43 -5
  36. data/lib/spec/runner/example_group_runner.rb +2 -2
  37. data/lib/spec/runner/option_parser.rb +12 -6
  38. data/lib/spec/runner/options.rb +9 -9
  39. data/lib/spec/runner/spec_parser.rb +3 -2
  40. data/lib/spec/runner.rb +54 -188
  41. data/lib/spec/version.rb +1 -1
  42. data/lib/spec.rb +0 -29
  43. data/{rake_tasks → resources/rake}/examples.rake +0 -0
  44. data/{rake_tasks → resources/rake}/examples_with_rcov.rake +0 -0
  45. data/{rake_tasks → resources/rake}/failing_examples_with_html.rake +0 -0
  46. data/{rake_tasks → resources/rake}/verify_rcov.rake +0 -0
  47. data/{stories/resources → resources}/spec/before_blocks_example.rb +1 -1
  48. data/{stories/resources → resources}/spec/example_group_with_should_methods.rb +1 -1
  49. data/{stories/resources → resources}/spec/simple_spec.rb +1 -1
  50. data/resources/spec/spec_with_flexmock.rb +19 -0
  51. data/{stories/resources → resources}/test/spec_and_test_together.rb +1 -1
  52. data/{stories/resources → resources}/test/spec_including_test_but_not_unit.rb +1 -1
  53. data/{stories/resources → resources}/test/test_case_with_should_methods.rb +2 -2
  54. data/rspec.gemspec +5 -4
  55. data/spec/autotest/rspec_spec.rb +2 -1
  56. data/spec/spec/dsl/main_spec.rb +8 -5
  57. data/spec/spec/example/configuration_spec.rb +9 -9
  58. data/spec/spec/example/example_group_factory_spec.rb +22 -3
  59. data/spec/spec/example/example_group_methods_spec.rb +19 -15
  60. data/spec/spec/example/example_group_spec.rb +41 -41
  61. data/spec/spec/example/example_methods_spec.rb +5 -5
  62. data/spec/spec/example/helper_method_spec.rb +24 -0
  63. data/spec/spec/example/pending_module_spec.rb +2 -8
  64. data/spec/spec/example/shared_example_group_spec.rb +5 -5
  65. data/spec/spec/matchers/description_generation_spec.rb +5 -0
  66. data/spec/spec/matchers/handler_spec.rb +7 -7
  67. data/spec/spec/matchers/match_array_spec.rb +83 -0
  68. data/spec/spec/matchers/raise_error_spec.rb +18 -0
  69. data/spec/spec/mocks/hash_including_matcher_spec.rb +39 -2
  70. data/spec/spec/mocks/hash_not_including_matcher_spec.rb +67 -0
  71. data/spec/spec/mocks/mock_spec.rb +5 -6
  72. data/spec/spec/mocks/nil_expectation_warning_spec.rb +1 -1
  73. data/spec/spec/runner/formatter/base_text_formatter_spec.rb +22 -0
  74. data/spec/spec/runner/option_parser_spec.rb +4 -17
  75. data/spec/spec/runner/options_spec.rb +19 -5
  76. data/spec/spec/runner/resources/custom_example_group_runner.rb +14 -0
  77. data/spec/spec/runner/spec_parser_spec.rb +10 -0
  78. data/spec/spec/spec_spec.rb +21 -0
  79. metadata +39 -49
  80. data/lib/spec/adapters/ruby_engine/mri.rb +0 -8
  81. data/lib/spec/adapters/ruby_engine/rubinius.rb +0 -8
  82. data/lib/spec/adapters/ruby_engine.rb +0 -26
  83. data/lib/spec/adapters.rb +0 -1
  84. data/lib/spec/extensions/class.rb +0 -24
  85. data/lib/spec/extensions.rb +0 -1
  86. data/spec/spec/adapters/ruby_engine_spec.rb +0 -16
  87. data/stories/all.rb +0 -5
  88. data/stories/configuration/stories.rb +0 -7
  89. data/stories/example_groups/stories.rb +0 -7
  90. data/stories/helper.rb +0 -6
  91. data/stories/interop/stories.rb +0 -7
  92. data/stories/mock_framework_integration/stories.rb +0 -7
  93. data/stories/pending_stories/README +0 -3
  94. data/stories/resources/spec/spec_with_flexmock.rb +0 -18
  95. data/stories/resources/steps/running_rspec.rb +0 -50
  96. data/stories/resources/stories/failing_story.rb +0 -15
  97. data/stories/stories/multiline_steps.story +0 -23
  98. data/stories/stories/steps/multiline_steps.rb +0 -13
  99. data/stories/stories/stories.rb +0 -6
@@ -12,7 +12,7 @@ module Spec
12
12
  it "should delegate to Spec::Example::ExampleGroupFactory.create_example_group" do
13
13
  block = lambda {}
14
14
  Spec::Example::ExampleGroupFactory.should_receive(:create_example_group).with(
15
- "The ExampleGroup", &block
15
+ "The ExampleGroup", hash_including(:spec_path), &block
16
16
  )
17
17
  @main.__send__ method, "The ExampleGroup", &block
18
18
  end
@@ -23,8 +23,8 @@ module Spec
23
23
  describe "##{method}" do
24
24
  it "should create a shared ExampleGroup" do
25
25
  block = lambda {}
26
- Spec::Example::SharedExampleGroup.should_receive(:register).with(
27
- "shared group", &block
26
+ Spec::Example::ExampleGroupFactory.should_receive(:create_shared_example_group).with(
27
+ "shared group", hash_including(:spec_path), &block
28
28
  )
29
29
  @main.__send__ method, "shared group", &block
30
30
  end
@@ -43,8 +43,11 @@ module Spec
43
43
  end
44
44
 
45
45
  it "registers a shared ExampleGroup" do
46
- Spec::Example::SharedExampleGroup.should_receive(:register)
47
- group = @main.share_as group_name do end
46
+ block = lambda {}
47
+ Spec::Example::ExampleGroupFactory.should_receive(:create_shared_example_group).with(
48
+ group_name, hash_including(:spec_path), &block
49
+ )
50
+ @main.share_as group_name, &block
48
51
  end
49
52
 
50
53
  it "creates a constant that points to a Module" do
@@ -12,27 +12,27 @@ module Spec
12
12
  end
13
13
 
14
14
  it "should default mock framework to rspec" do
15
- @config.mock_framework.should =~ /\/plugins\/mock_frameworks\/rspec$/
15
+ @config.mock_framework.should =~ /\/adapters\/mock_frameworks\/rspec$/
16
16
  end
17
17
 
18
18
  it "should set rspec mocking explicitly" do
19
19
  @config.mock_with(:rspec)
20
- @config.mock_framework.should =~ /\/plugins\/mock_frameworks\/rspec$/
20
+ @config.mock_framework.should =~ /\/adapters\/mock_frameworks\/rspec$/
21
21
  end
22
22
 
23
23
  it "should set mocha" do
24
24
  @config.mock_with(:mocha)
25
- @config.mock_framework.should =~ /\/plugins\/mock_frameworks\/mocha$/
25
+ @config.mock_framework.should =~ /\/adapters\/mock_frameworks\/mocha$/
26
26
  end
27
27
 
28
28
  it "should set flexmock" do
29
29
  @config.mock_with(:flexmock)
30
- @config.mock_framework.should =~ /\/plugins\/mock_frameworks\/flexmock$/
30
+ @config.mock_framework.should =~ /\/adapters\/mock_frameworks\/flexmock$/
31
31
  end
32
32
 
33
33
  it "should set rr" do
34
34
  @config.mock_with(:rr)
35
- @config.mock_framework.should =~ /\/plugins\/mock_frameworks\/rr$/
35
+ @config.mock_framework.should =~ /\/adapters\/mock_frameworks\/rr$/
36
36
  end
37
37
 
38
38
  it "should set an arbitrary adapter module" do
@@ -150,7 +150,7 @@ module Spec
150
150
  @example_group.it "calls prepend_before" do
151
151
  end
152
152
 
153
- @example_group.run
153
+ @example_group.run(Spec::Runner.options)
154
154
  order.should == [
155
155
  :prepend__before_all,
156
156
  :special_prepend__before_all,
@@ -193,7 +193,7 @@ module Spec
193
193
  @example_group.it "calls append_before" do
194
194
  end
195
195
 
196
- @example_group.run
196
+ @example_group.run(Spec::Runner.options)
197
197
  order.should == [
198
198
  :append_before_all,
199
199
  :special_append_before_all,
@@ -236,7 +236,7 @@ module Spec
236
236
  @example_group.it "calls prepend_after" do
237
237
  end
238
238
 
239
- @example_group.run
239
+ @example_group.run(Spec::Runner.options)
240
240
  order.should == [
241
241
  :special_child_prepend__after_each,
242
242
  :special_prepend__after_each,
@@ -279,7 +279,7 @@ module Spec
279
279
  @example_group.it "calls append_after" do
280
280
  end
281
281
 
282
- @example_group.run
282
+ @example_group.run(Spec::Runner.options)
283
283
  order.should == [
284
284
  :special_child_append__after_each,
285
285
  :special_append__after_each,
@@ -73,7 +73,7 @@ module Spec
73
73
  end
74
74
 
75
75
  it "should not run unregistered ExampleGroups" do
76
- example_group = Spec::Example::ExampleGroupFactory.create_example_group "The ExampleGroup" do unregister; end
76
+ example_group = Spec::Example::ExampleGroupFactory.create_example_group "The ExampleGroup" do Spec::Runner.options.remove_example_group self; end
77
77
  Spec::Runner.options.example_groups.should_not include(example_group)
78
78
  end
79
79
 
@@ -112,6 +112,12 @@ module Spec
112
112
  ) {}
113
113
  custom_example_group.superclass.should == parent_example_group
114
114
  end
115
+
116
+ it "sets the spec_path from the caller" do
117
+ options = {}
118
+ shared_example_group = Spec::Example::ExampleGroupFactory.create_example_group("foo", options) {}
119
+ options[:spec_path].should =~ /#{__FILE__}:#{__LINE__ - 1}/
120
+ end
115
121
 
116
122
  describe "with :shared => true" do
117
123
  def shared_example_group
@@ -142,17 +148,30 @@ module Spec
142
148
 
143
149
  it "should enable unregistering of ExampleGroups" do
144
150
  example_group = Spec::Example::ExampleGroupFactory.create_example_group("The ExampleGroup") do
145
- unregister
151
+ Spec::Runner.options.remove_example_group self
146
152
  end
147
153
  Spec::Runner.options.example_groups.should_not include(example_group)
148
154
  end
149
155
 
150
-
151
156
  after(:each) do
152
157
  Spec::Example::ExampleGroupFactory.reset
153
158
  end
154
159
  end
155
160
 
161
+ describe "#create_shared_example_group" do
162
+ it "registers a new shared example group" do
163
+ shared_example_group = Spec::Example::ExampleGroupFactory.create_shared_example_group("something shared") {}
164
+ shared_example_group.should be_an_instance_of(Spec::Example::SharedExampleGroup)
165
+ SharedExampleGroup.should include(shared_example_group)
166
+ end
167
+
168
+ it "sets the spec_path from the caller" do
169
+ options = {}
170
+ shared_example_group = Spec::Example::ExampleGroupFactory.create_shared_example_group("foo", options) {}
171
+ options[:spec_path].should =~ /#{__FILE__}:#{__LINE__ - 1}/
172
+ end
173
+ end
174
+
156
175
  describe "#registered_or_ancestor_of_registered?" do
157
176
  before(:each) do
158
177
  @unregistered_parent = Class.new(ExampleGroup)
@@ -42,6 +42,10 @@ module Spec
42
42
  it "should not inherit examples" do
43
43
  @child_example_group.should have(1).examples
44
44
  end
45
+
46
+ it "records the spec path" do
47
+ @child_example_group.spec_path.should =~ /#{__FILE__}:#{__LINE__ - 15}/
48
+ end
45
49
  end
46
50
 
47
51
  describe "when creating a SharedExampleGroup" do
@@ -120,7 +124,7 @@ module Spec
120
124
  end
121
125
  end
122
126
  example_group.examples.length.should == 1
123
- example_group.run.should be_true
127
+ example_group.run(options).should be_true
124
128
  end
125
129
 
126
130
  it "should include methods that begin with should and has an arity of 0 in suite" do
@@ -145,7 +149,7 @@ module Spec
145
149
  end
146
150
  end
147
151
  example_group.should have(4).examples
148
- descriptions = example_group.examples.collect {|example| example.description}
152
+ descriptions = example_group.examples.collect {|example| example.description.to_s}
149
153
  descriptions.should include(
150
154
  "shouldCamelCase",
151
155
  "should_any_args",
@@ -185,7 +189,7 @@ module Spec
185
189
  end
186
190
  end
187
191
  example_group.should have(1).examples
188
- example_group.run.should be_true
192
+ example_group.run(options).should be_true
189
193
  end
190
194
 
191
195
  it "should run should_methods" do
@@ -195,7 +199,7 @@ module Spec
195
199
  end
196
200
  end
197
201
  example_group.should have(1).examples
198
- example_group.run.should be_false
202
+ example_group.run(options).should be_false
199
203
  end
200
204
  end
201
205
 
@@ -412,12 +416,12 @@ module Spec
412
416
  after(:each, &proc)
413
417
  end
414
418
 
415
- example_group.run
419
+ example_group.run(options)
416
420
  after_all_ran.should be_true
417
421
 
418
422
  after_all_ran = false
419
423
  example_group.remove_after(:each, &proc)
420
- example_group.run
424
+ example_group.run(options)
421
425
  after_all_ran.should be_false
422
426
  end
423
427
  end
@@ -465,7 +469,7 @@ module Spec
465
469
  FOO.should == 1
466
470
  end
467
471
  end
468
- success = example_group.run
472
+ success = example_group.run(options)
469
473
  success.should be_true
470
474
  Object.const_defined?(:FOO).should == false
471
475
  end
@@ -473,20 +477,20 @@ module Spec
473
477
 
474
478
  describe '#register' do
475
479
  after(:each) do
476
- example_group.unregister
480
+ Spec::Runner.options.remove_example_group example_group
477
481
  end
478
482
  it "should add ExampleGroup to set of ExampleGroups to be run" do
479
- example_group.register
483
+ Spec::Runner.options.add_example_group example_group
480
484
  options.example_groups.should include(example_group)
481
485
  end
482
486
  end
483
487
 
484
488
  describe '#unregister' do
485
489
  before(:each) do
486
- example_group.register
490
+ Spec::Runner.options.add_example_group example_group
487
491
  end
488
492
  it "should remove ExampleGroup from set of ExampleGroups to be run" do
489
- example_group.unregister
493
+ Spec::Runner.options.remove_example_group example_group
490
494
  options.example_groups.should_not include(example_group)
491
495
  end
492
496
  end
@@ -498,7 +502,7 @@ module Spec
498
502
  example("anything") {}
499
503
  end
500
504
  reporter.should_receive(:add_example_group)
501
- example_group.run
505
+ example_group.run(options)
502
506
  end
503
507
  end
504
508
 
@@ -506,7 +510,7 @@ module Spec
506
510
  it "should NOT call add_example_group" do
507
511
  example_group = Class.new(ExampleGroup) do end
508
512
  reporter.should_not_receive(:add_example_group)
509
- example_group.run
513
+ example_group.run(options)
510
514
  end
511
515
  end
512
516
  end
@@ -527,12 +531,12 @@ module Spec
527
531
  matcher.should_receive(:matches?).with(["something"]).any_number_of_times
528
532
 
529
533
  matcher_class = Class.new
530
- matcher_class.should_receive(:new).with("TestMatcher", "should do something").twice.and_return(matcher)
534
+ matcher_class.should_receive(:new).with("TestMatcher", "should do something").and_return(matcher)
531
535
 
532
536
  begin
533
537
  ExampleGroupMethods.matcher_class = matcher_class
534
538
 
535
- example_group.run
539
+ example_group.run(options)
536
540
  ensure
537
541
  ExampleGroupMethods.matcher_class = ExampleMatcher
538
542
  end
@@ -60,7 +60,7 @@ module Spec
60
60
 
61
61
  describe ExampleGroup, "#run with failure in example", :shared => true do
62
62
  it "should add an example failure to the TestResult" do
63
- example_group.run.should be_false
63
+ example_group.run(options).should be_false
64
64
  end
65
65
  end
66
66
 
@@ -96,7 +96,7 @@ module Spec
96
96
 
97
97
  reporter = mock("Reporter")
98
98
  reporter.should_not_receive(:add_example_group)
99
- example_group.run
99
+ example_group.run(options)
100
100
  end
101
101
 
102
102
  describe "when before_each fails" do
@@ -114,12 +114,12 @@ module Spec
114
114
  end
115
115
 
116
116
  it "should not run example block" do
117
- example_group.run
117
+ example_group.run(options)
118
118
  $example_ran.should be_false
119
119
  end
120
120
 
121
121
  it "should run after_each" do
122
- example_group.run
122
+ example_group.run(options)
123
123
  $after_each_ran.should be_true
124
124
  end
125
125
 
@@ -127,7 +127,7 @@ module Spec
127
127
  reporter.should_receive(:example_finished) do |example_group, error|
128
128
  error.message.should eql("in before_each")
129
129
  end
130
- example_group.run
130
+ example_group.run(options)
131
131
  end
132
132
  end
133
133
 
@@ -142,7 +142,7 @@ module Spec
142
142
  ExampleGroup.before(:all) { before_all_ran = true }
143
143
  ExampleGroup.after(:all) { after_all_ran = true }
144
144
  example_group.it("should") {}
145
- example_group.run
145
+ example_group.run(options)
146
146
  before_all_ran.should be_false
147
147
  after_all_ran.should be_false
148
148
  end
@@ -150,7 +150,7 @@ module Spec
150
150
  it "should not run example" do
151
151
  example_ran = false
152
152
  example_group.it("should") {example_ran = true}
153
- example_group.run
153
+ example_group.run(options)
154
154
  example_ran.should be_false
155
155
  end
156
156
  end
@@ -174,11 +174,11 @@ module Spec
174
174
  examples_that_were_run << 'should also be run'
175
175
  end
176
176
  end
177
- options.examples = ["the ExampleGroup"]
177
+ options.parse_example "the ExampleGroup"
178
178
  end
179
179
 
180
180
  it "should not run the Examples in the ExampleGroup" do
181
- example_group.run
181
+ example_group.run(options)
182
182
  examples_that_were_run.should == ['should be run', 'should also be run']
183
183
  end
184
184
  end
@@ -192,11 +192,11 @@ module Spec
192
192
  examples_that_were_run << 'should be run'
193
193
  end
194
194
  end
195
- options.examples = ["should be run"]
195
+ options.parse_example "should be run"
196
196
  end
197
197
 
198
198
  it "should not run the example" do
199
- example_group.run
199
+ example_group.run(options)
200
200
  examples_that_were_run.should == ['should be run']
201
201
  end
202
202
  end
@@ -210,11 +210,11 @@ module Spec
210
210
  examples_that_were_run << 'should be something else'
211
211
  end
212
212
  end
213
- options.examples = ["does not match anything"]
213
+ options.parse_example "does not match anything"
214
214
  end
215
215
 
216
216
  it "should not run the example" do
217
- example_group.run
217
+ example_group.run(options)
218
218
  examples_that_were_run.should == []
219
219
  end
220
220
  end
@@ -231,16 +231,16 @@ module Spec
231
231
  examples_that_were_run << 'should not be run'
232
232
  end
233
233
  end
234
- options.examples = ["should be run"]
234
+ options.parse_example "should be run"
235
235
  end
236
236
 
237
237
  it "should run only the example, when there is only one" do
238
- example_group.run
238
+ example_group.run(options)
239
239
  examples_that_were_run.should == ["should be run"]
240
240
  end
241
241
 
242
242
  it "should run only the one example" do
243
- example_group.run
243
+ example_group.run(options)
244
244
  examples_that_were_run.should == ["should be run"] end
245
245
  end
246
246
  end
@@ -258,14 +258,14 @@ module Spec
258
258
  end
259
259
 
260
260
  it "should send reporter add_example_group" do
261
- example_group.run
261
+ example_group.run(options)
262
262
  reporter.example_groups.should == [example_group]
263
263
  end
264
264
 
265
265
  it "should run example on run" do
266
266
  example_ran = false
267
267
  example_group.it("should") {example_ran = true}
268
- example_group.run
268
+ example_group.run(options)
269
269
  example_ran.should be_true
270
270
  end
271
271
 
@@ -274,7 +274,7 @@ module Spec
274
274
  example_group.before(:all) {before_all_run_count_run_count += 1}
275
275
  example_group.it("test") {true}
276
276
  example_group.it("test2") {true}
277
- example_group.run
277
+ example_group.run(options)
278
278
  before_all_run_count_run_count.should == 1
279
279
  end
280
280
 
@@ -283,7 +283,7 @@ module Spec
283
283
  example_group.after(:all) {after_all_run_count += 1}
284
284
  example_group.it("test") {true}
285
285
  example_group.it("test2") {true}
286
- example_group.run
286
+ example_group.run(options)
287
287
  after_all_run_count.should == 1
288
288
  @reporter.rspec_verify
289
289
  end
@@ -294,7 +294,7 @@ module Spec
294
294
  example_group.before(:all) { @instance_var = context_instance_value_in }
295
295
  example_group.after(:all) { context_instance_value_out = @instance_var }
296
296
  example_group.it("test") {true}
297
- example_group.run
297
+ example_group.run(options)
298
298
  context_instance_value_in.should == context_instance_value_out
299
299
  end
300
300
 
@@ -303,7 +303,7 @@ module Spec
303
303
  context_instance_value_out = ""
304
304
  example_group.before(:all) { @instance_var = context_instance_value_in }
305
305
  example_group.it("test") {context_instance_value_out = @instance_var}
306
- example_group.run
306
+ example_group.run(options)
307
307
  context_instance_value_in.should == context_instance_value_out
308
308
  end
309
309
 
@@ -321,7 +321,7 @@ module Spec
321
321
  describe("I'm not special", :type => :not_special)
322
322
  it "does nothing"
323
323
  end
324
- example_group.run
324
+ example_group.run(options)
325
325
  fiddle.should == [
326
326
  'Example.prepend_before(:all)',
327
327
  'Example.before(:all)',
@@ -341,7 +341,7 @@ module Spec
341
341
 
342
342
  example_group = Class.new(@special_example_group).describe("I'm a special example_group") {}
343
343
  example_group.it("test") {true}
344
- example_group.run
344
+ example_group.run(options)
345
345
  fiddle.should == [
346
346
  'Example.prepend_before(:all)',
347
347
  'Example.before(:all)',
@@ -361,7 +361,7 @@ module Spec
361
361
  example_group.before(:all) { fiddle << "before(:all)" }
362
362
  example_group.prepend_before(:each) { fiddle << "prepend_before(:each)" }
363
363
  example_group.before(:each) { fiddle << "before(:each)" }
364
- example_group.run
364
+ example_group.run(options)
365
365
  fiddle.should == [
366
366
  'Example.prepend_before(:all)',
367
367
  'Example.before(:all)',
@@ -380,7 +380,7 @@ module Spec
380
380
  example_group.append_after(:all) { fiddle << "append_after(:all)" }
381
381
  ExampleGroup.after(:all) { fiddle << "Example.after(:all)" }
382
382
  ExampleGroup.append_after(:all) { fiddle << "Example.append_after(:all)" }
383
- example_group.run
383
+ example_group.run(options)
384
384
  fiddle.should == [
385
385
  'after(:each)',
386
386
  'append_after(:each)',
@@ -412,7 +412,7 @@ module Spec
412
412
  mod1_method
413
413
  mod2_method
414
414
  end
415
- example_group.run
415
+ example_group.run(options)
416
416
  mod1_method_called.should be_true
417
417
  mod2_method_called.should be_true
418
418
  end
@@ -427,7 +427,7 @@ module Spec
427
427
  example_group = Class.new(@special_example_group).describe("I'm special", :type => :special) do
428
428
  it "does nothing"
429
429
  end
430
- example_group.run
430
+ example_group.run(options)
431
431
 
432
432
  example_group.included_modules.should include(mod1)
433
433
  example_group.included_modules.should include(mod2)
@@ -443,7 +443,7 @@ module Spec
443
443
  $included_predicate_matcher_found = respond_to?(:do_something)
444
444
  end
445
445
  end
446
- example_group.run
446
+ example_group.run(options)
447
447
  $included_predicate_matcher_found.should be(true)
448
448
  end
449
449
 
@@ -467,7 +467,7 @@ module Spec
467
467
  describe('example')
468
468
  it "does nothing"
469
469
  end
470
- example_group.run
470
+ example_group.run(options)
471
471
 
472
472
  $included_module.should_not be_nil
473
473
  $torn_down.should == true
@@ -486,7 +486,7 @@ module Spec
486
486
 
487
487
  it "should send example_pending to formatter" do
488
488
  @formatter.should_receive(:example_pending).with("example", "should be pending", "Example fails")
489
- example_group.run
489
+ example_group.run(options)
490
490
  end
491
491
  end
492
492
 
@@ -501,7 +501,7 @@ module Spec
501
501
 
502
502
  it "should send example_pending to formatter" do
503
503
  @formatter.should_receive(:example_pending).with("example", "should be pending", "Example passes")
504
- example_group.run
504
+ example_group.run(options)
505
505
  end
506
506
  end
507
507
 
@@ -515,21 +515,21 @@ module Spec
515
515
  it "should not run any example" do
516
516
  spec_ran = false
517
517
  example_group.it("test") {spec_ran = true}
518
- example_group.run
518
+ example_group.run(options)
519
519
  spec_ran.should be_false
520
520
  end
521
521
 
522
522
  it "should run ExampleGroup after(:all)" do
523
523
  after_all_ran = false
524
524
  ExampleGroup.after(:all) { after_all_ran = true }
525
- example_group.run
525
+ example_group.run(options)
526
526
  after_all_ran.should be_true
527
527
  end
528
528
 
529
529
  it "should run example_group after(:all)" do
530
530
  after_all_ran = false
531
531
  example_group.after(:all) { after_all_ran = true }
532
- example_group.run
532
+ example_group.run(options)
533
533
  after_all_ran.should be_true
534
534
  end
535
535
 
@@ -540,7 +540,7 @@ module Spec
540
540
  end
541
541
 
542
542
  example_group.it("test") {true}
543
- example_group.run
543
+ example_group.run(options)
544
544
  end
545
545
  end
546
546
 
@@ -554,7 +554,7 @@ module Spec
554
554
  it "should run after(:all)" do
555
555
  after_all_ran = false
556
556
  ExampleGroup.after(:all) { after_all_ran = true }
557
- example_group.run
557
+ example_group.run(options)
558
558
  after_all_ran.should be_true
559
559
  end
560
560
  end
@@ -569,7 +569,7 @@ module Spec
569
569
  it "should run after(:all)" do
570
570
  after_all_ran = false
571
571
  ExampleGroup.after(:all) { after_all_ran = true }
572
- example_group.run
572
+ example_group.run(options)
573
573
  after_all_ran.should be_true
574
574
  end
575
575
  end
@@ -598,7 +598,7 @@ module Spec
598
598
  example.should equal(example)
599
599
  error.message.should eql("first")
600
600
  end
601
- example_group.run
601
+ example_group.run(options)
602
602
  example_group.first_after_ran.should be_true
603
603
  example_group.second_after_ran.should be_true
604
604
  end
@@ -627,7 +627,7 @@ module Spec
627
627
  reporter.should_receive(:example_finished) do |name, error|
628
628
  error.message.should eql("first")
629
629
  end
630
- example_group.run
630
+ example_group.run(options)
631
631
  example_group.first_before_ran.should be_true
632
632
  example_group.second_before_ran.should be_false
633
633
  end
@@ -641,7 +641,7 @@ module Spec
641
641
  end
642
642
 
643
643
  it "should return false" do
644
- example_group.run.should be_false
644
+ example_group.run(options).should be_false
645
645
  end
646
646
  end
647
647
  end
@@ -212,7 +212,7 @@ module Spec
212
212
  example { should == @foo}
213
213
  it { should == 'foo'}
214
214
  end
215
- example_group.run.should be_true
215
+ example_group.run(options).should be_true
216
216
  end
217
217
  end
218
218
  end
@@ -234,7 +234,7 @@ module Spec
234
234
  it { should eql('expected') }
235
235
  end
236
236
  @example = example_group.examples.first
237
- @success = example_group.run
237
+ @success = example_group.run(options)
238
238
  end
239
239
 
240
240
  it "should create an example using the description from the matcher" do
@@ -253,7 +253,7 @@ module Spec
253
253
  it { should eql('this is the subject') }
254
254
  end
255
255
  example = example_group.examples.first
256
- example_group.run
256
+ example_group.run(options)
257
257
  example.description.should =~ /should eql "this is the subject"/
258
258
  end
259
259
  end
@@ -264,7 +264,7 @@ module Spec
264
264
  it { should == Thing.new }
265
265
  end
266
266
  example = example_group.examples.first
267
- success = example_group.run
267
+ success = example_group.run(options)
268
268
  example.description.should =~ /should == #<Spec::Example::Thing/
269
269
  success.should be_true
270
270
  end
@@ -290,7 +290,7 @@ module Spec
290
290
  end
291
291
  @example = @example_group.examples.first
292
292
 
293
- @success = example_group.run
293
+ @success = example_group.run(options)
294
294
  end
295
295
 
296
296
  it "should create an example using the description from the matcher" do
@@ -0,0 +1,24 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ # This was added to prove that http://rspec.lighthouseapp.com/projects/5645/tickets/211
4
+ # was fixed in ruby 1.9.1
5
+
6
+ module HelperMethodExample
7
+ describe "a helper method" do
8
+ def helper_method
9
+ "received call"
10
+ end
11
+
12
+ it "is available to examples in the same group" do
13
+ helper_method.should == "received call"
14
+ end
15
+
16
+ describe "from a nested group" do
17
+ it "is available to examples in a nested group" do
18
+ helper_method.should == "received call"
19
+ end
20
+ end
21
+
22
+ end
23
+ end
24
+