rspec-core 2.8.0 → 2.9.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.
- data/.document +5 -0
- data/.yardopts +3 -0
- data/Changelog.md +492 -0
- data/README.md +1 -1
- data/features/mock_framework_integration/use_flexmock.feature +2 -2
- data/features/step_definitions/additional_cli_steps.rb +2 -2
- data/features/subject/attribute_of_subject.feature +4 -2
- data/features/subject/explicit_subject.feature +6 -2
- data/features/subject/implicit_receiver.feature +1 -1
- data/features/subject/implicit_subject.feature +40 -7
- data/lib/autotest/rspec2.rb +1 -1
- data/lib/rspec/core.rb +1 -1
- data/lib/rspec/core/configuration.rb +53 -5
- data/lib/rspec/core/configuration_options.rb +5 -2
- data/lib/rspec/core/drb_options.rb +3 -1
- data/lib/rspec/core/filter_manager.rb +1 -1
- data/lib/rspec/core/formatters/base_text_formatter.rb +1 -5
- data/lib/rspec/core/formatters/documentation_formatter.rb +4 -8
- data/lib/rspec/core/formatters/helpers.rb +15 -0
- data/lib/rspec/core/hooks.rb +3 -1
- data/lib/rspec/core/metadata.rb +6 -11
- data/lib/rspec/core/runner.rb +4 -14
- data/lib/rspec/core/version.rb +1 -1
- data/lib/rspec/core/world.rb +7 -7
- data/spec/autotest/rspec_spec.rb +1 -1
- data/spec/rspec/core/configuration_options_spec.rb +8 -5
- data/spec/rspec/core/configuration_spec.rb +38 -10
- data/spec/rspec/core/example_group_spec.rb +16 -0
- data/spec/rspec/core/formatters/documentation_formatter_spec.rb +23 -1
- data/spec/rspec/core/formatters/helpers_spec.rb +20 -0
- data/spec/rspec/core/metadata_spec.rb +3 -4
- data/spec/rspec/core/shared_example_group_spec.rb +2 -2
- data/spec/rspec/core/world_spec.rb +11 -1
- metadata +166 -19
- data/lib/rspec/monkey.rb +0 -1
- data/lib/rspec/monkey/spork/test_framework/rspec.rb +0 -10
data/lib/rspec/core/version.rb
CHANGED
data/lib/rspec/core/world.rb
CHANGED
@@ -4,12 +4,13 @@ module RSpec
|
|
4
4
|
|
5
5
|
include RSpec::Core::Hooks
|
6
6
|
|
7
|
-
attr_reader :example_groups, :
|
8
|
-
|
7
|
+
attr_reader :example_groups, :shared_example_groups, :filtered_examples
|
8
|
+
attr_accessor :wants_to_quit
|
9
9
|
|
10
10
|
def initialize(configuration=RSpec.configuration)
|
11
11
|
@configuration = configuration
|
12
12
|
@example_groups = [].extend(Extensions::Ordered)
|
13
|
+
@shared_example_groups = {}
|
13
14
|
@filtered_examples = Hash.new { |hash,group|
|
14
15
|
hash[group] = begin
|
15
16
|
examples = group.examples.dup
|
@@ -22,6 +23,7 @@ module RSpec
|
|
22
23
|
|
23
24
|
def reset
|
24
25
|
example_groups.clear
|
26
|
+
shared_example_groups.clear
|
25
27
|
end
|
26
28
|
|
27
29
|
def filter_manager
|
@@ -45,12 +47,10 @@ module RSpec
|
|
45
47
|
@configuration.configure_group(group)
|
46
48
|
end
|
47
49
|
|
48
|
-
def shared_example_groups
|
49
|
-
@shared_example_groups ||= {}
|
50
|
-
end
|
51
|
-
|
52
50
|
def example_count
|
53
|
-
example_groups.collect {|g| g.descendants}.flatten.inject(0)
|
51
|
+
example_groups.collect {|g| g.descendants}.flatten.inject(0) do |sum, g|
|
52
|
+
sum += g.filtered_examples.size
|
53
|
+
end
|
54
54
|
end
|
55
55
|
|
56
56
|
def preceding_declaration_line(filter_line)
|
data/spec/autotest/rspec_spec.rb
CHANGED
@@ -30,7 +30,7 @@ describe Autotest::Rspec2 do
|
|
30
30
|
|
31
31
|
it "makes the appropriate test command" do
|
32
32
|
actual_command = rspec_autotest.make_test_cmd(@files_to_test)
|
33
|
-
expected_command = /#{ruby_cmd}
|
33
|
+
expected_command = /#{ruby_cmd}.*'#{spec_cmd}' (.*)/
|
34
34
|
|
35
35
|
actual_command.should match(expected_command)
|
36
36
|
|
@@ -74,13 +74,9 @@ describe RSpec::Core::ConfigurationOptions do
|
|
74
74
|
["--pattern", "foo/bar", :pattern, "foo/bar"],
|
75
75
|
["--failure-exit-code", "37", :failure_exit_code, 37],
|
76
76
|
["--default_path", "behavior", :default_path, "behavior"],
|
77
|
-
["--drb", nil, :drb, true],
|
78
77
|
["--order", "rand", :order, "rand"],
|
79
78
|
["--seed", "37", :order, "rand:37"],
|
80
|
-
["--drb-port", "37", :drb_port, 37]
|
81
|
-
["--backtrace", nil, :full_backtrace, true],
|
82
|
-
["--profile", nil, :profile_examples, true],
|
83
|
-
["--tty", nil, :tty, true]
|
79
|
+
["--drb-port", "37", :drb_port, 37]
|
84
80
|
].each do |cli_option, cli_value, config_key, config_value|
|
85
81
|
it "forces #{config_key}" do
|
86
82
|
opts = config_options_object(*[cli_option, cli_value].compact)
|
@@ -305,6 +301,13 @@ describe RSpec::Core::ConfigurationOptions do
|
|
305
301
|
end
|
306
302
|
end
|
307
303
|
|
304
|
+
describe "#filter_manager" do
|
305
|
+
it "returns the same object as RSpec::configuration.filter_manager" do
|
306
|
+
config_options_object.filter_manager.
|
307
|
+
should be(RSpec::configuration.filter_manager)
|
308
|
+
end
|
309
|
+
end
|
310
|
+
|
308
311
|
describe "sources: ~/.rspec, ./.rspec, custom, CLI, and SPEC_OPTS" do
|
309
312
|
before(:each) do
|
310
313
|
FileUtils.mkpath(File.expand_path("~"))
|
@@ -713,20 +713,16 @@ module RSpec::Core
|
|
713
713
|
end
|
714
714
|
|
715
715
|
describe "the default :if filter" do
|
716
|
-
it "does not exclude a spec with
|
717
|
-
config.exclusion_filter[:if].call(
|
716
|
+
it "does not exclude a spec with { :if => true } metadata" do
|
717
|
+
config.exclusion_filter[:if].call(true).should be_false
|
718
718
|
end
|
719
719
|
|
720
|
-
it "
|
721
|
-
config.exclusion_filter[:if].call(
|
720
|
+
it "excludes a spec with { :if => false } metadata" do
|
721
|
+
config.exclusion_filter[:if].call(false).should be_true
|
722
722
|
end
|
723
723
|
|
724
|
-
it "excludes a spec with
|
725
|
-
config.exclusion_filter[:if].call(
|
726
|
-
end
|
727
|
-
|
728
|
-
it "excludes a spec with { :if => nil } metadata" do
|
729
|
-
config.exclusion_filter[:if].call(false, {:if => nil}).should be_true
|
724
|
+
it "excludes a spec with { :if => nil } metadata" do
|
725
|
+
config.exclusion_filter[:if].call(nil).should be_true
|
730
726
|
end
|
731
727
|
end
|
732
728
|
|
@@ -1005,6 +1001,38 @@ module RSpec::Core
|
|
1005
1001
|
group.included_modules.should include(mod1)
|
1006
1002
|
group.included_modules.should include(mod2)
|
1007
1003
|
end
|
1004
|
+
|
1005
|
+
module IncludeOrExtendMeOnce
|
1006
|
+
def self.included(host)
|
1007
|
+
raise "included again" if host.instance_methods.include?(:foobar)
|
1008
|
+
host.class_eval { def foobar; end }
|
1009
|
+
end
|
1010
|
+
|
1011
|
+
def self.extended(host)
|
1012
|
+
raise "extended again" if host.respond_to?(:foobar)
|
1013
|
+
def host.foobar; end
|
1014
|
+
end
|
1015
|
+
end
|
1016
|
+
|
1017
|
+
it "doesn't include a module when already included in ancestor" do
|
1018
|
+
config.include(IncludeOrExtendMeOnce, :foo => :bar)
|
1019
|
+
|
1020
|
+
group = ExampleGroup.describe("group", :foo => :bar)
|
1021
|
+
child = group.describe("child")
|
1022
|
+
|
1023
|
+
config.configure_group(group)
|
1024
|
+
config.configure_group(child)
|
1025
|
+
end
|
1026
|
+
|
1027
|
+
it "doesn't extend when ancestor is already extended with same module" do
|
1028
|
+
config.extend(IncludeOrExtendMeOnce, :foo => :bar)
|
1029
|
+
|
1030
|
+
group = ExampleGroup.describe("group", :foo => :bar)
|
1031
|
+
child = group.describe("child")
|
1032
|
+
|
1033
|
+
config.configure_group(group)
|
1034
|
+
config.configure_group(child)
|
1035
|
+
end
|
1008
1036
|
end
|
1009
1037
|
|
1010
1038
|
describe "#alias_example_to" do
|
@@ -293,6 +293,22 @@ module RSpec::Core
|
|
293
293
|
group.run.should be_true
|
294
294
|
end
|
295
295
|
end
|
296
|
+
|
297
|
+
context "and metadata redefinition after `described_class` call" do
|
298
|
+
it "is the redefined level constant" do
|
299
|
+
group = ExampleGroup.describe(String) do
|
300
|
+
described_class
|
301
|
+
metadata[:example_group][:described_class] = Object
|
302
|
+
describe :symbol do
|
303
|
+
example "described_class is Object" do
|
304
|
+
described_class.should eq(Object)
|
305
|
+
end
|
306
|
+
end
|
307
|
+
end
|
308
|
+
|
309
|
+
group.run.should be_true
|
310
|
+
end
|
311
|
+
end
|
296
312
|
end
|
297
313
|
|
298
314
|
context "in a nested group" do
|
@@ -28,7 +28,6 @@ module RSpec::Core::Formatters
|
|
28
28
|
end
|
29
29
|
|
30
30
|
it "represents nested group using hierarchy tree" do
|
31
|
-
|
32
31
|
output = StringIO.new
|
33
32
|
RSpec.configuration.stub(:color_enabled?) { false }
|
34
33
|
|
@@ -60,6 +59,29 @@ root
|
|
60
59
|
context 2
|
61
60
|
nested example 2.1
|
62
61
|
nested example 2.2
|
62
|
+
")
|
63
|
+
end
|
64
|
+
|
65
|
+
it "strips whitespace for each row" do
|
66
|
+
output = StringIO.new
|
67
|
+
RSpec.configuration.stub(:color_enabled?) { false }
|
68
|
+
|
69
|
+
formatter = RSpec::Core::Formatters::DocumentationFormatter.new(output)
|
70
|
+
|
71
|
+
group = RSpec::Core::ExampleGroup.describe(" root ")
|
72
|
+
context1 = group.describe(" nested ")
|
73
|
+
context1.example(" example 1 ") {}
|
74
|
+
context1.example(" example 2 ", :pending => true){}
|
75
|
+
context1.example(" example 3 ") { fail }
|
76
|
+
|
77
|
+
group.run(RSpec::Core::Reporter.new(formatter))
|
78
|
+
|
79
|
+
output.string.should eql("
|
80
|
+
root
|
81
|
+
nested
|
82
|
+
example 1
|
83
|
+
example 2 (PENDING: No reason given)
|
84
|
+
example 3 (FAILED - 1)
|
63
85
|
")
|
64
86
|
end
|
65
87
|
end
|
@@ -4,6 +4,26 @@ require 'rspec/core/formatters/helpers'
|
|
4
4
|
describe RSpec::Core::Formatters::Helpers do
|
5
5
|
let(:helper) { Object.new.extend(RSpec::Core::Formatters::Helpers) }
|
6
6
|
|
7
|
+
describe "format duration" do
|
8
|
+
context '> 60 and < 120' do
|
9
|
+
it "returns 'x minute xx seconds' formatted string" do
|
10
|
+
helper.format_duration(70.14).should eq("1 minute 10.14 seconds")
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
context '> 120' do
|
15
|
+
it "returns 'x minutes xx seconds' formatted string" do
|
16
|
+
helper.format_duration(135.14).should eq("2 minutes 15.14 seconds")
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
context '< 60' do
|
21
|
+
it "returns 'xx seconds' formatted string" do
|
22
|
+
helper.format_duration(45.5).should eq("45.5 seconds")
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
7
27
|
describe "format seconds" do
|
8
28
|
context "sub second times" do
|
9
29
|
it "returns 5 digits of precision" do
|
@@ -126,10 +126,9 @@ module RSpec
|
|
126
126
|
example_metadata.filter_applies?(:if, lambda { |v| !v }).should be_false
|
127
127
|
end
|
128
128
|
|
129
|
-
it "
|
130
|
-
|
131
|
-
example_metadata.filter_applies?(:
|
132
|
-
passed_metadata.should eq(example_metadata)
|
129
|
+
it "matches a proc with an arity of 2" do
|
130
|
+
example_metadata[:foo] = nil
|
131
|
+
example_metadata.filter_applies?(:foo, lambda { |v, m| m == example_metadata }).should be_true
|
133
132
|
end
|
134
133
|
|
135
134
|
context "with an Array" do
|
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
module RSpec::Core
|
4
4
|
describe SharedExampleGroup do
|
5
|
-
|
5
|
+
|
6
6
|
ExampleModule = Module.new
|
7
7
|
ExampleClass = Class.new
|
8
8
|
|
@@ -19,7 +19,7 @@ module RSpec::Core
|
|
19
19
|
group.send(method_name, 'shared group') {}
|
20
20
|
end.should raise_error(ArgumentError, "Shared example group 'shared group' already exists")
|
21
21
|
end
|
22
|
-
|
22
|
+
|
23
23
|
["name", :name, ExampleModule, ExampleClass].each do |object|
|
24
24
|
type = object.class.name.downcase
|
25
25
|
context "given a #{type}" do
|
@@ -9,6 +9,16 @@ module RSpec::Core
|
|
9
9
|
let(:configuration) { RSpec::Core::Configuration.new }
|
10
10
|
let(:world) { RSpec::Core::World.new(configuration) }
|
11
11
|
|
12
|
+
describe '#reset' do
|
13
|
+
it 'clears #example_groups and #shared_example_groups' do
|
14
|
+
world.example_groups << :example_group
|
15
|
+
world.shared_example_groups[:shared] = :example_group
|
16
|
+
world.reset
|
17
|
+
world.example_groups.should be_empty
|
18
|
+
world.shared_example_groups.should be_empty
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
12
22
|
describe "#example_groups" do
|
13
23
|
it "contains all registered example groups" do
|
14
24
|
group = RSpec::Core::ExampleGroup.describe("group"){}
|
@@ -64,7 +74,7 @@ module RSpec::Core
|
|
64
74
|
context "with two exaples and the second example is registre first" do
|
65
75
|
let(:second_group_declaration_line) { second_group.metadata[:example_group][:line_number] }
|
66
76
|
|
67
|
-
before do
|
77
|
+
before do
|
68
78
|
world.register(second_group)
|
69
79
|
world.register(group)
|
70
80
|
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:
|
5
|
-
prerelease:
|
4
|
+
hash: -2242269716
|
5
|
+
prerelease: 6
|
6
6
|
segments:
|
7
7
|
- 2
|
8
|
-
-
|
8
|
+
- 9
|
9
9
|
- 0
|
10
|
-
|
10
|
+
- rc
|
11
|
+
- 2
|
12
|
+
version: 2.9.0.rc2
|
11
13
|
platform: ruby
|
12
14
|
authors:
|
13
15
|
- Steven Baker
|
@@ -17,9 +19,152 @@ autorequire:
|
|
17
19
|
bindir: exe
|
18
20
|
cert_chain: []
|
19
21
|
|
20
|
-
date: 2012-
|
21
|
-
dependencies:
|
22
|
-
|
22
|
+
date: 2012-03-12 00:00:00 Z
|
23
|
+
dependencies:
|
24
|
+
- !ruby/object:Gem::Dependency
|
25
|
+
name: cucumber
|
26
|
+
prerelease: false
|
27
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ~>
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
hash: 1
|
33
|
+
segments:
|
34
|
+
- 1
|
35
|
+
- 1
|
36
|
+
- 9
|
37
|
+
version: 1.1.9
|
38
|
+
type: :development
|
39
|
+
version_requirements: *id001
|
40
|
+
- !ruby/object:Gem::Dependency
|
41
|
+
name: aruba
|
42
|
+
prerelease: false
|
43
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
44
|
+
none: false
|
45
|
+
requirements:
|
46
|
+
- - ~>
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
hash: 25
|
49
|
+
segments:
|
50
|
+
- 0
|
51
|
+
- 4
|
52
|
+
- 11
|
53
|
+
version: 0.4.11
|
54
|
+
type: :development
|
55
|
+
version_requirements: *id002
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: ZenTest
|
58
|
+
prerelease: false
|
59
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
60
|
+
none: false
|
61
|
+
requirements:
|
62
|
+
- - "="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
hash: 35
|
65
|
+
segments:
|
66
|
+
- 4
|
67
|
+
- 6
|
68
|
+
- 2
|
69
|
+
version: 4.6.2
|
70
|
+
type: :development
|
71
|
+
version_requirements: *id003
|
72
|
+
- !ruby/object:Gem::Dependency
|
73
|
+
name: nokogiri
|
74
|
+
prerelease: false
|
75
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
76
|
+
none: false
|
77
|
+
requirements:
|
78
|
+
- - "="
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
hash: 7
|
81
|
+
segments:
|
82
|
+
- 1
|
83
|
+
- 5
|
84
|
+
- 2
|
85
|
+
version: 1.5.2
|
86
|
+
type: :development
|
87
|
+
version_requirements: *id004
|
88
|
+
- !ruby/object:Gem::Dependency
|
89
|
+
name: fakefs
|
90
|
+
prerelease: false
|
91
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
92
|
+
none: false
|
93
|
+
requirements:
|
94
|
+
- - "="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
hash: 15
|
97
|
+
segments:
|
98
|
+
- 0
|
99
|
+
- 4
|
100
|
+
- 0
|
101
|
+
version: 0.4.0
|
102
|
+
type: :development
|
103
|
+
version_requirements: *id005
|
104
|
+
- !ruby/object:Gem::Dependency
|
105
|
+
name: syntax
|
106
|
+
prerelease: false
|
107
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
108
|
+
none: false
|
109
|
+
requirements:
|
110
|
+
- - "="
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
hash: 23
|
113
|
+
segments:
|
114
|
+
- 1
|
115
|
+
- 0
|
116
|
+
- 0
|
117
|
+
version: 1.0.0
|
118
|
+
type: :development
|
119
|
+
version_requirements: *id006
|
120
|
+
- !ruby/object:Gem::Dependency
|
121
|
+
name: mocha
|
122
|
+
prerelease: false
|
123
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
124
|
+
none: false
|
125
|
+
requirements:
|
126
|
+
- - ~>
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
hash: 61
|
129
|
+
segments:
|
130
|
+
- 0
|
131
|
+
- 10
|
132
|
+
- 5
|
133
|
+
version: 0.10.5
|
134
|
+
type: :development
|
135
|
+
version_requirements: *id007
|
136
|
+
- !ruby/object:Gem::Dependency
|
137
|
+
name: rr
|
138
|
+
prerelease: false
|
139
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
140
|
+
none: false
|
141
|
+
requirements:
|
142
|
+
- - ~>
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
hash: 31
|
145
|
+
segments:
|
146
|
+
- 1
|
147
|
+
- 0
|
148
|
+
- 4
|
149
|
+
version: 1.0.4
|
150
|
+
type: :development
|
151
|
+
version_requirements: *id008
|
152
|
+
- !ruby/object:Gem::Dependency
|
153
|
+
name: flexmock
|
154
|
+
prerelease: false
|
155
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
156
|
+
none: false
|
157
|
+
requirements:
|
158
|
+
- - ~>
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
hash: 59
|
161
|
+
segments:
|
162
|
+
- 0
|
163
|
+
- 9
|
164
|
+
- 0
|
165
|
+
version: 0.9.0
|
166
|
+
type: :development
|
167
|
+
version_requirements: *id009
|
23
168
|
description: BDD for Ruby. RSpec runner and example groups.
|
24
169
|
email: rspec-users@rubyforge.org
|
25
170
|
executables:
|
@@ -27,9 +172,8 @@ executables:
|
|
27
172
|
- rspec
|
28
173
|
extensions: []
|
29
174
|
|
30
|
-
extra_rdoc_files:
|
31
|
-
|
32
|
-
- License.txt
|
175
|
+
extra_rdoc_files: []
|
176
|
+
|
33
177
|
files:
|
34
178
|
- lib/autotest/discover.rb
|
35
179
|
- lib/autotest/rspec2.rb
|
@@ -81,10 +225,11 @@ files:
|
|
81
225
|
- lib/rspec/core/subject.rb
|
82
226
|
- lib/rspec/core/version.rb
|
83
227
|
- lib/rspec/core/world.rb
|
84
|
-
- lib/rspec/monkey.rb
|
85
|
-
- lib/rspec/monkey/spork/test_framework/rspec.rb
|
86
|
-
- License.txt
|
87
228
|
- README.md
|
229
|
+
- License.txt
|
230
|
+
- Changelog.md
|
231
|
+
- .yardopts
|
232
|
+
- .document
|
88
233
|
- features/Autotest.md
|
89
234
|
- features/README.md
|
90
235
|
- features/Upgrade.md
|
@@ -218,19 +363,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
218
363
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
219
364
|
none: false
|
220
365
|
requirements:
|
221
|
-
- - "
|
366
|
+
- - ">"
|
222
367
|
- !ruby/object:Gem::Version
|
223
|
-
hash:
|
368
|
+
hash: 25
|
224
369
|
segments:
|
225
|
-
-
|
226
|
-
|
370
|
+
- 1
|
371
|
+
- 3
|
372
|
+
- 1
|
373
|
+
version: 1.3.1
|
227
374
|
requirements: []
|
228
375
|
|
229
376
|
rubyforge_project: rspec
|
230
|
-
rubygems_version: 1.8.
|
377
|
+
rubygems_version: 1.8.15
|
231
378
|
signing_key:
|
232
379
|
specification_version: 3
|
233
|
-
summary: rspec-core-2.
|
380
|
+
summary: rspec-core-2.9.0.rc2
|
234
381
|
test_files:
|
235
382
|
- features/Autotest.md
|
236
383
|
- features/README.md
|