rspec-core 2.6.3 → 2.6.4

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.
@@ -1,7 +1,9 @@
1
- script: "rake"
1
+ script: "bundle exec rake"
2
2
  rvm:
3
3
  - 1.8.6
4
4
  - 1.8.7
5
5
  - 1.9.1
6
6
  - 1.9.2
7
7
  - ree
8
+ - rbx
9
+ - jruby
@@ -1,3 +1,13 @@
1
+ ### 2.6.4 / 2011-06-06
2
+
3
+ [full changelog](http://github.com/rspec/rspec-core/compare/v2.6.3...v2.6.4)
4
+
5
+ * Bug fixes
6
+ * Support exclusion filters in DRb. (Yann Lugrin)
7
+ * Fix --example escaping when run over DRb. (Elliot Winkler)
8
+ * Use standard ANSI codes for color formatting so colors work in a wider set
9
+ of color schemes.
10
+
1
11
  ### 2.6.3 / 2011-05-24
2
12
 
3
13
  [full changelog](http://github.com/rspec/rspec-core/compare/v2.6.2...v2.6.3)
data/Rakefile CHANGED
@@ -79,7 +79,9 @@ end
79
79
  desc "Push docs/cukes to relishapp using the relish-client-gem"
80
80
  task :relish, :version do |t, args|
81
81
  raise "rake relish[VERSION]" unless args[:version]
82
+ sh "cp Changelog.md features/"
82
83
  sh "relish push rspec/rspec-core:#{args[:version]}"
84
+ sh "rm features/Changelog.md"
83
85
  end
84
86
 
85
87
  Rake::RDocTask.new do |rdoc|
@@ -1,3 +1,4 @@
1
+ require 'rspec/core/dsl'
1
2
  require 'rspec/core/extensions'
2
3
  require 'rspec/core/load_path'
3
4
  require 'rspec/core/deprecation'
@@ -39,14 +40,17 @@ module RSpec
39
40
  end
40
41
  end
41
42
 
43
+ # Used internally to determine what to do when a SIGINT is received
42
44
  def self.wants_to_quit
43
45
  world.wants_to_quit
44
46
  end
45
47
 
48
+ # Used internally to determine what to do when a SIGINT is received
46
49
  def self.wants_to_quit=(maybe)
47
50
  world.wants_to_quit=(maybe)
48
51
  end
49
52
 
53
+ # Internal container for global non-configuration data
50
54
  def self.world
51
55
  @world ||= RSpec::Core::World.new
52
56
  end
@@ -58,6 +62,7 @@ module RSpec
58
62
  configuration.reset
59
63
  end
60
64
 
65
+ # Returns the global configuration object
61
66
  def self.configuration
62
67
  @configuration ||= RSpec::Core::Configuration.new
63
68
  end
@@ -74,6 +79,7 @@ module RSpec
74
79
  yield configuration if block_given?
75
80
  end
76
81
 
82
+ # Used internally to clear remaining groups when fail_fast is set
77
83
  def self.clear_remaining_example_groups
78
84
  world.example_groups.clear
79
85
  end
@@ -12,15 +12,15 @@ module RSpec
12
12
  keys = options.keys
13
13
  keys.unshift(:requires) if keys.delete(:requires)
14
14
  keys.unshift(:libs) if keys.delete(:libs)
15
-
15
+
16
16
  formatters = options[:formatters] if keys.delete(:formatters)
17
-
17
+
18
18
  config.exclusion_filter.merge! options[:exclusion_filter] if keys.delete(:exclusion_filter)
19
-
19
+
20
20
  keys.each do |key|
21
21
  config.send("#{key}=", options[key]) if config.respond_to?("#{key}=")
22
22
  end
23
-
23
+
24
24
  formatters.each {|pair| config.add_formatter(*pair) } if formatters
25
25
  end
26
26
 
@@ -33,12 +33,23 @@ module RSpec
33
33
  argv << "--fail-fast" if options[:fail_fast]
34
34
  argv << "--line_number" << options[:line_number] if options[:line_number]
35
35
  argv << "--options" << options[:custom_options_file] if options[:custom_options_file]
36
- argv << "--example" << options[:full_description].source if options[:full_description]
36
+ if options[:full_description]
37
+ # The argument to --example is regexp-escaped before being stuffed
38
+ # into a regexp when received for the first time (see OptionParser).
39
+ # Hence, merely grabbing the source of this regexp will retain the
40
+ # backslashes, so we must remove them.
41
+ argv << "--example" << options[:full_description].source.delete('\\')
42
+ end
37
43
  if options[:filter]
38
44
  options[:filter].each_pair do |k, v|
39
45
  argv << "--tag" << k.to_s
40
46
  end
41
47
  end
48
+ if options[:exclusion_filter]
49
+ options[:exclusion_filter].each_pair do |k, v|
50
+ argv << "--tag" << "~#{k.to_s}"
51
+ end
52
+ end
42
53
  if options[:formatters]
43
54
  options[:formatters].each do |pair|
44
55
  argv << "--format" << pair[0]
@@ -1,6 +1,6 @@
1
1
  module RSpec
2
2
  module Core
3
- module ObjectExtensions
3
+ module DSL
4
4
  def describe(*args, &example_group_block)
5
5
  RSpec::Core::ExampleGroup.describe(*args, &example_group_block).register
6
6
  end
@@ -8,6 +8,4 @@ module RSpec
8
8
  end
9
9
  end
10
10
 
11
- class Object
12
- include RSpec::Core::ObjectExtensions
13
- end
11
+ include RSpec::Core::DSL
@@ -3,9 +3,7 @@ require 'rspec/expectations'
3
3
  module RSpec
4
4
  module Core
5
5
  module ExpectationFrameworkAdapter
6
-
7
6
  include RSpec::Matchers
8
-
9
7
  end
10
8
  end
11
9
  end
@@ -1,4 +1,3 @@
1
- require 'rspec/core/extensions/object'
2
1
  require 'rspec/core/extensions/kernel'
3
2
  require 'rspec/core/extensions/instance_eval_with_args'
4
3
  require 'rspec/core/extensions/module_eval_with_args'
@@ -12,6 +12,13 @@ module RSpec
12
12
  attr_reader :example_count, :pending_count, :failure_count
13
13
  attr_reader :failed_examples, :pending_examples
14
14
 
15
+ def self.relative_path(line)
16
+ line = line.sub(File.expand_path("."), ".")
17
+ line = line.sub(/\A([^:]+:\d+)$/, '\\1')
18
+ return nil if line == '-e:1'
19
+ line
20
+ end
21
+
15
22
  def initialize(output)
16
23
  @output = output || StringIO.new
17
24
  @example_count = @pending_count = @failure_count = 0
@@ -113,10 +120,7 @@ module RSpec
113
120
 
114
121
  def backtrace_line(line)
115
122
  return nil if configuration.cleaned_from_backtrace?(line)
116
- line = line.sub(File.expand_path("."), ".")
117
- line = line.sub(/\A([^:]+:\d+)$/, '\\1')
118
- return nil if line == '-e:1'
119
- line
123
+ self.class.relative_path(line)
120
124
  end
121
125
 
122
126
  def read_failed_line(exception, example)
@@ -39,6 +39,18 @@ module RSpec
39
39
  dump_profile if profile_examples? && failure_count == 0
40
40
  output.puts "\nFinished in #{format_seconds(duration)} seconds\n"
41
41
  output.puts colorise_summary(summary_line(example_count, failure_count, pending_count))
42
+ dump_commands_to_rerun_failed_examples
43
+ end
44
+
45
+ def dump_commands_to_rerun_failed_examples
46
+ return if failed_examples.empty?
47
+ output.puts
48
+ output.puts("Failed examples:")
49
+ output.puts
50
+
51
+ failed_examples.each do |example|
52
+ output.puts(red("rspec #{BaseFormatter::relative_path(example.location)}") + " " + cyan("# #{example.full_description}"))
53
+ end
42
54
  end
43
55
 
44
56
  def dump_profile
@@ -46,7 +58,7 @@ module RSpec
46
58
  output.puts "\nTop #{sorted_examples.size} slowest examples:\n"
47
59
  sorted_examples.each do |example|
48
60
  output.puts " #{example.full_description}"
49
- output.puts grey(" #{red(format_seconds(example.execution_result[:run_time]))} #{red("seconds")} #{format_caller(example.location)}")
61
+ output.puts cyan(" #{red(format_seconds(example.execution_result[:run_time]))} #{red("seconds")} #{format_caller(example.location)}")
50
62
  end
51
63
  end
52
64
 
@@ -63,8 +75,8 @@ module RSpec
63
75
  output.puts "Pending:"
64
76
  pending_examples.each do |pending_example|
65
77
  output.puts yellow(" #{pending_example.full_description}")
66
- output.puts grey(" # #{pending_example.execution_result[:pending_message]}")
67
- output.puts grey(" # #{format_caller(pending_example.location)}")
78
+ output.puts cyan(" # #{pending_example.execution_result[:pending_message]}")
79
+ output.puts cyan(" # #{format_caller(pending_example.location)}")
68
80
  end
69
81
  end
70
82
  end
@@ -83,20 +95,12 @@ module RSpec
83
95
  color(text, "\e[1m")
84
96
  end
85
97
 
86
- def white(text)
87
- color(text, "\e[37m")
88
- end
89
-
90
- def green(text)
91
- color(text, "\e[32m")
92
- end
93
-
94
98
  def red(text)
95
99
  color(text, "\e[31m")
96
100
  end
97
101
 
98
- def magenta(text)
99
- color(text, "\e[35m")
102
+ def green(text)
103
+ color(text, "\e[32m")
100
104
  end
101
105
 
102
106
  def yellow(text)
@@ -107,8 +111,16 @@ module RSpec
107
111
  color(text, "\e[34m")
108
112
  end
109
113
 
110
- def grey(text)
111
- color(text, "\e[90m")
114
+ def magenta(text)
115
+ color(text, "\e[35m")
116
+ end
117
+
118
+ def cyan(text)
119
+ color(text, "\e[36m")
120
+ end
121
+
122
+ def white(text)
123
+ color(text, "\e[37m")
112
124
  end
113
125
 
114
126
  def short_padding
@@ -131,7 +143,7 @@ module RSpec
131
143
 
132
144
  def dump_backtrace(example)
133
145
  format_backtrace(example.execution_result[:exception].backtrace, example).each do |backtrace_info|
134
- output.puts grey("#{long_padding}# #{backtrace_info}")
146
+ output.puts cyan("#{long_padding}# #{backtrace_info}")
135
147
  end
136
148
  end
137
149
 
@@ -8,7 +8,7 @@ module RSpec
8
8
 
9
9
  def initialize(options, &block)
10
10
  @options = options
11
- raise "no block given for #{self.class::TYPE} hook" unless block
11
+ raise "no block given for #{display_name}" unless block
12
12
  @block = block
13
13
  end
14
14
 
@@ -23,10 +23,13 @@ module RSpec
23
23
  def call
24
24
  @block.call
25
25
  end
26
+
27
+ def display_name
28
+ self.class.name.split('::').last.gsub('Hook','').downcase << " hook"
29
+ end
26
30
  end
27
31
 
28
32
  class BeforeHook < Hook
29
- TYPE = 'before'
30
33
  def run_in(example_group_instance)
31
34
  if example_group_instance
32
35
  example_group_instance.instance_eval(&self)
@@ -37,7 +40,6 @@ module RSpec
37
40
  end
38
41
 
39
42
  class AfterHook < Hook
40
- TYPE = 'after'
41
43
  def run_in(example_group_instance)
42
44
  if example_group_instance
43
45
  example_group_instance.instance_eval_with_rescue(&self)
@@ -48,7 +50,6 @@ module RSpec
48
50
  end
49
51
 
50
52
  class AroundHook < Hook
51
- TYPE = 'around'
52
53
  def call(wrapped_example)
53
54
  @block.call(wrapped_example)
54
55
  end
@@ -87,7 +87,7 @@ a string such as "#method_name" to remove this warning.
87
87
 
88
88
  NOTICE
89
89
  end
90
- end
91
90
  end
91
+ end
92
92
  end
93
93
  end
@@ -1,7 +1,7 @@
1
1
  module RSpec # :nodoc:
2
2
  module Core # :nodoc:
3
3
  module Version # :nodoc:
4
- STRING = '2.6.3'
4
+ STRING = '2.6.4'
5
5
  end
6
6
  end
7
7
  end
@@ -14,7 +14,7 @@ describe RSpec::Core::ConfigurationOptions do
14
14
  config_options_object(*args).options
15
15
  end
16
16
 
17
- it "warns when HOME env var is not set" do
17
+ it "warns when HOME env var is not set", :unless => (RUBY_PLATFORM == 'java') do
18
18
  begin
19
19
  orig_home = ENV.delete("HOME")
20
20
  coo = RSpec::Core::ConfigurationOptions.new([])
@@ -41,7 +41,7 @@ describe RSpec::Core::ConfigurationOptions do
41
41
  config.should_receive(:add_formatter).ordered
42
42
  opts.configure(config)
43
43
  end
44
-
44
+
45
45
  it "merges the :exclusion_filter option with the default exclusion_filter" do
46
46
  opts = config_options_object(*%w[--tag ~slow])
47
47
  config = RSpec::Core::Configuration.new
@@ -223,17 +223,38 @@ describe RSpec::Core::ConfigurationOptions do
223
223
  config_options_object(*%w[--options custom.opts]).drb_argv.should include("--options", "custom.opts")
224
224
  end
225
225
 
226
+ context "with --example" do
227
+ it "includes --example" do
228
+ config_options_object(*%w[--example foo]).drb_argv.should include("--example", "foo")
229
+ end
230
+
231
+ it "unescapes characters which were escaped upon storing --example originally" do
232
+ config_options_object("--example", "foo\\ bar").drb_argv.should include("--example", "foo bar")
233
+ end
234
+ end
235
+
226
236
  context "with tags" do
227
- it "includes the tags" do
237
+ it "includes the inclusion tags" do
228
238
  coo = config_options_object("--tag", "tag")
229
239
  coo.drb_argv.should eq(["--tag", "tag"])
230
240
  end
231
241
 
232
- it "leaves tags intact" do
242
+ it "leaves inclusion tags intact" do
233
243
  coo = config_options_object("--tag", "tag")
234
244
  coo.drb_argv
235
245
  coo.options[:filter].should eq( {:tag=>true} )
236
246
  end
247
+
248
+ it "includes the exclusion tags" do
249
+ coo = config_options_object("--tag", "~tag")
250
+ coo.drb_argv.should eq(["--tag", "~tag"])
251
+ end
252
+
253
+ it "leaves exclusion tags intact" do
254
+ coo = config_options_object("--tag", "~tag")
255
+ coo.drb_argv
256
+ coo.options[:exclusion_filter].should eq( {:tag=>true} )
257
+ end
237
258
  end
238
259
 
239
260
  context "with formatters" do
@@ -1,89 +1,112 @@
1
1
  require 'spec_helper'
2
2
  require 'rspec/core/formatters/base_text_formatter'
3
3
 
4
- module RSpec::Core::Formatters
4
+ describe RSpec::Core::Formatters::BaseTextFormatter do
5
+ let(:output) { StringIO.new }
6
+ let(:formatter) { RSpec::Core::Formatters::BaseTextFormatter.new(output) }
5
7
 
6
- describe BaseTextFormatter do
7
- let(:output) { StringIO.new }
8
- let(:formatter) { RSpec::Core::Formatters::BaseTextFormatter.new(output) }
8
+ describe "#summary_line" do
9
+ it "with 0s outputs pluralized (excluding pending)" do
10
+ formatter.summary_line(0,0,0).should eq("0 examples, 0 failures")
11
+ end
9
12
 
10
- describe "#summary_line" do
11
- context "with 0s" do
12
- it "outputs pluralized (excluding pending)" do
13
- formatter.summary_line(0,0,0).should eq("0 examples, 0 failures")
14
- end
15
- end
13
+ it "with 1s outputs singular (including pending)" do
14
+ formatter.summary_line(1,1,1).should eq("1 example, 1 failure, 1 pending")
15
+ end
16
16
 
17
- context "with 1s" do
18
- it "outputs singular (including pending)" do
19
- formatter.summary_line(1,1,1).should eq("1 example, 1 failure, 1 pending")
20
- end
21
- end
17
+ it "with 2s outputs pluralized (including pending)" do
18
+ formatter.summary_line(2,2,2).should eq("2 examples, 2 failures, 2 pending")
19
+ end
20
+ end
22
21
 
23
- context "with 2s" do
24
- it "outputs pluralized (including pending)" do
25
- formatter.summary_line(2,2,2).should eq("2 examples, 2 failures, 2 pending")
26
- end
22
+ describe "#dump_commands_to_rerun_failed_examples" do
23
+ it "includes command to re-run each failed example" do
24
+ group = RSpec::Core::ExampleGroup.describe("example group") do
25
+ it("fails") { fail }
27
26
  end
27
+ line = __LINE__ - 2
28
+ group.run(formatter)
29
+ formatter.dump_commands_to_rerun_failed_examples
30
+ output.string.should include("rspec #{RSpec::Core::Formatters::BaseFormatter::relative_path("#{__FILE__}:#{line}")} # example group fails")
28
31
  end
32
+ end
29
33
 
30
- describe "#dump_failures" do
31
- let(:group) { RSpec::Core::ExampleGroup.describe("group name") }
34
+ describe "#dump_failures" do
35
+ let(:group) { RSpec::Core::ExampleGroup.describe("group name") }
32
36
 
33
- before { RSpec.configuration.stub(:color_enabled?) { false } }
37
+ before { RSpec.configuration.stub(:color_enabled?) { false } }
34
38
 
35
- def run_all_and_dump_failures
36
- group.run(formatter)
37
- formatter.dump_failures
38
- end
39
+ def run_all_and_dump_failures
40
+ group.run(formatter)
41
+ formatter.dump_failures
42
+ end
39
43
 
40
- it "preserves formatting" do
41
- group.example("example name") { "this".should eq("that") }
44
+ it "preserves formatting" do
45
+ group.example("example name") { "this".should eq("that") }
42
46
 
43
- run_all_and_dump_failures
47
+ run_all_and_dump_failures
48
+
49
+ output.string.should =~ /group name example name/m
50
+ output.string.should =~ /(\s+)expected \"that\"\n\1 got \"this\"/m
51
+ end
44
52
 
45
- output.string.should =~ /group name example name/m
46
- output.string.should =~ /(\s+)expected \"that\"\n\1 got \"this\"/m
53
+ context "with an exception without a message" do
54
+ it "does not throw NoMethodError" do
55
+ exception_without_message = Exception.new()
56
+ exception_without_message.stub(:message) { nil }
57
+ group.example("example name") { raise exception_without_message }
58
+ expect { run_all_and_dump_failures }.not_to raise_error(NoMethodError)
47
59
  end
60
+ end
48
61
 
49
- context "with an exception without a message" do
50
- it "does not throw NoMethodError" do
51
- exception_without_message = Exception.new()
52
- exception_without_message.stub(:message) { nil }
53
- group.example("example name") { raise exception_without_message }
54
- expect { run_all_and_dump_failures }.not_to raise_error(NoMethodError)
55
- end
62
+ context "with an exception class other than RSpec" do
63
+ it "does not show the error class" do
64
+ group.example("example name") { raise NameError.new('foo') }
65
+ run_all_and_dump_failures
66
+ output.string.should =~ /NameError/m
56
67
  end
68
+ end
57
69
 
58
- context "with an exception class other than RSpec" do
59
- it "does not show the error class" do
60
- group.example("example name") { raise NameError.new('foo') }
61
- run_all_and_dump_failures
62
- output.string.should =~ /NameError/m
63
- end
70
+ context "with a failed expectation (rspec-expectations)" do
71
+ it "does not show the error class" do
72
+ group.example("example name") { "this".should eq("that") }
73
+ run_all_and_dump_failures
74
+ output.string.should_not =~ /RSpec/m
64
75
  end
76
+ end
65
77
 
66
- context "with a failed expectation (rspec-expectations)" do
67
- it "does not show the error class" do
68
- group.example("example name") { "this".should eq("that") }
69
- run_all_and_dump_failures
70
- output.string.should_not =~ /RSpec/m
71
- end
78
+ context "with a failed message expectation (rspec-mocks)" do
79
+ it "does not show the error class" do
80
+ group.example("example name") { "this".should_receive("that") }
81
+ run_all_and_dump_failures
82
+ output.string.should_not =~ /RSpec/m
72
83
  end
84
+ end
73
85
 
74
- context "with a failed message expectation (rspec-mocks)" do
75
- it "does not show the error class" do
76
- group.example("example name") { "this".should_receive("that") }
77
- run_all_and_dump_failures
78
- output.string.should_not =~ /RSpec/m
86
+ context 'for #share_examples_for' do
87
+ it 'outputs the name and location' do
88
+
89
+ share_examples_for 'foo bar' do
90
+ it("example name") { "this".should eq("that") }
79
91
  end
92
+
93
+ line = __LINE__.next
94
+ group.it_should_behave_like('foo bar')
95
+
96
+ run_all_and_dump_failures
97
+
98
+ output.string.should include(
99
+ 'Shared Example Group: "foo bar" called from ' +
100
+ "./spec/rspec/core/formatters/base_text_formatter_spec.rb:#{line}"
101
+ )
80
102
  end
81
103
 
82
- context 'for #share_examples_for' do
104
+ context 'that contains nested example groups' do
83
105
  it 'outputs the name and location' do
84
-
85
106
  share_examples_for 'foo bar' do
86
- it("example name") { "this".should eq("that") }
107
+ describe 'nested group' do
108
+ it("example name") { "this".should eq("that") }
109
+ end
87
110
  end
88
111
 
89
112
  line = __LINE__.next
@@ -96,98 +119,78 @@ module RSpec::Core::Formatters
96
119
  "./spec/rspec/core/formatters/base_text_formatter_spec.rb:#{line}"
97
120
  )
98
121
  end
122
+ end
123
+ end
99
124
 
100
- context 'that contains nested example groups' do
101
- it 'outputs the name and location' do
102
- share_examples_for 'foo bar' do
103
- describe 'nested group' do
104
- it("example name") { "this".should eq("that") }
105
- end
106
- end
125
+ context 'for #share_as' do
126
+ it 'outputs the name and location' do
107
127
 
108
- line = __LINE__.next
109
- group.it_should_behave_like('foo bar')
128
+ share_as :FooBar do
129
+ it("example name") { "this".should eq("that") }
130
+ end
110
131
 
111
- run_all_and_dump_failures
132
+ line = __LINE__.next
133
+ group.send(:include, FooBar)
112
134
 
113
- output.string.should include(
114
- 'Shared Example Group: "foo bar" called from ' +
115
- "./spec/rspec/core/formatters/base_text_formatter_spec.rb:#{line}"
116
- )
117
- end
118
- end
135
+ run_all_and_dump_failures
136
+
137
+ output.string.should include(
138
+ 'Shared Example Group: "FooBar" called from ' +
139
+ "./spec/rspec/core/formatters/base_text_formatter_spec.rb:#{line}"
140
+ )
119
141
  end
120
142
 
121
- context 'for #share_as' do
143
+ context 'that contains nested example groups' do
122
144
  it 'outputs the name and location' do
123
145
 
124
- share_as :FooBar do
125
- it("example name") { "this".should eq("that") }
146
+ share_as :NestedFoo do
147
+ describe 'nested group' do
148
+ describe 'hell' do
149
+ it("example name") { "this".should eq("that") }
150
+ end
151
+ end
126
152
  end
127
153
 
128
154
  line = __LINE__.next
129
- group.send(:include, FooBar)
155
+ group.send(:include, NestedFoo)
130
156
 
131
157
  run_all_and_dump_failures
132
158
 
133
159
  output.string.should include(
134
- 'Shared Example Group: "FooBar" called from ' +
160
+ 'Shared Example Group: "NestedFoo" called from ' +
135
161
  "./spec/rspec/core/formatters/base_text_formatter_spec.rb:#{line}"
136
162
  )
137
163
  end
138
-
139
- context 'that contains nested example groups' do
140
- it 'outputs the name and location' do
141
-
142
- share_as :NestedFoo do
143
- describe 'nested group' do
144
- describe 'hell' do
145
- it("example name") { "this".should eq("that") }
146
- end
147
- end
148
- end
149
-
150
- line = __LINE__.next
151
- group.send(:include, NestedFoo)
152
-
153
- run_all_and_dump_failures
154
-
155
- output.string.should include(
156
- 'Shared Example Group: "NestedFoo" called from ' +
157
- "./spec/rspec/core/formatters/base_text_formatter_spec.rb:#{line}"
158
- )
159
- end
160
- end
161
164
  end
162
165
  end
166
+ end
163
167
 
164
- describe "#dump_profile" do
165
- before do
166
- formatter.stub(:examples) do
167
- group = RSpec::Core::ExampleGroup.describe("group") do
168
- example("example")
169
- end
170
- group.run(double('reporter').as_null_object)
171
- group.examples
168
+ describe "#dump_profile" do
169
+ before do
170
+ formatter.stub(:examples) do
171
+ group = RSpec::Core::ExampleGroup.describe("group") do
172
+ example("example")
172
173
  end
174
+ group.run(double('reporter').as_null_object)
175
+ group.examples
173
176
  end
177
+ end
174
178
 
175
- it "names the example" do
176
- formatter.dump_profile
177
- output.string.should =~ /group example/m
178
- end
179
+ it "names the example" do
180
+ formatter.dump_profile
181
+ output.string.should =~ /group example/m
182
+ end
179
183
 
180
- it "prints the time" do
181
- formatter.dump_profile
182
- output.string.should =~ /0(\.\d+)? seconds/
183
- end
184
+ it "prints the time" do
185
+ formatter.dump_profile
186
+ output.string.should =~ /0(\.\d+)? seconds/
187
+ end
184
188
 
185
- it "prints the path" do
186
- formatter.dump_profile
187
- filename = __FILE__.split(File::SEPARATOR).last
189
+ it "prints the path" do
190
+ formatter.dump_profile
191
+ filename = __FILE__.split(File::SEPARATOR).last
188
192
 
189
- output.string.should =~ /#{filename}\:#{__LINE__ - 21}/
190
- end
193
+ output.string.should =~ /#{filename}\:#{__LINE__ - 21}/
191
194
  end
192
195
  end
193
196
  end
@@ -312,18 +312,14 @@ a {
312
312
  <span class="failed_spec_name">fails</span>
313
313
  <div class="failure" id="failure_1">
314
314
  <div class="message"><pre>RSpec::Core::PendingExampleFixedError</pre></div>
315
- <div class="backtrace"><pre>./spec/rspec/core/resources/formatter_specs.rb:18
316
- ./spec/rspec/core/formatters/html_formatter_spec.rb:24
317
- ./spec/rspec/core/formatters/html_formatter_spec.rb:46
318
- ./spec/rspec/core/formatters/html_formatter_spec.rb:46:in `open'
319
- ./spec/rspec/core/formatters/html_formatter_spec.rb:46
320
- ./spec/rspec/core/formatters/html_formatter_spec.rb:45:in `chdir'
321
- ./spec/rspec/core/formatters/html_formatter_spec.rb:45</pre></div>
322
- <pre class="ruby"><code><span class="linenum">24</span> <span class="keyword">rescue</span> <span class="constant">Exception</span>
323
- <span class="linenum">25</span> <span class="keyword">end</span>
324
- <span class="offending"><span class="linenum">26</span> <span class="keyword">raise</span> <span class="constant">RSpec</span><span class="punct">::</span><span class="constant">Core</span><span class="punct">::</span><span class="constant">PendingExampleFixedError</span><span class="punct">.</span><span class="ident">new</span> <span class="keyword">if</span> <span class="ident">result</span></span>
325
- <span class="linenum">27</span> <span class="keyword">end</span>
326
- <span class="linenum">28</span> <span class="keyword">raise</span> <span class="constant">PendingDeclaredInExample</span><span class="punct">.</span><span class="ident">new</span><span class="punct">(</span><span class="ident">message</span><span class="punct">)</span></code></pre>
315
+ <div class="backtrace"><pre>./spec/rspec/core/resources/formatter_specs.rb:18:in `(root)'
316
+ org/jruby/RubyKernel.java:2021:in `instance_eval'
317
+ org/jruby/RubyArray.java:2336:in `collect'</pre></div>
318
+ <pre class="ruby"><code><span class="linenum">29</span> <span class="ident">teardown_mocks_for_rspec</span>
319
+ <span class="linenum">30</span> <span class="keyword">end</span>
320
+ <span class="offending"><span class="linenum">31</span> <span class="keyword">raise</span> <span class="constant">RSpec</span><span class="punct">::</span><span class="constant">Core</span><span class="punct">::</span><span class="constant">PendingExampleFixedError</span><span class="punct">.</span><span class="ident">new</span> <span class="keyword">if</span> <span class="ident">result</span></span>
321
+ <span class="linenum">32</span> <span class="keyword">end</span>
322
+ <span class="linenum">33</span> <span class="keyword">raise</span> <span class="constant">PendingDeclaredInExample</span><span class="punct">.</span><span class="ident">new</span><span class="punct">(</span><span class="ident">message</span><span class="punct">)</span></code></pre>
327
323
  </div>
328
324
  </dd>
329
325
  </dl>
@@ -350,13 +346,9 @@ expected 2
350
346
 
351
347
  (compared using ==)
352
348
  </pre></div>
353
- <div class="backtrace"><pre>./spec/rspec/core/resources/formatter_specs.rb:33
354
- ./spec/rspec/core/formatters/html_formatter_spec.rb:24
355
- ./spec/rspec/core/formatters/html_formatter_spec.rb:46
356
- ./spec/rspec/core/formatters/html_formatter_spec.rb:46:in `open'
357
- ./spec/rspec/core/formatters/html_formatter_spec.rb:46
358
- ./spec/rspec/core/formatters/html_formatter_spec.rb:45:in `chdir'
359
- ./spec/rspec/core/formatters/html_formatter_spec.rb:45</pre></div>
349
+ <div class="backtrace"><pre>./spec/rspec/core/resources/formatter_specs.rb:33:in `(root)'
350
+ org/jruby/RubyKernel.java:2021:in `instance_eval'
351
+ org/jruby/RubyArray.java:2336:in `collect'</pre></div>
360
352
  <pre class="ruby"><code><span class="linenum">27</span> <span class="keyword">end</span>
361
353
  <span class="linenum">28</span>
362
354
  <span class="offending"><span class="linenum">29</span> <span class="keyword">raise</span><span class="punct">(</span><span class="constant">RSpec</span><span class="punct">::</span><span class="constant">Expectations</span><span class="punct">::</span><span class="constant">ExpectationNotMetError</span><span class="punct">.</span><span class="ident">new</span><span class="punct">(</span><span class="ident">message</span><span class="punct">))</span></span>
@@ -375,7 +367,11 @@ expected 2
375
367
  <span class="failed_spec_name">fails with a backtrace that has no file</span>
376
368
  <div class="failure" id="failure_3">
377
369
  <div class="message"><pre>foo</pre></div>
378
- <div class="backtrace"><pre>(erb):1</pre></div>
370
+ <div class="backtrace"><pre>(erb):1:in `result'
371
+ org/jruby/RubyKernel.java:1088:in `eval'
372
+ ./spec/rspec/core/resources/formatter_specs.rb:41:in `(root)'
373
+ org/jruby/RubyKernel.java:2021:in `instance_eval'
374
+ org/jruby/RubyArray.java:2336:in `collect'</pre></div>
379
375
  <pre class="ruby"><code><span class="linenum">-1</span><span class="comment"># Couldn't get snippet for (erb)</span></code></pre>
380
376
  </div>
381
377
  </dd>
@@ -312,18 +312,14 @@ a {
312
312
  <span class="failed_spec_name">fails</span>
313
313
  <div class="failure" id="failure_1">
314
314
  <div class="message"><pre>RSpec::Core::PendingExampleFixedError</pre></div>
315
- <div class="backtrace"><pre><a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/resources/formatter_specs.rb&line=18">./spec/rspec/core/resources/formatter_specs.rb:18</a>
316
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=24">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:24</a>
317
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=47">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:47</a>
318
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=47">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:47</a> :in `open'
319
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=47">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:47</a>
320
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=46">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:46</a> :in `chdir'
321
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=46">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:46</a> </pre></div>
322
- <pre class="ruby"><code><span class="linenum">24</span> <span class="keyword">rescue</span> <span class="constant">Exception</span>
323
- <span class="linenum">25</span> <span class="keyword">end</span>
324
- <span class="offending"><span class="linenum">26</span> <span class="keyword">raise</span> <span class="constant">RSpec</span><span class="punct">::</span><span class="constant">Core</span><span class="punct">::</span><span class="constant">PendingExampleFixedError</span><span class="punct">.</span><span class="ident">new</span> <span class="keyword">if</span> <span class="ident">result</span></span>
325
- <span class="linenum">27</span> <span class="keyword">end</span>
326
- <span class="linenum">28</span> <span class="keyword">raise</span> <span class="constant">PendingDeclaredInExample</span><span class="punct">.</span><span class="ident">new</span><span class="punct">(</span><span class="ident">message</span><span class="punct">)</span></code></pre>
315
+ <div class="backtrace"><pre><a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/resources/formatter_specs.rb&line=18">./spec/rspec/core/resources/formatter_specs.rb:18</a> :in `(root)'
316
+ org/jruby/RubyKernel.java:2021:in `instance_eval'
317
+ org/jruby/RubyArray.java:2336:in `collect'</pre></div>
318
+ <pre class="ruby"><code><span class="linenum">29</span> <span class="ident">teardown_mocks_for_rspec</span>
319
+ <span class="linenum">30</span> <span class="keyword">end</span>
320
+ <span class="offending"><span class="linenum">31</span> <span class="keyword">raise</span> <span class="constant">RSpec</span><span class="punct">::</span><span class="constant">Core</span><span class="punct">::</span><span class="constant">PendingExampleFixedError</span><span class="punct">.</span><span class="ident">new</span> <span class="keyword">if</span> <span class="ident">result</span></span>
321
+ <span class="linenum">32</span> <span class="keyword">end</span>
322
+ <span class="linenum">33</span> <span class="keyword">raise</span> <span class="constant">PendingDeclaredInExample</span><span class="punct">.</span><span class="ident">new</span><span class="punct">(</span><span class="ident">message</span><span class="punct">)</span></code></pre>
327
323
  </div>
328
324
  </dd>
329
325
  </dl>
@@ -350,13 +346,9 @@ expected 2
350
346
 
351
347
  (compared using ==)
352
348
  </pre></div>
353
- <div class="backtrace"><pre><a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/resources/formatter_specs.rb&line=33">./spec/rspec/core/resources/formatter_specs.rb:33</a>
354
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=24">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:24</a>
355
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=47">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:47</a>
356
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=47">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:47</a> :in `open'
357
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=47">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:47</a>
358
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=46">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:46</a> :in `chdir'
359
- <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/formatters/text_mate_formatter_spec.rb&line=46">./spec/rspec/core/formatters/text_mate_formatter_spec.rb:46</a> </pre></div>
349
+ <div class="backtrace"><pre><a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/resources/formatter_specs.rb&line=33">./spec/rspec/core/resources/formatter_specs.rb:33</a> :in `(root)'
350
+ org/jruby/RubyKernel.java:2021:in `instance_eval'
351
+ org/jruby/RubyArray.java:2336:in `collect'</pre></div>
360
352
  <pre class="ruby"><code><span class="linenum">27</span> <span class="keyword">end</span>
361
353
  <span class="linenum">28</span>
362
354
  <span class="offending"><span class="linenum">29</span> <span class="keyword">raise</span><span class="punct">(</span><span class="constant">RSpec</span><span class="punct">::</span><span class="constant">Expectations</span><span class="punct">::</span><span class="constant">ExpectationNotMetError</span><span class="punct">.</span><span class="ident">new</span><span class="punct">(</span><span class="ident">message</span><span class="punct">))</span></span>
@@ -375,7 +367,11 @@ expected 2
375
367
  <span class="failed_spec_name">fails with a backtrace that has no file</span>
376
368
  <div class="failure" id="failure_3">
377
369
  <div class="message"><pre>foo</pre></div>
378
- <div class="backtrace"><pre>(erb):1</pre></div>
370
+ <div class="backtrace"><pre>(erb):1:in `result'
371
+ org/jruby/RubyKernel.java:1088:in `eval'
372
+ <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec2/repos/rspec-core/spec/rspec/core/resources/formatter_specs.rb&line=41">./spec/rspec/core/resources/formatter_specs.rb:41</a> :in `(root)'
373
+ org/jruby/RubyKernel.java:2021:in `instance_eval'
374
+ org/jruby/RubyArray.java:2336:in `collect'</pre></div>
379
375
  <pre class="ruby"><code><span class="linenum">-1</span><span class="comment"># Couldn't get snippet for (erb)</span></code></pre>
380
376
  </div>
381
377
  </dd>
@@ -19,7 +19,6 @@ def sandboxed(&block)
19
19
  RSpec.instance_variable_set(:@configuration, new_config)
20
20
  RSpec.instance_variable_set(:@world, new_world)
21
21
  object = Object.new
22
- object.extend(RSpec::Core::ObjectExtensions)
23
22
  object.extend(RSpec::Core::SharedExampleGroup)
24
23
 
25
24
  (class << RSpec::Core::ExampleGroup; self; end).class_eval do
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-core
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 31
5
5
  prerelease:
6
6
  segments:
7
7
  - 2
8
8
  - 6
9
- - 3
10
- version: 2.6.3
9
+ - 4
10
+ version: 2.6.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Chad Humphries
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-05-24 00:00:00 -05:00
19
+ date: 2011-06-06 00:00:00 -05:00
20
20
  default_executable:
21
21
  dependencies: []
22
22
 
@@ -34,6 +34,7 @@ files:
34
34
  - .gitignore
35
35
  - .rspec
36
36
  - .travis.yml
37
+ - Changelog.md
37
38
  - Gemfile
38
39
  - Guardfile
39
40
  - License.txt
@@ -44,7 +45,6 @@ files:
44
45
  - cucumber.yml
45
46
  - features/.nav
46
47
  - features/Autotest.md
47
- - features/Changelog.md
48
48
  - features/README.md
49
49
  - features/Upgrade.md
50
50
  - features/command_line/README.md
@@ -103,6 +103,7 @@ files:
103
103
  - lib/rspec/core/configuration_options.rb
104
104
  - lib/rspec/core/deprecation.rb
105
105
  - lib/rspec/core/drb_command_line.rb
106
+ - lib/rspec/core/dsl.rb
106
107
  - lib/rspec/core/errors.rb
107
108
  - lib/rspec/core/example.rb
108
109
  - lib/rspec/core/example_group.rb
@@ -112,7 +113,6 @@ files:
112
113
  - lib/rspec/core/extensions/instance_eval_with_args.rb
113
114
  - lib/rspec/core/extensions/kernel.rb
114
115
  - lib/rspec/core/extensions/module_eval_with_args.rb
115
- - lib/rspec/core/extensions/object.rb
116
116
  - lib/rspec/core/formatters/base_formatter.rb
117
117
  - lib/rspec/core/formatters/base_text_formatter.rb
118
118
  - lib/rspec/core/formatters/documentation_formatter.rb
@@ -241,10 +241,9 @@ rubyforge_project: rspec
241
241
  rubygems_version: 1.6.2
242
242
  signing_key:
243
243
  specification_version: 3
244
- summary: rspec-core-2.6.3
244
+ summary: rspec-core-2.6.4
245
245
  test_files:
246
246
  - features/Autotest.md
247
- - features/Changelog.md
248
247
  - features/README.md
249
248
  - features/Upgrade.md
250
249
  - features/command_line/README.md