rspec-core 2.14.1 → 2.14.2
Sign up to get free protection for your applications and to get access to all the features.
data/Changelog.md
CHANGED
@@ -1,10 +1,24 @@
|
|
1
|
+
### 2.14.2 / 2013-07-09
|
2
|
+
[full changelog](http://github.com/rspec/rspec-core/compare/v2.14.1...v2.14.2)
|
3
|
+
|
4
|
+
Bug fixes
|
5
|
+
|
6
|
+
* Fix regression caused by 2.14.1 release: formatters that
|
7
|
+
report that they `respond_to?` a notification, but had
|
8
|
+
no corresponding method would raise an error when registered.
|
9
|
+
The new fix is to just implement `start` on the deprecation
|
10
|
+
formatter to fix the original JRuby/ruby-debug issue.
|
11
|
+
(Jon Rowe)
|
12
|
+
|
1
13
|
### 2.14.1 / 2013-07-08
|
2
14
|
[full changelog](http://github.com/rspec/rspec-core/compare/v2.14.0...v2.14.1)
|
3
15
|
|
4
16
|
Bug fixes
|
5
17
|
|
6
|
-
*
|
7
|
-
`
|
18
|
+
* Address deprecation formatter failure when using `ruby-debug` on
|
19
|
+
JRuby: fix `RSpec::Core::Reporter` to not send a notification
|
20
|
+
when the formatter's implementation of the notification method
|
21
|
+
comes from `Kernel` (Alex Portnov, Jon Rowe).
|
8
22
|
|
9
23
|
### 2.14.0 / 2013-07-06
|
10
24
|
[full changelog](http://github.com/rspec/rspec-core/compare/v2.14.0.rc1...v2.14.0)
|
data/lib/rspec/core/reporter.rb
CHANGED
@@ -21,7 +21,7 @@ module RSpec::Core
|
|
21
21
|
# events to all registered listeners
|
22
22
|
def register_listener(listener, *notifications)
|
23
23
|
notifications.each do |notification|
|
24
|
-
@listeners[notification.to_sym] << listener if
|
24
|
+
@listeners[notification.to_sym] << listener if listener.respond_to?(notification)
|
25
25
|
end
|
26
26
|
true
|
27
27
|
end
|
@@ -128,18 +128,5 @@ module RSpec::Core
|
|
128
128
|
end
|
129
129
|
end
|
130
130
|
|
131
|
-
private
|
132
|
-
if Method.method_defined?(:owner) # 1.8.6 lacks Method#owner
|
133
|
-
def understands(listener, notification)
|
134
|
-
listener.respond_to?(notification) && listener.method(notification).owner != ::Kernel
|
135
|
-
end
|
136
|
-
else
|
137
|
-
def understands(listener, notification)
|
138
|
-
# Hack for 1.8.6
|
139
|
-
# {}.method(:=~).to_s # => "#<Method: Hash(Kernel)#=~>"
|
140
|
-
listener.respond_to?(notification) && !listener.method(notification).to_s.include('(Kernel)')
|
141
|
-
end
|
142
|
-
end
|
143
|
-
|
144
131
|
end
|
145
132
|
end
|
data/lib/rspec/core/version.rb
CHANGED
@@ -4,12 +4,29 @@ require 'tempfile'
|
|
4
4
|
|
5
5
|
module RSpec::Core::Formatters
|
6
6
|
describe DeprecationFormatter do
|
7
|
+
let(:deprecation_stream) { StringIO.new }
|
8
|
+
let(:summary_stream) { StringIO.new }
|
9
|
+
let(:formatter) { DeprecationFormatter.new deprecation_stream, summary_stream }
|
7
10
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
11
|
+
def with_start_defined_on_kernel
|
12
|
+
return yield if ::Kernel.method_defined?(:start)
|
13
|
+
|
14
|
+
begin
|
15
|
+
::Kernel.module_eval { def start(*); raise "boom"; end }
|
16
|
+
yield
|
17
|
+
ensure
|
18
|
+
::Kernel.module_eval { undef start }
|
19
|
+
end
|
20
|
+
end
|
12
21
|
|
22
|
+
it 'does not blow up when `Kernel` defines `start`' do
|
23
|
+
with_start_defined_on_kernel do
|
24
|
+
reporter = ::RSpec::Core::Reporter.new(formatter)
|
25
|
+
reporter.start(3)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe "#deprecation" do
|
13
30
|
it "includes the method" do
|
14
31
|
formatter.deprecation(:deprecated => "i_am_deprecated")
|
15
32
|
deprecation_stream.rewind
|
@@ -120,28 +120,6 @@ module RSpec::Core
|
|
120
120
|
end
|
121
121
|
end
|
122
122
|
|
123
|
-
describe 'when message implemented on kernel' do
|
124
|
-
def with_message_defined_on_kernel
|
125
|
-
return yield if ::Kernel.method_defined?(:start)
|
126
|
-
|
127
|
-
begin
|
128
|
-
::Kernel.module_eval { def start(*); raise "boom"; end }
|
129
|
-
yield
|
130
|
-
ensure
|
131
|
-
::Kernel.module_eval { undef start }
|
132
|
-
end
|
133
|
-
end
|
134
|
-
|
135
|
-
let(:formatter) { double("formatter") }
|
136
|
-
|
137
|
-
it 'does not blow up when `Kernel` defines message instead of a formatter' do
|
138
|
-
with_message_defined_on_kernel do
|
139
|
-
reporter = ::RSpec::Core::Reporter.new(formatter)
|
140
|
-
reporter.start(3)
|
141
|
-
end
|
142
|
-
end
|
143
|
-
end
|
144
|
-
|
145
123
|
describe "timing" do
|
146
124
|
it "uses RSpec::Core::Time as to not be affected by changes to time in examples" do
|
147
125
|
formatter = double(:formatter)
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: rspec-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 2.14.
|
5
|
+
version: 2.14.2
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Steven Baker
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: exe
|
13
13
|
cert_chain: []
|
14
|
-
date: 2013-07-
|
14
|
+
date: 2013-07-10 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -383,7 +383,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
383
383
|
version: '0'
|
384
384
|
segments:
|
385
385
|
- 0
|
386
|
-
hash:
|
386
|
+
hash: 2476861130541035807
|
387
387
|
none: false
|
388
388
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
389
389
|
requirements:
|
@@ -392,14 +392,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
392
392
|
version: '0'
|
393
393
|
segments:
|
394
394
|
- 0
|
395
|
-
hash:
|
395
|
+
hash: 2476861130541035807
|
396
396
|
none: false
|
397
397
|
requirements: []
|
398
398
|
rubyforge_project: rspec
|
399
399
|
rubygems_version: 1.8.24
|
400
400
|
signing_key:
|
401
401
|
specification_version: 3
|
402
|
-
summary: rspec-core-2.14.
|
402
|
+
summary: rspec-core-2.14.2
|
403
403
|
test_files:
|
404
404
|
- features/Autotest.md
|
405
405
|
- features/README.md
|