rspec-core 2.5.2 → 2.6.0.rc2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. data/.travis.yml +7 -0
  2. data/Gemfile +10 -13
  3. data/README.md +4 -1
  4. data/Rakefile +29 -12
  5. data/cucumber.yml +1 -1
  6. data/features/.nav +10 -4
  7. data/features/Autotest.md +31 -7
  8. data/features/Changelog.md +36 -6
  9. data/features/command_line/configure.feature +2 -2
  10. data/features/command_line/example_name_option.feature +10 -10
  11. data/features/command_line/exit_status.feature +4 -4
  12. data/features/command_line/format_option.feature +4 -4
  13. data/features/command_line/line_number_appended_to_path.feature +11 -11
  14. data/features/command_line/line_number_option.feature +2 -2
  15. data/features/command_line/rake_task.feature +3 -3
  16. data/features/command_line/tag.feature +26 -10
  17. data/features/configuration/alias_example_to.feature +48 -0
  18. data/features/configuration/custom_settings.feature +3 -3
  19. data/features/configuration/fail_fast.feature +3 -3
  20. data/features/configuration/read_options_from_file.feature +4 -4
  21. data/features/example_groups/basic_structure.feature +11 -15
  22. data/features/example_groups/shared_context.feature +74 -0
  23. data/features/example_groups/shared_example_group.feature +21 -17
  24. data/features/expectation_framework_integration/configure_expectation_framework.feature +15 -4
  25. data/features/filtering/exclusion_filters.feature +28 -4
  26. data/features/filtering/{implicit_filters.feature → if_and_unless.feature} +9 -7
  27. data/features/filtering/inclusion_filters.feature +26 -3
  28. data/features/filtering/run_all_when_everything_filtered.feature +1 -1
  29. data/features/formatters/custom_formatter.feature +1 -1
  30. data/features/formatters/text_formatter.feature +45 -0
  31. data/features/helper_methods/arbitrary_methods.feature +2 -2
  32. data/features/helper_methods/let.feature +2 -2
  33. data/features/helper_methods/modules.feature +149 -0
  34. data/features/hooks/around_hooks.feature +11 -11
  35. data/features/hooks/before_and_after_hooks.feature +15 -19
  36. data/features/hooks/filtering.feature +160 -124
  37. data/features/metadata/current_example.feature +17 -0
  38. data/features/metadata/described_class.feature +2 -2
  39. data/features/metadata/user_defined.feature +111 -0
  40. data/features/mock_framework_integration/use_any_framework.feature +1 -1
  41. data/features/mock_framework_integration/use_flexmock.feature +83 -10
  42. data/features/mock_framework_integration/use_mocha.feature +84 -10
  43. data/features/mock_framework_integration/use_rr.feature +85 -10
  44. data/features/mock_framework_integration/use_rspec.feature +84 -10
  45. data/features/pending/pending_examples.feature +8 -8
  46. data/features/spec_files/arbitrary_file_suffix.feature +1 -1
  47. data/features/step_definitions/additional_cli_steps.rb +11 -1
  48. data/features/subject/attribute_of_subject.feature +24 -4
  49. data/features/subject/explicit_subject.feature +5 -5
  50. data/features/subject/implicit_receiver.feature +2 -2
  51. data/features/subject/implicit_subject.feature +2 -2
  52. data/features/support/env.rb +6 -1
  53. data/lib/rspec/core.rb +22 -0
  54. data/lib/rspec/core/backward_compatibility.rb +12 -2
  55. data/lib/rspec/core/command_line.rb +1 -4
  56. data/lib/rspec/core/configuration.rb +25 -17
  57. data/lib/rspec/core/configuration_options.rb +6 -23
  58. data/lib/rspec/core/drb_command_line.rb +5 -11
  59. data/lib/rspec/core/example.rb +29 -21
  60. data/lib/rspec/core/example_group.rb +36 -4
  61. data/lib/rspec/core/formatters/base_formatter.rb +6 -0
  62. data/lib/rspec/core/formatters/base_text_formatter.rb +1 -1
  63. data/lib/rspec/core/formatters/helpers.rb +0 -4
  64. data/lib/rspec/core/hooks.rb +14 -4
  65. data/lib/rspec/core/metadata.rb +1 -1
  66. data/lib/rspec/core/metadata_hash_builder.rb +93 -0
  67. data/lib/rspec/core/mocking/with_flexmock.rb +2 -0
  68. data/lib/rspec/core/mocking/with_mocha.rb +2 -0
  69. data/lib/rspec/core/mocking/with_rr.rb +2 -0
  70. data/lib/rspec/core/mocking/with_rspec.rb +3 -1
  71. data/lib/rspec/core/option_parser.rb +5 -2
  72. data/lib/rspec/core/pending.rb +10 -3
  73. data/lib/rspec/core/reporter.rb +2 -2
  74. data/lib/rspec/core/runner.rb +7 -1
  75. data/lib/rspec/core/shared_example_group.rb +18 -4
  76. data/lib/rspec/core/subject.rb +4 -6
  77. data/lib/rspec/core/version.rb +1 -1
  78. data/lib/rspec/core/world.rb +16 -4
  79. data/rspec-core.gemspec +4 -3
  80. data/spec.txt +1126 -0
  81. data/spec/autotest/failed_results_re_spec.rb +2 -2
  82. data/spec/rspec/core/command_line_spec.rb +0 -2
  83. data/spec/rspec/core/configuration_spec.rb +84 -1
  84. data/spec/rspec/core/deprecations_spec.rb +21 -0
  85. data/spec/rspec/core/drb_command_line_spec.rb +3 -11
  86. data/spec/rspec/core/example_group_spec.rb +213 -56
  87. data/spec/rspec/core/example_spec.rb +110 -0
  88. data/spec/rspec/core/formatters/base_formatter_spec.rb +23 -2
  89. data/spec/rspec/core/formatters/base_text_formatter_spec.rb +9 -0
  90. data/spec/rspec/core/formatters/helpers_spec.rb +1 -1
  91. data/spec/rspec/core/formatters/html_formatted-1.8.6.html +5 -5
  92. data/spec/rspec/core/formatters/html_formatted-1.8.7-jruby.html +8 -10
  93. data/spec/rspec/core/formatters/html_formatted-1.8.7.html +5 -5
  94. data/spec/rspec/core/formatters/html_formatted-1.9.1.html +5 -5
  95. data/spec/rspec/core/formatters/html_formatted-1.9.2.html +5 -5
  96. data/spec/rspec/core/formatters/progress_formatter_spec.rb +0 -1
  97. data/spec/rspec/core/formatters/text_mate_formatted-1.8.6.html +5 -5
  98. data/spec/rspec/core/formatters/text_mate_formatted-1.8.7-jruby.html +8 -10
  99. data/spec/rspec/core/formatters/text_mate_formatted-1.8.7.html +5 -5
  100. data/spec/rspec/core/formatters/text_mate_formatted-1.9.1.html +5 -5
  101. data/spec/rspec/core/formatters/text_mate_formatted-1.9.2.html +5 -5
  102. data/spec/rspec/core/hooks_spec.rb +86 -0
  103. data/spec/rspec/core/metadata_spec.rb +7 -7
  104. data/spec/rspec/core/option_parser_spec.rb +8 -0
  105. data/spec/rspec/core/pending_example_spec.rb +12 -51
  106. data/spec/rspec/core/reporter_spec.rb +19 -3
  107. data/spec/rspec/core/resources/formatter_specs.rb +7 -1
  108. data/spec/rspec/core/rspec_matchers_spec.rb +45 -0
  109. data/spec/rspec/core/runner_spec.rb +35 -10
  110. data/spec/rspec/core/shared_example_group_spec.rb +57 -21
  111. data/spec/rspec/core/subject_spec.rb +32 -11
  112. data/spec/rspec/core/world_spec.rb +38 -15
  113. data/spec/rspec/core_spec.rb +28 -0
  114. data/spec/spec_helper.rb +22 -2
  115. data/spec/support/matchers.rb +44 -13
  116. data/spec/support/shared_example_groups.rb +41 -0
  117. metadata +39 -16
@@ -138,7 +138,15 @@ module RSpec::Core
138
138
  let(:group) do
139
139
  RSpec::Core::ExampleGroup.describe("group") do
140
140
 
141
- example("example") {}
141
+ example("example") {}
142
+
143
+ end
144
+ end
145
+
146
+ let(:second_group) do
147
+ RSpec::Core::ExampleGroup.describe("second_group") do
148
+
149
+ example("second_example") {}
142
150
 
143
151
  end
144
152
  end
@@ -146,26 +154,41 @@ module RSpec::Core
146
154
  let(:group_declaration_line) { group.metadata[:example_group][:line_number] }
147
155
  let(:example_declaration_line) { group_declaration_line + 2 }
148
156
 
149
- before { world.register(group) }
157
+ context "with one example" do
158
+ before { world.register(group) }
150
159
 
151
- it "returns nil if no example or group precedes the line" do
152
- world.preceding_declaration_line(group_declaration_line - 1).should be_nil
153
- end
160
+ it "returns nil if no example or group precedes the line" do
161
+ world.preceding_declaration_line(group_declaration_line - 1).should be_nil
162
+ end
154
163
 
155
- it "returns the argument line number if a group starts on that line" do
156
- world.preceding_declaration_line(group_declaration_line).should eq(group_declaration_line)
157
- end
164
+ it "returns the argument line number if a group starts on that line" do
165
+ world.preceding_declaration_line(group_declaration_line).should eq(group_declaration_line)
166
+ end
158
167
 
159
- it "returns the argument line number if an example starts on that line" do
160
- world.preceding_declaration_line(example_declaration_line).should eq(example_declaration_line)
161
- end
168
+ it "returns the argument line number if an example starts on that line" do
169
+ world.preceding_declaration_line(example_declaration_line).should eq(example_declaration_line)
170
+ end
162
171
 
163
- it "returns line number of a group that immediately precedes the argument line" do
164
- world.preceding_declaration_line(group_declaration_line + 1).should eq(group_declaration_line)
172
+ it "returns line number of a group that immediately precedes the argument line" do
173
+ world.preceding_declaration_line(group_declaration_line + 1).should eq(group_declaration_line)
174
+ end
175
+
176
+ it "returns line number of an example that immediately precedes the argument line" do
177
+ world.preceding_declaration_line(example_declaration_line + 1).should eq(example_declaration_line)
178
+ end
165
179
  end
166
180
 
167
- it "returns line number of an example that immediately precedes the argument line" do
168
- world.preceding_declaration_line(example_declaration_line + 1).should eq(example_declaration_line)
181
+ context "with two exaples and the second example is registre first" do
182
+ let(:second_group_declaration_line) { second_group.metadata[:example_group][:line_number] }
183
+
184
+ before do
185
+ world.register(second_group)
186
+ world.register(group)
187
+ end
188
+
189
+ it 'return line number of group if a group start on that line' do
190
+ world.preceding_declaration_line(second_group_declaration_line).should eq(second_group_declaration_line)
191
+ end
169
192
  end
170
193
  end
171
194
 
@@ -11,6 +11,13 @@ describe RSpec::Core do
11
11
  end
12
12
 
13
13
  describe "#configure" do
14
+ around(:each) do |example|
15
+ RSpec.allowing_configure_warning(&example)
16
+ end
17
+
18
+ before(:each) do
19
+ RSpec.stub(:warn)
20
+ end
14
21
 
15
22
  it "yields the current configuration" do
16
23
  RSpec.configure do |config|
@@ -18,6 +25,27 @@ describe RSpec::Core do
18
25
  end
19
26
  end
20
27
 
28
+ context "when an example group has already been defined" do
29
+ before(:each) do
30
+ RSpec.world.stub(:example_groups).and_return([double.as_null_object])
31
+ end
32
+
33
+ it "prints a deprecation warning" do
34
+ RSpec.should_receive(:warn).with(/configuration should happen before the first example group/)
35
+ RSpec.configure { |c| }
36
+ end
37
+ end
38
+
39
+ context "when no examples have been defined yet" do
40
+ before(:each) do
41
+ RSpec.world.stub(:example_groups).and_return([])
42
+ end
43
+
44
+ it "does not print a deprecation warning" do
45
+ RSpec.should_not_receive(:warn)
46
+ RSpec.configure { |c| }
47
+ end
48
+ end
21
49
  end
22
50
 
23
51
  describe "#world" do
@@ -15,7 +15,6 @@ def sandboxed(&block)
15
15
  @orig_config = RSpec.configuration
16
16
  @orig_world = RSpec.world
17
17
  new_config = RSpec::Core::Configuration.new
18
- new_config.include(RSpec::Matchers)
19
18
  new_world = RSpec::Core::World.new(new_config)
20
19
  RSpec.instance_variable_set(:@configuration, new_config)
21
20
  RSpec.instance_variable_set(:@world, new_world)
@@ -51,6 +50,27 @@ def in_editor?
51
50
  ENV.has_key?('TM_MODE') || ENV.has_key?('EMACS') || ENV.has_key?('VIM')
52
51
  end
53
52
 
53
+ class << RSpec
54
+ alias_method :original_warn_about_deprecated_configure, :warn_about_deprecated_configure
55
+
56
+ def warn_about_deprecated_configure
57
+ # no-op: in our specs we don't want to see the warning.
58
+ end
59
+
60
+ alias_method :null_warn_about_deprecated_configure, :warn_about_deprecated_configure
61
+
62
+ def allowing_configure_warning
63
+ (class << self; self; end).class_eval do
64
+ alias_method :warn_about_deprecated_configure, :original_warn_about_deprecated_configure
65
+ begin
66
+ yield
67
+ ensure
68
+ alias_method :warn_about_deprecated_configure, :null_warn_about_deprecated_configure
69
+ end
70
+ end
71
+ end
72
+ end
73
+
54
74
  RSpec.configure do |c|
55
75
  c.color_enabled = !in_editor?
56
76
  c.filter_run :focus => true
@@ -58,7 +78,7 @@ RSpec.configure do |c|
58
78
  c.filter_run_excluding :ruby => lambda {|version|
59
79
  case version.to_s
60
80
  when "!jruby"
61
- RUBY_ENGINE != "jruby"
81
+ RUBY_ENGINE == "jruby"
62
82
  when /^> (.*)/
63
83
  !(RUBY_VERSION.to_s > $1)
64
84
  else
@@ -20,25 +20,56 @@ RSpec::Matchers.define :map_specs do |specs|
20
20
  end
21
21
  end
22
22
 
23
- RSpec::Matchers.define :have_interface_for do |method|
24
- match do |object|
25
- @method = method
26
- @object = object
27
- object.respond_to?(method) && actual_arity == @expected_arity
23
+ RSpec::Matchers.define :be_pending_with do |message|
24
+ match do |example|
25
+ example.metadata[:pending] && example.metadata[:execution_result][:pending_message] == message
28
26
  end
29
27
 
30
- chain :with do |arity|
31
- @expected_arity = arity
28
+ failure_message_for_should do |example|
29
+ "expected example to pending with #{message.inspect}, got #{example.metadata[:execution_result][:pending_message].inspect}"
32
30
  end
31
+ end
33
32
 
34
- chain(:argument) {}
35
- chain(:arguments) {}
33
+ RSpec::Matchers.define :fail_with do |exception_klass|
34
+ match do |example|
35
+ failure_reason(example, exception_klass).nil?
36
+ end
36
37
 
37
- failure_message_for_should do
38
- "#{@object} should have method :#{@method} with #{@expected_arity} argument(s), but it had #{actual_arity}"
38
+ failure_message_for_should do |example|
39
+ "expected example to fail with a #{exception_klass} exception, but #{failure_reason(example, exception_klass)}"
40
+ end
41
+
42
+ def failure_reason(example, exception_klass)
43
+ result = example.metadata[:execution_result]
44
+ case
45
+ when example.metadata[:pending] then "was pending"
46
+ when result[:status] != 'failed' then result[:status]
47
+ when !result[:exception].is_a?(exception_klass) then "failed with a #{result[:exception].class}"
48
+ else nil
49
+ end
50
+ end
51
+ end
52
+
53
+ RSpec::Matchers.define :pass do
54
+ match do |example|
55
+ failure_reason(example).nil?
56
+ end
57
+
58
+ failure_message_for_should do |example|
59
+ "expected example to pass, but #{failure_reason(example)}"
39
60
  end
40
61
 
41
- def actual_arity
42
- @object.method(@method).arity
62
+ def failure_reason(example)
63
+ result = example.metadata[:execution_result]
64
+ case
65
+ when example.metadata[:pending] then "was pending"
66
+ when result[:status] != 'passed' then result[:status]
67
+ else nil
68
+ end
43
69
  end
44
70
  end
71
+
72
+ RSpec::Matchers.module_eval do
73
+ alias have_failed_with fail_with
74
+ alias have_passed pass
75
+ end
@@ -0,0 +1,41 @@
1
+ shared_examples_for "metadata hash builder" do
2
+ context "when RSpec.configuration.treat_symbols_as_metadata_keys_with_true_values is set to true" do
3
+ let(:hash) { metadata_hash(:foo, :bar, :bazz => 23) }
4
+
5
+ before(:each) do
6
+ RSpec.configure { |c| c.treat_symbols_as_metadata_keys_with_true_values = true }
7
+ end
8
+
9
+ it 'treats symbols as metadata keys with a true value' do
10
+ hash[:foo].should == true
11
+ hash[:bar].should == true
12
+ end
13
+
14
+ it 'still processes hash values normally' do
15
+ hash[:bazz].should == 23
16
+ end
17
+ end
18
+
19
+ context "when RSpec.configuration.treat_symbols_as_metadata_keys_with_true_values is set to false" do
20
+ let(:warning_receiver) { Kernel }
21
+
22
+ before(:each) do
23
+ RSpec.configure { |c| c.treat_symbols_as_metadata_keys_with_true_values = false }
24
+ warning_receiver.stub(:warn)
25
+ end
26
+
27
+ it 'prints a deprecation warning about any symbols given as arguments' do
28
+ warning_receiver.should_receive(:warn).with(/In RSpec 3, these symbols will be treated as metadata keys/)
29
+ metadata_hash(:foo, :bar, :key => 'value')
30
+ end
31
+
32
+ it 'does not treat symbols as metadata keys' do
33
+ metadata_hash(:foo, :bar, :key => 'value').should_not include(:foo, :bar)
34
+ end
35
+
36
+ it 'does not print a warning if there are no symbol arguments' do
37
+ warning_receiver.should_not_receive(:warn)
38
+ metadata_hash(:foo => 23, :bar => 17)
39
+ end
40
+ end
41
+ end
metadata CHANGED
@@ -1,13 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-core
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
5
- prerelease:
4
+ hash: 15424049
5
+ prerelease: 6
6
6
  segments:
7
7
  - 2
8
- - 5
8
+ - 6
9
+ - 0
10
+ - rc
9
11
  - 2
10
- version: 2.5.2
12
+ version: 2.6.0.rc2
11
13
  platform: ruby
12
14
  authors:
13
15
  - Chad Humphries
@@ -16,12 +18,12 @@ autorequire:
16
18
  bindir: bin
17
19
  cert_chain: []
18
20
 
19
- date: 2011-05-05 00:00:00 -05:00
21
+ date: 2011-04-18 00:00:00 -05:00
20
22
  default_executable:
21
23
  dependencies: []
22
24
 
23
- description: RSpec runner and example groups
24
- email: dchelimsky@gmail.com;chad.humphries@gmail.com
25
+ description: BDD for Ruby. RSpec runner and example groups.
26
+ email: rspec-users@rubyforge.org;
25
27
  executables:
26
28
  - autospec
27
29
  - rspec
@@ -33,6 +35,7 @@ files:
33
35
  - .document
34
36
  - .gitignore
35
37
  - .rspec
38
+ - .travis.yml
36
39
  - Gemfile
37
40
  - Guardfile
38
41
  - License.txt
@@ -55,23 +58,29 @@ files:
55
58
  - features/command_line/line_number_option.feature
56
59
  - features/command_line/rake_task.feature
57
60
  - features/command_line/tag.feature
61
+ - features/configuration/alias_example_to.feature
58
62
  - features/configuration/custom_settings.feature
59
63
  - features/configuration/fail_fast.feature
60
64
  - features/configuration/read_options_from_file.feature
61
65
  - features/example_groups/basic_structure.feature
66
+ - features/example_groups/shared_context.feature
62
67
  - features/example_groups/shared_example_group.feature
63
68
  - features/expectation_framework_integration/configure_expectation_framework.feature
64
69
  - features/filtering/exclusion_filters.feature
65
- - features/filtering/implicit_filters.feature
70
+ - features/filtering/if_and_unless.feature
66
71
  - features/filtering/inclusion_filters.feature
67
72
  - features/filtering/run_all_when_everything_filtered.feature
68
73
  - features/formatters/custom_formatter.feature
74
+ - features/formatters/text_formatter.feature
69
75
  - features/helper_methods/arbitrary_methods.feature
70
76
  - features/helper_methods/let.feature
77
+ - features/helper_methods/modules.feature
71
78
  - features/hooks/around_hooks.feature
72
79
  - features/hooks/before_and_after_hooks.feature
73
80
  - features/hooks/filtering.feature
81
+ - features/metadata/current_example.feature
74
82
  - features/metadata/described_class.feature
83
+ - features/metadata/user_defined.feature
75
84
  - features/mock_framework_integration/use_any_framework.feature
76
85
  - features/mock_framework_integration/use_flexmock.feature
77
86
  - features/mock_framework_integration/use_mocha.feature
@@ -118,6 +127,7 @@ files:
118
127
  - lib/rspec/core/let.rb
119
128
  - lib/rspec/core/load_path.rb
120
129
  - lib/rspec/core/metadata.rb
130
+ - lib/rspec/core/metadata_hash_builder.rb
121
131
  - lib/rspec/core/mocking/with_absolutely_nothing.rb
122
132
  - lib/rspec/core/mocking/with_flexmock.rb
123
133
  - lib/rspec/core/mocking/with_mocha.rb
@@ -142,6 +152,7 @@ files:
142
152
  - script/cucumber
143
153
  - script/full_build
144
154
  - script/spec
155
+ - spec.txt
145
156
  - spec/autotest/discover_spec.rb
146
157
  - spec/autotest/failed_results_re_spec.rb
147
158
  - spec/autotest/rspec_spec.rb
@@ -187,6 +198,7 @@ files:
187
198
  - spec/rspec/core/resources/custom_example_group_runner.rb
188
199
  - spec/rspec/core/resources/formatter_specs.rb
189
200
  - spec/rspec/core/resources/utf8_encoded.rb
201
+ - spec/rspec/core/rspec_matchers_spec.rb
190
202
  - spec/rspec/core/ruby_project_spec.rb
191
203
  - spec/rspec/core/runner_spec.rb
192
204
  - spec/rspec/core/shared_context_spec.rb
@@ -197,8 +209,9 @@ files:
197
209
  - spec/ruby_forker.rb
198
210
  - spec/spec_helper.rb
199
211
  - spec/support/matchers.rb
212
+ - spec/support/shared_example_groups.rb
200
213
  has_rdoc: true
201
- homepage: http://github.com/rspec/rspec-core
214
+ homepage: http://github.com/rspec
202
215
  licenses: []
203
216
 
204
217
  post_install_message:
@@ -218,19 +231,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
218
231
  required_rubygems_version: !ruby/object:Gem::Requirement
219
232
  none: false
220
233
  requirements:
221
- - - ">="
234
+ - - ">"
222
235
  - !ruby/object:Gem::Version
223
- hash: 3
236
+ hash: 25
224
237
  segments:
225
- - 0
226
- version: "0"
238
+ - 1
239
+ - 3
240
+ - 1
241
+ version: 1.3.1
227
242
  requirements: []
228
243
 
229
244
  rubyforge_project: rspec
230
- rubygems_version: 1.6.2
245
+ rubygems_version: 1.5.2
231
246
  signing_key:
232
247
  specification_version: 3
233
- summary: rspec-core-2.5.2
248
+ summary: rspec-core-2.6.0.rc2
234
249
  test_files:
235
250
  - features/Autotest.md
236
251
  - features/Changelog.md
@@ -245,23 +260,29 @@ test_files:
245
260
  - features/command_line/line_number_option.feature
246
261
  - features/command_line/rake_task.feature
247
262
  - features/command_line/tag.feature
263
+ - features/configuration/alias_example_to.feature
248
264
  - features/configuration/custom_settings.feature
249
265
  - features/configuration/fail_fast.feature
250
266
  - features/configuration/read_options_from_file.feature
251
267
  - features/example_groups/basic_structure.feature
268
+ - features/example_groups/shared_context.feature
252
269
  - features/example_groups/shared_example_group.feature
253
270
  - features/expectation_framework_integration/configure_expectation_framework.feature
254
271
  - features/filtering/exclusion_filters.feature
255
- - features/filtering/implicit_filters.feature
272
+ - features/filtering/if_and_unless.feature
256
273
  - features/filtering/inclusion_filters.feature
257
274
  - features/filtering/run_all_when_everything_filtered.feature
258
275
  - features/formatters/custom_formatter.feature
276
+ - features/formatters/text_formatter.feature
259
277
  - features/helper_methods/arbitrary_methods.feature
260
278
  - features/helper_methods/let.feature
279
+ - features/helper_methods/modules.feature
261
280
  - features/hooks/around_hooks.feature
262
281
  - features/hooks/before_and_after_hooks.feature
263
282
  - features/hooks/filtering.feature
283
+ - features/metadata/current_example.feature
264
284
  - features/metadata/described_class.feature
285
+ - features/metadata/user_defined.feature
265
286
  - features/mock_framework_integration/use_any_framework.feature
266
287
  - features/mock_framework_integration/use_flexmock.feature
267
288
  - features/mock_framework_integration/use_mocha.feature
@@ -320,6 +341,7 @@ test_files:
320
341
  - spec/rspec/core/resources/custom_example_group_runner.rb
321
342
  - spec/rspec/core/resources/formatter_specs.rb
322
343
  - spec/rspec/core/resources/utf8_encoded.rb
344
+ - spec/rspec/core/rspec_matchers_spec.rb
323
345
  - spec/rspec/core/ruby_project_spec.rb
324
346
  - spec/rspec/core/runner_spec.rb
325
347
  - spec/rspec/core/shared_context_spec.rb
@@ -330,3 +352,4 @@ test_files:
330
352
  - spec/ruby_forker.rb
331
353
  - spec/spec_helper.rb
332
354
  - spec/support/matchers.rb
355
+ - spec/support/shared_example_groups.rb