rspec-core 2.0.0.a3 → 2.0.0.a4
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -1
- data/example_specs/failing/spec_helper.rb +1 -8
- data/example_specs/passing/spec_helper.rb +1 -14
- data/example_specs/spec_helper.rb +11 -0
- data/lib/rspec/core/command_line_options.rb +5 -0
- data/lib/rspec/core/configuration.rb +9 -6
- data/lib/rspec/core/example.rb +13 -8
- data/lib/rspec/core/example_group.rb +19 -19
- data/lib/rspec/core/version.rb +1 -1
- data/rspec-core.gemspec +12 -11
- data/spec/rspec/core/command_line_options_spec.rb +7 -0
- data/spec/rspec/core/configuration_spec.rb +8 -0
- data/spec/spec_helper.rb +2 -2
- metadata +7 -6
data/Rakefile
CHANGED
@@ -19,7 +19,7 @@ begin
|
|
19
19
|
gem.description = 'Rspec runner and example group classes'
|
20
20
|
gem.email = "dchelimsky@gmail.com;chad.humphries@gmail.com"
|
21
21
|
gem.homepage = "http://github.com/rspec/core"
|
22
|
-
gem.authors = ["
|
22
|
+
gem.authors = ["Chad Humphries", "David Chelimsky"]
|
23
23
|
gem.rubyforge_project = "rspec"
|
24
24
|
gem.add_development_dependency "rspec-expectations", ">= #{Rspec::Core::Version::STRING}"
|
25
25
|
gem.add_development_dependency "rspec-mocks", ">= #{Rspec::Core::Version::STRING}"
|
@@ -1,8 +1 @@
|
|
1
|
-
|
2
|
-
$LOAD_PATH.unshift lib_path unless $LOAD_PATH.include?(lib_path)
|
3
|
-
require 'rspec/autorun'
|
4
|
-
require 'rspec/expectations'
|
5
|
-
|
6
|
-
Rspec::Core.configure do |c|
|
7
|
-
c.include Rspec::Matchers
|
8
|
-
end
|
1
|
+
require File.expand_path('../../spec_helper.rb', __FILE__)
|
@@ -1,14 +1 @@
|
|
1
|
-
|
2
|
-
$LOAD_PATH.unshift lib_path unless $LOAD_PATH.include?(lib_path)
|
3
|
-
require 'rspec/autorun'
|
4
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '/../../../expectations/lib'))
|
5
|
-
require 'rspec/expectations'
|
6
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '/../../../mocks/lib'))
|
7
|
-
require 'rspec/mocks'
|
8
|
-
|
9
|
-
Rspec::Core::ExampleGroup.send(:include, Rspec::Matchers)
|
10
|
-
|
11
|
-
Rspec::Core.configure do |c|
|
12
|
-
c.mock_framework = :rspec
|
13
|
-
c.color_enabled = true
|
14
|
-
end
|
1
|
+
require File.expand_path('../../spec_helper.rb', __FILE__)
|
@@ -0,0 +1,11 @@
|
|
1
|
+
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
2
|
+
$LOAD_PATH << File.expand_path('../../../rspec-expectations/lib', __FILE__)
|
3
|
+
$LOAD_PATH << File.expand_path('../../../rspec-mocks/lib', __FILE__)
|
4
|
+
require 'rspec/expectations'
|
5
|
+
require 'rspec/autorun'
|
6
|
+
|
7
|
+
Rspec::Core.configure do |c|
|
8
|
+
c.mock_with :rspec
|
9
|
+
c.include Rspec::Matchers
|
10
|
+
end
|
11
|
+
|
@@ -42,8 +42,13 @@ module Rspec
|
|
42
42
|
options[:profile_examples] = o
|
43
43
|
end
|
44
44
|
|
45
|
+
opts.on('-b', '--backtrace', 'Enable full backtrace') do |o|
|
46
|
+
options[:full_backtrace] = true
|
47
|
+
end
|
48
|
+
|
45
49
|
opts.on_tail('-h', '--help', "You're looking at it.") do
|
46
50
|
puts opts
|
51
|
+
exit
|
47
52
|
end
|
48
53
|
end.parse!(@args)
|
49
54
|
|
@@ -1,9 +1,6 @@
|
|
1
1
|
module Rspec
|
2
2
|
module Core
|
3
3
|
class Configuration
|
4
|
-
# Regex patterns to scrub backtrace with
|
5
|
-
attr_reader :backtrace_clean_patterns
|
6
|
-
|
7
4
|
# All of the defined advice in the configuration (before/after/around)
|
8
5
|
attr_reader :advice
|
9
6
|
|
@@ -30,7 +27,6 @@ module Rspec
|
|
30
27
|
@include_or_extend_modules = []
|
31
28
|
@filter, @exclusion_filter = nil, nil
|
32
29
|
@options = default_options
|
33
|
-
@backtrace_clean_patterns = []
|
34
30
|
end
|
35
31
|
|
36
32
|
def default_options
|
@@ -53,7 +49,11 @@ module Rspec
|
|
53
49
|
def cleaned_from_backtrace?(line)
|
54
50
|
options[:backtrace_clean_patterns].any? { |regex| line =~ regex }
|
55
51
|
end
|
56
|
-
|
52
|
+
|
53
|
+
def backtrace_clean_patterns
|
54
|
+
options[:backtrace_clean_patterns]
|
55
|
+
end
|
56
|
+
|
57
57
|
def mock_framework=(use_me_to_mock)
|
58
58
|
options[:mock_framework] = use_me_to_mock
|
59
59
|
|
@@ -95,6 +95,10 @@ module Rspec
|
|
95
95
|
options[:color_enabled] = on_or_off
|
96
96
|
end
|
97
97
|
|
98
|
+
def full_backtrace=(bool)
|
99
|
+
@options[:backtrace_clean_patterns].clear
|
100
|
+
end
|
101
|
+
|
98
102
|
def color_enabled?
|
99
103
|
options[:color_enabled]
|
100
104
|
end
|
@@ -215,6 +219,5 @@ module Rspec
|
|
215
219
|
end
|
216
220
|
|
217
221
|
end
|
218
|
-
|
219
222
|
end
|
220
223
|
end
|
data/lib/rspec/core/example.rb
CHANGED
@@ -2,12 +2,17 @@ module Rspec
|
|
2
2
|
module Core
|
3
3
|
class Example
|
4
4
|
|
5
|
-
attr_reader :
|
5
|
+
attr_reader :metadata, :example_block
|
6
|
+
|
7
|
+
def example_group
|
8
|
+
@example_group_class
|
9
|
+
end
|
10
|
+
|
6
11
|
alias_method :behaviour, :example_group
|
7
12
|
|
8
|
-
def initialize(
|
9
|
-
@
|
10
|
-
@metadata = @
|
13
|
+
def initialize(example_group_class, desc, options, example_block=nil)
|
14
|
+
@example_group_class, @options, @example_block = example_group_class, options, example_block
|
15
|
+
@metadata = @example_group_class.metadata.for_example(desc, options)
|
11
16
|
end
|
12
17
|
|
13
18
|
def description
|
@@ -51,11 +56,11 @@ module Rspec
|
|
51
56
|
|
52
57
|
def run_before_each
|
53
58
|
@example_group_instance._setup_mocks if @example_group_instance.respond_to?(:_setup_mocks)
|
54
|
-
@
|
59
|
+
@example_group_class.eval_before_eachs(@example_group_instance)
|
55
60
|
end
|
56
61
|
|
57
62
|
def run_after_each
|
58
|
-
@
|
63
|
+
@example_group_class.eval_after_eachs(@example_group_instance)
|
59
64
|
@example_group_instance._verify_mocks if @example_group_instance.respond_to?(:_verify_mocks)
|
60
65
|
ensure
|
61
66
|
@example_group_instance._teardown_mocks if @example_group_instance.respond_to?(:_teardown_mocks)
|
@@ -93,10 +98,10 @@ module Rspec
|
|
93
98
|
|
94
99
|
begin
|
95
100
|
run_before_each
|
96
|
-
if @
|
101
|
+
if @example_group_class.around_eachs.empty?
|
97
102
|
@example_group_instance.instance_eval(&example_block) if runnable?
|
98
103
|
else
|
99
|
-
@
|
104
|
+
@example_group_class.around_eachs.first.call(AroundProxy.new(self, &example_block))
|
100
105
|
end
|
101
106
|
rescue Exception => e
|
102
107
|
exception_encountered = e
|
@@ -136,36 +136,36 @@ module Rspec
|
|
136
136
|
@before_all_ivars ||= {}
|
137
137
|
end
|
138
138
|
|
139
|
-
def self.eval_before_alls(
|
140
|
-
superclass.before_all_ivars.each { |ivar, val|
|
141
|
-
Rspec::Core.configuration.find_advice(:before, :all, self).each { |blk|
|
139
|
+
def self.eval_before_alls(running_example)
|
140
|
+
superclass.before_all_ivars.each { |ivar, val| running_example.instance_variable_set(ivar, val) }
|
141
|
+
Rspec::Core.configuration.find_advice(:before, :all, self).each { |blk| running_example.instance_eval(&blk) }
|
142
142
|
|
143
|
-
before_alls.each { |blk|
|
144
|
-
|
143
|
+
before_alls.each { |blk| running_example.instance_eval(&blk) }
|
144
|
+
running_example.instance_variables.each { |ivar| before_all_ivars[ivar] = running_example.instance_variable_get(ivar) }
|
145
145
|
end
|
146
146
|
|
147
|
-
def self.eval_before_eachs(
|
148
|
-
Rspec::Core.configuration.find_advice(:before, :each, self).each { |blk|
|
149
|
-
before_ancestors.each { |ancestor| ancestor.before_eachs.each { |blk|
|
147
|
+
def self.eval_before_eachs(running_example)
|
148
|
+
Rspec::Core.configuration.find_advice(:before, :each, self).each { |blk| running_example.instance_eval(&blk) }
|
149
|
+
before_ancestors.each { |ancestor| ancestor.before_eachs.each { |blk| running_example.instance_eval(&blk) } }
|
150
150
|
end
|
151
151
|
|
152
|
-
def self.eval_after_alls(
|
153
|
-
after_alls.each { |blk|
|
154
|
-
Rspec::Core.configuration.find_advice(:after, :all, self).each { |blk|
|
155
|
-
before_all_ivars.keys.each { |ivar| before_all_ivars[ivar] =
|
152
|
+
def self.eval_after_alls(running_example)
|
153
|
+
after_alls.each { |blk| running_example.instance_eval(&blk) }
|
154
|
+
Rspec::Core.configuration.find_advice(:after, :all, self).each { |blk| running_example.instance_eval(&blk) }
|
155
|
+
before_all_ivars.keys.each { |ivar| before_all_ivars[ivar] = running_example.instance_variable_get(ivar) }
|
156
156
|
end
|
157
157
|
|
158
|
-
def self.eval_after_eachs(
|
159
|
-
after_ancestors.each { |ancestor| ancestor.after_eachs.each { |blk|
|
160
|
-
Rspec::Core.configuration.find_advice(:after, :each, self).each { |blk|
|
158
|
+
def self.eval_after_eachs(running_example)
|
159
|
+
after_ancestors.each { |ancestor| ancestor.after_eachs.each { |blk| running_example.instance_eval(&blk) } }
|
160
|
+
Rspec::Core.configuration.find_advice(:after, :each, self).each { |blk| running_example.instance_eval(&blk) }
|
161
161
|
end
|
162
162
|
|
163
163
|
def self.run(reporter)
|
164
|
-
|
164
|
+
example_group_instance = new
|
165
165
|
reporter.add_example_group(self)
|
166
|
-
eval_before_alls(
|
167
|
-
success = run_examples(
|
168
|
-
eval_after_alls(
|
166
|
+
eval_before_alls(example_group_instance)
|
167
|
+
success = run_examples(example_group_instance, reporter)
|
168
|
+
eval_after_alls(example_group_instance)
|
169
169
|
|
170
170
|
success
|
171
171
|
end
|
data/lib/rspec/core/version.rb
CHANGED
data/rspec-core.gemspec
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
# Generated by jeweler
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in
|
3
|
+
# Instead, edit Jeweler::Tasks in rakefile, and run the gemspec command
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{rspec-core}
|
8
|
-
s.version = "2.0.0.
|
8
|
+
s.version = "2.0.0.a4"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = ["
|
12
|
-
s.date = %q{2010-02-
|
11
|
+
s.authors = ["Chad Humphries", "David Chelimsky"]
|
12
|
+
s.date = %q{2010-02-04}
|
13
13
|
s.default_executable = %q{rspec}
|
14
14
|
s.description = %q{Rspec runner and example group classes}
|
15
15
|
s.email = %q{dchelimsky@gmail.com;chad.humphries@gmail.com}
|
@@ -74,6 +74,7 @@ Gem::Specification.new do |s|
|
|
74
74
|
"example_specs/passing/stubbing_example.rb",
|
75
75
|
"example_specs/passing/yielding_example.rb",
|
76
76
|
"example_specs/ruby1.9.compatibility/access_to_constants_spec.rb",
|
77
|
+
"example_specs/spec_helper.rb",
|
77
78
|
"features-pending/example_groups/example_group_with_should_methods.feature",
|
78
79
|
"features-pending/example_groups/implicit_docstrings.feature",
|
79
80
|
"features-pending/expectations/expect_change.feature",
|
@@ -174,7 +175,7 @@ Gem::Specification.new do |s|
|
|
174
175
|
s.require_paths = ["lib"]
|
175
176
|
s.rubyforge_project = %q{rspec}
|
176
177
|
s.rubygems_version = %q{1.3.5}
|
177
|
-
s.summary = %q{rspec-core 2.0.0.
|
178
|
+
s.summary = %q{rspec-core 2.0.0.a4}
|
178
179
|
s.test_files = [
|
179
180
|
"spec/rspec/core/command_line_options_spec.rb",
|
180
181
|
"spec/rspec/core/configuration_spec.rb",
|
@@ -207,17 +208,17 @@ Gem::Specification.new do |s|
|
|
207
208
|
s.specification_version = 3
|
208
209
|
|
209
210
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
210
|
-
s.add_development_dependency(%q<rspec-expectations>, [">= 2.0.0.
|
211
|
-
s.add_development_dependency(%q<rspec-mocks>, [">= 2.0.0.
|
211
|
+
s.add_development_dependency(%q<rspec-expectations>, [">= 2.0.0.a4"])
|
212
|
+
s.add_development_dependency(%q<rspec-mocks>, [">= 2.0.0.a4"])
|
212
213
|
s.add_development_dependency(%q<cucumber>, [">= 0.5.3"])
|
213
214
|
else
|
214
|
-
s.add_dependency(%q<rspec-expectations>, [">= 2.0.0.
|
215
|
-
s.add_dependency(%q<rspec-mocks>, [">= 2.0.0.
|
215
|
+
s.add_dependency(%q<rspec-expectations>, [">= 2.0.0.a4"])
|
216
|
+
s.add_dependency(%q<rspec-mocks>, [">= 2.0.0.a4"])
|
216
217
|
s.add_dependency(%q<cucumber>, [">= 0.5.3"])
|
217
218
|
end
|
218
219
|
else
|
219
|
-
s.add_dependency(%q<rspec-expectations>, [">= 2.0.0.
|
220
|
-
s.add_dependency(%q<rspec-mocks>, [">= 2.0.0.
|
220
|
+
s.add_dependency(%q<rspec-expectations>, [">= 2.0.0.a4"])
|
221
|
+
s.add_dependency(%q<rspec-mocks>, [">= 2.0.0.a4"])
|
221
222
|
s.add_dependency(%q<cucumber>, [">= 0.5.3"])
|
222
223
|
end
|
223
224
|
end
|
@@ -73,5 +73,12 @@ describe Rspec::Core::CommandLineOptions do
|
|
73
73
|
|
74
74
|
end
|
75
75
|
|
76
|
+
describe "--backtrace (-b)" do
|
77
|
+
it "sets full_backtrace on config" do
|
78
|
+
options_from_args("--backtrace").should include(:full_backtrace => true)
|
79
|
+
options_from_args("-b").should include(:full_backtrace => true)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
76
83
|
end
|
77
84
|
|
@@ -211,4 +211,12 @@ describe Rspec::Core::Configuration do
|
|
211
211
|
end
|
212
212
|
end
|
213
213
|
|
214
|
+
describe "full_backtrace=" do
|
215
|
+
it "clears the backtrace clean patterns" do
|
216
|
+
config = Rspec::Core::Configuration.new
|
217
|
+
config.full_backtrace = true
|
218
|
+
config.options[:backtrace_clean_patterns].should == []
|
219
|
+
end
|
220
|
+
end
|
221
|
+
|
214
222
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -2,8 +2,8 @@ $LOAD_PATH.unshift(File.expand_path('../../lib', __FILE__))
|
|
2
2
|
require 'rspec/core'
|
3
3
|
|
4
4
|
require 'rubygems'
|
5
|
-
$LOAD_PATH << File.expand_path('../../../expectations/lib', __FILE__)
|
6
|
-
$LOAD_PATH << File.expand_path('../../../mocks/lib', __FILE__)
|
5
|
+
$LOAD_PATH << File.expand_path('../../../rspec-expectations/lib', __FILE__)
|
6
|
+
$LOAD_PATH << File.expand_path('../../../rspec-mocks/lib', __FILE__)
|
7
7
|
require 'rspec/expectations'
|
8
8
|
require 'rspec/mocks'
|
9
9
|
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0.
|
4
|
+
version: 2.0.0.a4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- David Chelimsky
|
8
7
|
- Chad Humphries
|
8
|
+
- David Chelimsky
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2010-02-
|
13
|
+
date: 2010-02-04 00:00:00 -06:00
|
14
14
|
default_executable: rspec
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
requirements:
|
22
22
|
- - ">="
|
23
23
|
- !ruby/object:Gem::Version
|
24
|
-
version: 2.0.0.
|
24
|
+
version: 2.0.0.a4
|
25
25
|
version:
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: rspec-mocks
|
@@ -31,7 +31,7 @@ dependencies:
|
|
31
31
|
requirements:
|
32
32
|
- - ">="
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: 2.0.0.
|
34
|
+
version: 2.0.0.a4
|
35
35
|
version:
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: cucumber
|
@@ -108,6 +108,7 @@ files:
|
|
108
108
|
- example_specs/passing/stubbing_example.rb
|
109
109
|
- example_specs/passing/yielding_example.rb
|
110
110
|
- example_specs/ruby1.9.compatibility/access_to_constants_spec.rb
|
111
|
+
- example_specs/spec_helper.rb
|
111
112
|
- features-pending/example_groups/example_group_with_should_methods.feature
|
112
113
|
- features-pending/example_groups/implicit_docstrings.feature
|
113
114
|
- features-pending/expectations/expect_change.feature
|
@@ -229,7 +230,7 @@ rubyforge_project: rspec
|
|
229
230
|
rubygems_version: 1.3.5
|
230
231
|
signing_key:
|
231
232
|
specification_version: 3
|
232
|
-
summary: rspec-core 2.0.0.
|
233
|
+
summary: rspec-core 2.0.0.a4
|
233
234
|
test_files:
|
234
235
|
- spec/rspec/core/command_line_options_spec.rb
|
235
236
|
- spec/rspec/core/configuration_spec.rb
|