rspec-core 2.6.0.rc4 → 2.6.0.rc6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,11 @@
1
+ ### 2.6.0.rc6 / 2011-05-06
2
+
3
+ [full changelog](http://github.com/rspec/rspec-core/compare/v2.6.0.rc4...v2.6.0.rc6)
4
+
5
+ * Enhancements
6
+ * Restore --pattern/-P command line option from rspec-1
7
+ * Support false as well as true in config.full_backtrace= (Andreas Tolf Tolfsen)
8
+
1
9
  ### 2.6.0.rc4 / 2011-05-01
2
10
 
3
11
  [full changelog](http://github.com/rspec/rspec-core/compare/v2.6.0.rc2...v2.6.0.rc4)
@@ -29,7 +29,8 @@ module RSpec
29
29
  add_setting :exclusion_filter
30
30
  add_setting :inclusion_filter
31
31
  add_setting :filter, :alias => :inclusion_filter
32
- add_setting :filename_pattern, :default => '**/*_spec.rb'
32
+ add_setting :pattern, :default => '**/*_spec.rb'
33
+ add_setting :filename_pattern, :alias => :pattern
33
34
  add_setting :files_to_run
34
35
  add_setting :include_or_extend_modules
35
36
  add_setting :backtrace_clean_patterns
@@ -42,18 +43,19 @@ module RSpec
42
43
  :unless => lambda { |value| value }
43
44
  }
44
45
 
46
+ DEFAULT_BACKTRACE_PATTERNS = [
47
+ /\/lib\d*\/ruby\//,
48
+ /bin\//,
49
+ /gems/,
50
+ /spec\/spec_helper\.rb/,
51
+ /lib\/rspec\/(core|expectations|matchers|mocks)/
52
+ ]
53
+
45
54
  def initialize
46
55
  @color_enabled = false
47
56
  self.include_or_extend_modules = []
48
57
  self.files_to_run = []
49
- self.backtrace_clean_patterns = [
50
- /\/lib\d*\/ruby\//,
51
- /bin\//,
52
- /gems/,
53
- /spec\/spec_helper\.rb/,
54
- /lib\/rspec\/(core|expectations|matchers|mocks)/
55
- ]
56
-
58
+ self.backtrace_clean_patterns = DEFAULT_BACKTRACE_PATTERNS.dup
57
59
  self.exclusion_filter = CONDITIONAL_FILTERS.dup
58
60
  end
59
61
 
@@ -209,8 +211,8 @@ module RSpec
209
211
  end
210
212
  end
211
213
 
212
- def full_backtrace=(bool)
213
- settings[:backtrace_clean_patterns] = []
214
+ def full_backtrace=(true_or_false)
215
+ settings[:backtrace_clean_patterns] = true_or_false ? [] : DEFAULT_BACKTRACE_PATTERNS
214
216
  end
215
217
 
216
218
  def color_enabled
@@ -292,7 +294,7 @@ EOM
292
294
  def files_or_directories_to_run=(*files)
293
295
  self.files_to_run = files.flatten.collect do |file|
294
296
  if File.directory?(file)
295
- filename_pattern.split(",").collect do |pattern|
297
+ pattern.split(",").collect do |pattern|
296
298
  Dir["#{file}/#{pattern.strip}"]
297
299
  end
298
300
  else
@@ -86,6 +86,10 @@ module RSpec::Core
86
86
  options[:profile_examples] = o
87
87
  end
88
88
 
89
+ parser.on('-P', '--pattern PATTERN', 'Load files those matching this pattern. Default is "spec/**/*_spec.rb"') do |o|
90
+ options[:pattern] = o
91
+ end
92
+
89
93
  parser.on('-r', '--require PATH', 'Require a file') do |path|
90
94
  options[:requires] ||= []
91
95
  options[:requires] << path
@@ -1,7 +1,7 @@
1
1
  module RSpec # :nodoc:
2
2
  module Core # :nodoc:
3
3
  module Version # :nodoc:
4
- STRING = '2.6.0.rc4'
4
+ STRING = '2.6.0.rc6'
5
5
  end
6
6
  end
7
7
  end
@@ -12,7 +12,6 @@ Gem::Specification.new do |s|
12
12
  s.summary = "rspec-core-#{RSpec::Core::Version::STRING}"
13
13
  s.description = "BDD for Ruby. RSpec runner and example groups."
14
14
 
15
- s.rubygems_version = "1.3.7"
16
15
  s.rubyforge_project = "rspec"
17
16
 
18
17
  s.files = `git ls-files`.split("\n")
@@ -143,16 +143,14 @@ module RSpec::Core
143
143
  end
144
144
  end
145
145
 
146
- context "setting the files to run" do
147
-
146
+ describe "#files_to_run" do
148
147
  it "loads files not following pattern if named explicitly" do
149
148
  file = "./spec/rspec/core/resources/a_bar.rb"
150
149
  config.files_or_directories_to_run = file
151
150
  config.files_to_run.should == [file]
152
151
  end
153
152
 
154
- describe "with default --pattern" do
155
-
153
+ context "with default pattern" do
156
154
  it "loads files named _spec.rb" do
157
155
  dir = "./spec/rspec/core/resources"
158
156
  config.files_or_directories_to_run = dir
@@ -164,80 +162,70 @@ module RSpec::Core
164
162
  config.files_or_directories_to_run = file
165
163
  config.files_to_run.should == [file]
166
164
  end
167
-
168
165
  end
166
+ end
169
167
 
170
- describe "with explicit pattern (single)" do
168
+ %w[pattern= filename_pattern=].each do |setter|
169
+ describe "##{setter}" do
170
+ context "with single pattern" do
171
+ before { config.send(setter, "**/*_foo.rb") }
172
+ it "loads files following pattern" do
173
+ file = File.expand_path(File.dirname(__FILE__) + "/resources/a_foo.rb")
174
+ config.files_or_directories_to_run = file
175
+ config.files_to_run.should include(file)
176
+ end
171
177
 
172
- before do
173
- config.filename_pattern = "**/*_foo.rb"
174
- end
178
+ it "loads files in directories following pattern" do
179
+ dir = File.expand_path(File.dirname(__FILE__) + "/resources")
180
+ config.files_or_directories_to_run = dir
181
+ config.files_to_run.should include("#{dir}/a_foo.rb")
182
+ end
175
183
 
176
- it "loads files following pattern" do
177
- file = File.expand_path(File.dirname(__FILE__) + "/resources/a_foo.rb")
178
- config.files_or_directories_to_run = file
179
- config.files_to_run.should include(file)
184
+ it "does not load files in directories not following pattern" do
185
+ dir = File.expand_path(File.dirname(__FILE__) + "/resources")
186
+ config.files_or_directories_to_run = dir
187
+ config.files_to_run.should_not include("#{dir}/a_bar.rb")
188
+ end
180
189
  end
181
190
 
182
- it "loads files in directories following pattern" do
183
- dir = File.expand_path(File.dirname(__FILE__) + "/resources")
184
- config.files_or_directories_to_run = dir
185
- config.files_to_run.should include("#{dir}/a_foo.rb")
186
- end
191
+ context "with multiple patterns" do
192
+ it "supports comma separated values" do
193
+ config.send(setter, "**/*_foo.rb,**/*_bar.rb")
194
+ dir = File.expand_path(File.dirname(__FILE__) + "/resources")
195
+ config.files_or_directories_to_run = dir
196
+ config.files_to_run.should include("#{dir}/a_foo.rb")
197
+ config.files_to_run.should include("#{dir}/a_bar.rb")
198
+ end
187
199
 
188
- it "does not load files in directories not following pattern" do
189
- dir = File.expand_path(File.dirname(__FILE__) + "/resources")
190
- config.files_or_directories_to_run = dir
191
- config.files_to_run.should_not include("#{dir}/a_bar.rb")
200
+ it "supports comma separated values with spaces" do
201
+ config.send(setter, "**/*_foo.rb, **/*_bar.rb")
202
+ dir = File.expand_path(File.dirname(__FILE__) + "/resources")
203
+ config.files_or_directories_to_run = dir
204
+ config.files_to_run.should include("#{dir}/a_foo.rb")
205
+ config.files_to_run.should include("#{dir}/a_bar.rb")
206
+ end
192
207
  end
193
-
194
208
  end
209
+ end
195
210
 
196
- context "with explicit pattern (comma,separated,values)" do
197
-
198
- before do
199
- config.filename_pattern = "**/*_foo.rb,**/*_bar.rb"
200
- end
201
-
202
- it "supports comma separated values" do
203
- dir = File.expand_path(File.dirname(__FILE__) + "/resources")
204
- config.files_or_directories_to_run = dir
205
- config.files_to_run.should include("#{dir}/a_foo.rb")
206
- config.files_to_run.should include("#{dir}/a_bar.rb")
207
- end
208
-
209
- it "supports comma separated values with spaces" do
210
- dir = File.expand_path(File.dirname(__FILE__) + "/resources")
211
- config.files_or_directories_to_run = dir
212
- config.files_to_run.should include("#{dir}/a_foo.rb")
213
- config.files_to_run.should include("#{dir}/a_bar.rb")
214
- end
215
-
211
+ describe "path with line number" do
212
+ it "assigns the line number as the filter" do
213
+ config.files_or_directories_to_run = "path/to/a_spec.rb:37"
214
+ config.filter.should == {:line_number => 37}
216
215
  end
216
+ end
217
217
 
218
- context "with line number" do
219
-
220
- it "assigns the line number as the filter" do
221
- config.files_or_directories_to_run = "path/to/a_spec.rb:37"
222
- config.filter.should == {:line_number => 37}
223
- end
224
-
218
+ context "with full_description" do
219
+ it "overrides :focused" do
220
+ config.filter_run :focused => true
221
+ config.full_description = "foo"
222
+ config.filter.should_not have_key(:focused)
225
223
  end
226
224
 
227
- context "with full_description" do
228
- it "overrides :focused" do
229
- config.filter_run :focused => true
230
- config.full_description = "foo"
231
- config.filter.should_not have_key(:focused)
232
- end
233
-
234
- it "assigns the example name as the filter on description" do
235
- config.full_description = "foo"
236
- config.filter.should == {:full_description => /foo/}
237
- end
238
-
225
+ it "assigns the example name as the filter on description" do
226
+ config.full_description = "foo"
227
+ config.filter.should == {:full_description => /foo/}
239
228
  end
240
-
241
229
  end
242
230
 
243
231
  describe "#include" do
@@ -306,7 +294,7 @@ module RSpec::Core
306
294
 
307
295
  end
308
296
 
309
- describe "run_all_when_everything_filtered?" do
297
+ describe "#run_all_when_everything_filtered?" do
310
298
 
311
299
  it "defaults to false" do
312
300
  config.run_all_when_everything_filtered?.should be_false
@@ -407,14 +395,14 @@ module RSpec::Core
407
395
  end
408
396
  end
409
397
 
410
- describe 'formatter=' do
398
+ describe '#formatter=' do
411
399
  it "delegates to add_formatter (better API for user-facing configuration)" do
412
400
  config.should_receive(:add_formatter).with('these','options')
413
401
  config.add_formatter('these','options')
414
402
  end
415
403
  end
416
404
 
417
- describe "add_formatter" do
405
+ describe "#add_formatter" do
418
406
 
419
407
  it "adds to the list of formatters" do
420
408
  config.add_formatter :documentation
@@ -573,7 +561,7 @@ module RSpec::Core
573
561
  end
574
562
  end
575
563
 
576
- describe "line_number=" do
564
+ describe "#line_number=" do
577
565
  before { config.stub(:warn) }
578
566
 
579
567
  it "sets the line number" do
@@ -595,9 +583,18 @@ module RSpec::Core
595
583
  end
596
584
 
597
585
  describe "#full_backtrace=" do
598
- it "clears the backtrace clean patterns" do
599
- config.full_backtrace = true
600
- config.backtrace_clean_patterns.should == []
586
+ context "given true" do
587
+ it "clears the backtrace clean patterns" do
588
+ config.full_backtrace = true
589
+ config.backtrace_clean_patterns.should == []
590
+ end
591
+ end
592
+
593
+ context "given false" do
594
+ it "restores backtrace clean patterns" do
595
+ config.full_backtrace = false
596
+ config.backtrace_clean_patterns.should == RSpec::Core::Configuration::DEFAULT_BACKTRACE_PATTERNS
597
+ end
601
598
  end
602
599
 
603
600
  it "doesn't impact other instances of config" do
@@ -2,13 +2,10 @@ require "spec_helper"
2
2
 
3
3
  module RSpec::Core
4
4
  describe OptionParser do
5
- before do
6
- RSpec.stub(:deprecate)
7
- end
8
-
9
5
  let(:output_file){ mock File }
10
6
 
11
7
  before do
8
+ RSpec.stub(:deprecate)
12
9
  File.stub(:open).with("foo.txt",'w') { (output_file) }
13
10
  end
14
11
 
@@ -30,17 +27,12 @@ module RSpec::Core
30
27
  end
31
28
  end
32
29
 
33
- describe "--format" do
34
- it "defines the formatter" do
35
- options = Parser.parse!(%w[--format doc])
36
- options[:formatters].first.should eq(["doc"])
37
- end
38
- end
39
-
40
- describe "-f" do
41
- it "defines the formatter" do
42
- options = Parser.parse!(%w[-f doc])
43
- options[:formatters].first.should eq(["doc"])
30
+ %w[--format -f].each do |option|
31
+ describe option do
32
+ it "defines the formatter" do
33
+ options = Parser.parse!([option, 'doc'])
34
+ options[:formatters].first.should eq(["doc"])
35
+ end
44
36
  end
45
37
  end
46
38
 
@@ -72,10 +64,21 @@ module RSpec::Core
72
64
  end
73
65
  end
74
66
 
75
- describe "--example" do
76
- it "escapes the arg" do
77
- options = Parser.parse!(["--example", "this (and that)"])
78
- "this (and that)".should match(options[:full_description])
67
+ %w[--example -e].each do |option|
68
+ describe option do
69
+ it "escapes the arg" do
70
+ options = Parser.parse!([option, "this (and that)"])
71
+ "this (and that)".should match(options[:full_description])
72
+ end
73
+ end
74
+ end
75
+
76
+ %w[--pattern -P].each do |option|
77
+ describe option do
78
+ it "sets the filename pattern" do
79
+ options = Parser.parse!([option, 'spec/**/*.spec'])
80
+ options[:pattern].should eq('spec/**/*.spec')
81
+ end
79
82
  end
80
83
  end
81
84
 
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-core
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15424061
4
+ hash: 15424057
5
5
  prerelease: 6
6
6
  segments:
7
7
  - 2
8
8
  - 6
9
9
  - 0
10
10
  - rc
11
- - 4
12
- version: 2.6.0.rc4
11
+ - 6
12
+ version: 2.6.0.rc6
13
13
  platform: ruby
14
14
  authors:
15
15
  - Chad Humphries
@@ -18,7 +18,7 @@ autorequire:
18
18
  bindir: bin
19
19
  cert_chain: []
20
20
 
21
- date: 2011-05-01 00:00:00 -04:00
21
+ date: 2011-05-06 00:00:00 -05:00
22
22
  default_executable:
23
23
  dependencies: []
24
24
 
@@ -245,7 +245,7 @@ rubyforge_project: rspec
245
245
  rubygems_version: 1.6.2
246
246
  signing_key:
247
247
  specification_version: 3
248
- summary: rspec-core-2.6.0.rc4
248
+ summary: rspec-core-2.6.0.rc6
249
249
  test_files:
250
250
  - features/Autotest.md
251
251
  - features/Changelog.md