rspec-rails 2.9.0 → 2.10.0
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 +3 -3
- data/.yardopts +0 -1
- data/Changelog.md +18 -1
- data/README.md +2 -2
- data/features/controller_specs/controller_spec.feature +17 -0
- data/features/controller_specs/isolation_from_views.feature +11 -19
- data/features/model_specs/errors_on.feature +1 -0
- data/features/step_definitions/additional_cli_steps.rb +2 -2
- data/features/view_specs/inferred_controller_path.feature +3 -3
- data/features/view_specs/view_spec.feature +14 -0
- data/lib/rspec/rails/adapters.rb +1 -1
- data/lib/rspec/rails/example/controller_example_group.rb +3 -3
- data/lib/rspec/rails/example/view_example_group.rb +16 -3
- data/lib/rspec/rails/matchers.rb +1 -1
- data/lib/rspec/rails/matchers/routing_matchers.rb +3 -1
- data/lib/rspec/rails/version.rb +1 -1
- data/lib/rspec/rails/view_rendering.rb +4 -2
- data/spec/rspec/rails/example/view_example_group_spec.rb +8 -3
- data/spec/rspec/rails/matchers/route_to_spec.rb +26 -5
- data/spec/rspec/rails/view_rendering_spec.rb +6 -0
- metadata +160 -87
data/.document
CHANGED
data/.yardopts
CHANGED
data/Changelog.md
CHANGED
@@ -1,13 +1,30 @@
|
|
1
|
+
### 2.10.0 / 2012-05-03
|
2
|
+
[full changelog](http://github.com/rspec/rspec-rails/compare/v2.9.0...v2.10.0)
|
3
|
+
|
4
|
+
Bug fixes
|
5
|
+
|
6
|
+
* `render_views` called in a spec can now override the config setting. (martinsvalin)
|
7
|
+
* Fix `render_views` for anonymous controllers on 1.8.7. (hudge, mudge)
|
8
|
+
* Eliminate use of deprecated `process_view_paths`
|
9
|
+
* Fix false negatives when using `route_to` matcher with `should_not`
|
10
|
+
* `controller` is no longer nil in `config.before` hooks
|
11
|
+
* Change `request.path_parameters` keys to symbols to match real Rails
|
12
|
+
environment (Nathan Broadbent)
|
13
|
+
* Silence deprecation warnings in pre-2.9 generated view specs (Jonathan del
|
14
|
+
Strother)
|
15
|
+
|
1
16
|
### 2.9.0 / 2012-03-17
|
2
17
|
[full changelog](http://github.com/rspec/rspec-rails/compare/v2.8.1...v2.9.0)
|
3
18
|
|
4
19
|
Enhancments
|
20
|
+
|
5
21
|
* add description method to RouteToMatcher (John Wulff)
|
6
22
|
* Run "db:test:clone_structure" instead of "db:test:prepare" if Active Record's
|
7
23
|
schema format is ":sql". (Andrey Voronkov)
|
8
24
|
|
9
25
|
Bug fixes
|
10
|
-
|
26
|
+
|
27
|
+
* `mock_model(XXX).as_null_object.unknown_method` returns self again
|
11
28
|
* Generated view specs use different IDs for each attribute.
|
12
29
|
|
13
30
|
### 2.8.1 / 2012-01-04
|
data/README.md
CHANGED
@@ -26,7 +26,7 @@ Add `rspec-rails` to the `:test` and `:development` groups in the Gemfile:
|
|
26
26
|
|
27
27
|
```ruby
|
28
28
|
group :test, :development do
|
29
|
-
gem "rspec-rails", "~> 2.
|
29
|
+
gem "rspec-rails", "~> 2.0"
|
30
30
|
end
|
31
31
|
```
|
32
32
|
|
@@ -360,7 +360,7 @@ rendered.should xxx
|
|
360
360
|
Model specs live in spec/models.
|
361
361
|
|
362
362
|
```ruby
|
363
|
-
describe
|
363
|
+
describe Article do
|
364
364
|
describe ".recent" do
|
365
365
|
it "includes articles published less than one week ago" do
|
366
366
|
article = Article.create!(:published_at => Date.today - 1.week + 1.second)
|
@@ -16,3 +16,20 @@ Feature: controller spec
|
|
16
16
|
"""
|
17
17
|
When I run `rspec spec`
|
18
18
|
Then the example should pass
|
19
|
+
|
20
|
+
Scenario: controller is exposed to global before hooks
|
21
|
+
Given a file named "spec/controllers/widgets_controller_spec.rb" with:
|
22
|
+
"""
|
23
|
+
require "spec_helper"
|
24
|
+
|
25
|
+
RSpec.configure {|c| c.before { controller.should_not be_nil }}
|
26
|
+
|
27
|
+
describe WidgetsController do
|
28
|
+
describe "GET index" do
|
29
|
+
it "doesn't matter" do
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
"""
|
34
|
+
When I run `rspec spec`
|
35
|
+
Then the example should pass
|
@@ -17,12 +17,12 @@ Feature: views are stubbed by default
|
|
17
17
|
it "renders the index template" do
|
18
18
|
get :index
|
19
19
|
response.should render_template("index")
|
20
|
-
response.body.should
|
20
|
+
response.body.should eq ""
|
21
21
|
end
|
22
22
|
it "renders the widgets/index template" do
|
23
23
|
get :index
|
24
24
|
response.should render_template("widgets/index")
|
25
|
-
response.body.should
|
25
|
+
response.body.should eq ""
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|
@@ -59,7 +59,7 @@ Feature: views are stubbed by default
|
|
59
59
|
controller.append_view_path 'app/views'
|
60
60
|
get :custom_action
|
61
61
|
response.should render_template("custom_action")
|
62
|
-
response.body.should
|
62
|
+
response.body.should eq ""
|
63
63
|
end
|
64
64
|
end
|
65
65
|
end
|
@@ -67,29 +67,21 @@ Feature: views are stubbed by default
|
|
67
67
|
When I run `rspec spec`
|
68
68
|
Then the examples should all pass
|
69
69
|
|
70
|
-
Scenario: expect template to render when view path is changed at runtime
|
70
|
+
Scenario: expect template to render the real template with render_views when view path is changed at runtime
|
71
71
|
Given a file named "spec/controllers/things_controller_spec.rb" with:
|
72
72
|
"""
|
73
73
|
require "spec_helper"
|
74
74
|
|
75
75
|
describe ThingsController do
|
76
|
-
|
77
|
-
it "renders the custom_action template" do
|
78
|
-
render_views
|
79
|
-
controller.prepend_view_path 'app/views'
|
80
|
-
get :custom_action
|
81
|
-
response.should render_template("custom_action")
|
82
|
-
response.body.should == ""
|
83
|
-
end
|
76
|
+
render_views
|
84
77
|
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
end
|
78
|
+
it "renders the real custom_action template" do
|
79
|
+
controller.prepend_view_path 'app/views'
|
80
|
+
get :custom_action
|
81
|
+
response.should render_template("custom_action")
|
82
|
+
response.body.should match(/template for a custom action/)
|
91
83
|
end
|
92
84
|
end
|
93
85
|
"""
|
94
86
|
When I run `rspec spec`
|
95
|
-
Then the
|
87
|
+
Then the examples should all pass
|
@@ -7,7 +7,7 @@ Feature: view spec infers controller path and action
|
|
7
7
|
|
8
8
|
describe "widgets/new" do
|
9
9
|
it "infers the controller path" do
|
10
|
-
controller.request.path_parameters[
|
10
|
+
controller.request.path_parameters[:controller].should eq("widgets")
|
11
11
|
end
|
12
12
|
end
|
13
13
|
"""
|
@@ -21,7 +21,7 @@ Feature: view spec infers controller path and action
|
|
21
21
|
|
22
22
|
describe "widgets/new" do
|
23
23
|
it "infers the controller path" do
|
24
|
-
controller.request.path_parameters[
|
24
|
+
controller.request.path_parameters[:action].should eq("new")
|
25
25
|
end
|
26
26
|
end
|
27
27
|
"""
|
@@ -35,7 +35,7 @@ Feature: view spec infers controller path and action
|
|
35
35
|
|
36
36
|
describe "widgets/_form" do
|
37
37
|
it "includes a link to new" do
|
38
|
-
controller.request.path_parameters[
|
38
|
+
controller.request.path_parameters[:action].should be_nil
|
39
39
|
end
|
40
40
|
end
|
41
41
|
"""
|
@@ -158,3 +158,17 @@ Feature: view spec
|
|
158
158
|
"""
|
159
159
|
When I run `rspec spec/views/secrets`
|
160
160
|
Then the examples should all pass
|
161
|
+
|
162
|
+
Scenario: request.path_parameters should match Rails by using symbols for keys
|
163
|
+
Given a file named "spec/views/widgets/index.html.erb_spec.rb" with:
|
164
|
+
"""
|
165
|
+
require "spec_helper"
|
166
|
+
|
167
|
+
describe "controller.request.path_parameters" do
|
168
|
+
it "matches the Rails environment by using symbols for keys" do
|
169
|
+
[:controller, :action].each { |k| controller.request.path_parameters.keys.should include(k) }
|
170
|
+
end
|
171
|
+
end
|
172
|
+
"""
|
173
|
+
When I run `rspec spec/views`
|
174
|
+
Then the examples should all pass
|
data/lib/rspec/rails/adapters.rb
CHANGED
@@ -58,10 +58,10 @@ module RSpec::Rails
|
|
58
58
|
controller_class :
|
59
59
|
ApplicationController
|
60
60
|
|
61
|
-
metadata[:example_group][:described_class] = Class.new(base_class
|
62
|
-
|
63
|
-
def name; "AnonymousController" end
|
61
|
+
metadata[:example_group][:described_class] = Class.new(base_class) do
|
62
|
+
def self.name; "AnonymousController"; end
|
64
63
|
end
|
64
|
+
metadata[:example_group][:described_class].class_eval(&body)
|
65
65
|
|
66
66
|
before do
|
67
67
|
@orig_routes, @routes = @routes, ActionDispatch::Routing::RouteSet.new
|
@@ -42,7 +42,7 @@ module RSpec::Rails
|
|
42
42
|
# end
|
43
43
|
# end
|
44
44
|
def render(options={}, local_assigns={}, &block)
|
45
|
-
options =
|
45
|
+
options = _default_render_options if Hash === options and options.empty?
|
46
46
|
super(options, local_assigns, &block)
|
47
47
|
end
|
48
48
|
|
@@ -98,6 +98,19 @@ module RSpec::Rails
|
|
98
98
|
example.example_group.top_level_description
|
99
99
|
end
|
100
100
|
|
101
|
+
def _default_render_options
|
102
|
+
# pluck the handler, format, and locale out of, eg, posts/index.de.html.haml
|
103
|
+
template, *components = _default_file_to_render.split('.')
|
104
|
+
handler, format, locale = *components.reverse
|
105
|
+
|
106
|
+
render_options = {:template => template}
|
107
|
+
render_options[:handlers] = [handler] if handler
|
108
|
+
render_options[:formats] = [format] if format
|
109
|
+
render_options[:locales] = [locale] if locale
|
110
|
+
|
111
|
+
render_options
|
112
|
+
end
|
113
|
+
|
101
114
|
def _path_parts
|
102
115
|
_default_file_to_render.split("/")
|
103
116
|
end
|
@@ -133,8 +146,8 @@ module RSpec::Rails
|
|
133
146
|
# rails 3.0
|
134
147
|
controller.controller_path = _controller_path
|
135
148
|
end
|
136
|
-
controller.request.path_parameters[
|
137
|
-
controller.request.path_parameters[
|
149
|
+
controller.request.path_parameters[:controller] = _controller_path
|
150
|
+
controller.request.path_parameters[:action] = _inferred_action unless _inferred_action =~ /^_/
|
138
151
|
end
|
139
152
|
end
|
140
153
|
end
|
data/lib/rspec/rails/matchers.rb
CHANGED
@@ -23,7 +23,9 @@ module RSpec::Rails::Matchers
|
|
23
23
|
# @api private
|
24
24
|
def matches?(verb_to_path_map)
|
25
25
|
@verb_to_path_map = verb_to_path_map
|
26
|
-
|
26
|
+
# assert_recognizes does not consider ActionController::RoutingError an
|
27
|
+
# assertion failure, so we have to capture that and Assertion here.
|
28
|
+
match_unless_raises ActiveSupport::TestCase::Assertion, ActionController::RoutingError do
|
27
29
|
path, query = *verb_to_path_map.values.first.split('?')
|
28
30
|
@scope.assert_recognizes(
|
29
31
|
@expected_options,
|
data/lib/rspec/rails/version.rb
CHANGED
@@ -47,7 +47,9 @@ module RSpec
|
|
47
47
|
|
48
48
|
# @api private
|
49
49
|
def render_views?
|
50
|
-
metadata_for_rspec_rails
|
50
|
+
metadata_for_rspec_rails.fetch(:render_views) do
|
51
|
+
RSpec.configuration.render_views?
|
52
|
+
end
|
51
53
|
end
|
52
54
|
end
|
53
55
|
|
@@ -95,7 +97,7 @@ module RSpec
|
|
95
97
|
private
|
96
98
|
|
97
99
|
def _path_decorator(path)
|
98
|
-
EmptyTemplatePathSetDecorator.new(
|
100
|
+
EmptyTemplatePathSetDecorator.new(ActionView::PathSet.new(Array.wrap(path)))
|
99
101
|
end
|
100
102
|
end
|
101
103
|
|
@@ -108,10 +108,15 @@ module RSpec::Rails
|
|
108
108
|
end
|
109
109
|
|
110
110
|
context "given no input" do
|
111
|
-
it "sends render(:
|
112
|
-
view_spec.stub(:_default_file_to_render) { "widgets/new
|
111
|
+
it "sends render(:template => (described file)) to the view" do
|
112
|
+
view_spec.stub(:_default_file_to_render) { "widgets/new" }
|
113
113
|
view_spec.render
|
114
|
-
view_spec.received.first.should == [{:template => "widgets/new
|
114
|
+
view_spec.received.first.should == [{:template => "widgets/new"},{}, nil]
|
115
|
+
end
|
116
|
+
it "converts the filename components into render options" do
|
117
|
+
view_spec.stub(:_default_file_to_render) { "widgets/new.en.html.erb" }
|
118
|
+
view_spec.render
|
119
|
+
view_spec.received.first.should == [{:template => "widgets/new", :locales=>['en'], :formats=>['html'], :handlers=>['erb']},{}, nil]
|
115
120
|
end
|
116
121
|
end
|
117
122
|
|
@@ -20,7 +20,6 @@ describe "route_to" do
|
|
20
20
|
end
|
21
21
|
|
22
22
|
context "with shortcut syntax" do
|
23
|
-
|
24
23
|
it "routes with extra options" do
|
25
24
|
self.should_receive(:assert_recognizes).with({ :controller => "controller", :action => "action", :extra => "options"}, { :method=> :get, :path=>"path" }, {})
|
26
25
|
get("path").should route_to("controller#action", :extra => "options")
|
@@ -65,14 +64,25 @@ describe "route_to" do
|
|
65
64
|
end
|
66
65
|
end
|
67
66
|
|
68
|
-
context "when assert_recognizes fails" do
|
67
|
+
context "when assert_recognizes fails with an assertion failure" do
|
69
68
|
it "fails with message from assert_recognizes" do
|
70
69
|
self.stub!(:assert_recognizes) do
|
71
70
|
raise ActiveSupport::TestCase::Assertion.new("this message")
|
72
71
|
end
|
73
72
|
expect do
|
74
73
|
{:get => "path"}.should route_to("these" => "options")
|
75
|
-
end.to raise_error("this message")
|
74
|
+
end.to raise_error(RSpec::Expectations::ExpectationNotMetError, "this message")
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
context "when assert_recognizes fails with a routing error" do
|
79
|
+
it "fails with message from assert_recognizes" do
|
80
|
+
self.stub!(:assert_recognizes) do
|
81
|
+
raise ActionController::RoutingError.new("this message")
|
82
|
+
end
|
83
|
+
expect do
|
84
|
+
{:get => "path"}.should route_to("these" => "options")
|
85
|
+
end.to raise_error(RSpec::Expectations::ExpectationNotMetError, "this message")
|
76
86
|
end
|
77
87
|
end
|
78
88
|
|
@@ -98,7 +108,7 @@ describe "route_to" do
|
|
98
108
|
end
|
99
109
|
end
|
100
110
|
|
101
|
-
context "when assert_recognizes fails" do
|
111
|
+
context "when assert_recognizes fails with an assertion failure" do
|
102
112
|
it "passes" do
|
103
113
|
self.stub!(:assert_recognizes) do
|
104
114
|
raise ActiveSupport::TestCase::Assertion.new("this message")
|
@@ -109,6 +119,17 @@ describe "route_to" do
|
|
109
119
|
end
|
110
120
|
end
|
111
121
|
|
122
|
+
context "when assert_recognizes fails with a routing error" do
|
123
|
+
it "passes" do
|
124
|
+
self.stub!(:assert_recognizes) do
|
125
|
+
raise ActionController::RoutingError.new("this message")
|
126
|
+
end
|
127
|
+
expect do
|
128
|
+
{:get => "path"}.should_not route_to("these" => "options")
|
129
|
+
end.to_not raise_error
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
112
133
|
context "when an exception is raised" do
|
113
134
|
it "raises that exception" do
|
114
135
|
self.stub!(:assert_recognizes) do
|
@@ -120,6 +141,7 @@ describe "route_to" do
|
|
120
141
|
end
|
121
142
|
end
|
122
143
|
end
|
144
|
+
|
123
145
|
it "uses failure message from assert_recognizes" do
|
124
146
|
self.stub!(:assert_recognizes).and_raise(
|
125
147
|
ActiveSupport::TestCase::Assertion.new("this message"))
|
@@ -128,4 +150,3 @@ describe "route_to" do
|
|
128
150
|
end.to raise_error("this message")
|
129
151
|
end
|
130
152
|
end
|
131
|
-
|
@@ -54,6 +54,12 @@ module RSpec::Rails
|
|
54
54
|
group.render_views false
|
55
55
|
group.new.render_views?.should be_false
|
56
56
|
end
|
57
|
+
|
58
|
+
it "overrides the global config if render_views is enabled there" do
|
59
|
+
RSpec.configuration.stub(:render_views?).and_return true
|
60
|
+
group.render_views false
|
61
|
+
group.new.render_views?.should be_false
|
62
|
+
end
|
57
63
|
end
|
58
64
|
|
59
65
|
context "in a nested group" do
|
metadata
CHANGED
@@ -1,92 +1,166 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-rails
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.10.0
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 2
|
8
|
-
- 9
|
9
|
-
- 0
|
10
|
-
version: 2.9.0
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- David Chelimsky
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
21
|
-
version_requirements: &id001 !ruby/object:Gem::Requirement
|
22
|
-
none: false
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
hash: 7
|
27
|
-
segments:
|
28
|
-
- 3
|
29
|
-
- 0
|
30
|
-
version: "3.0"
|
31
|
-
prerelease: false
|
32
|
-
requirement: *id001
|
12
|
+
date: 2012-05-04 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
33
15
|
name: activesupport
|
34
|
-
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
version_requirements: &id002 !ruby/object:Gem::Requirement
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
37
17
|
none: false
|
38
|
-
requirements:
|
39
|
-
- -
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
|
42
|
-
|
43
|
-
- 3
|
44
|
-
- 0
|
45
|
-
version: "3.0"
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '3.0'
|
22
|
+
type: :runtime
|
46
23
|
prerelease: false
|
47
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '3.0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
48
31
|
name: actionpack
|
49
|
-
|
50
|
-
- !ruby/object:Gem::Dependency
|
51
|
-
version_requirements: &id003 !ruby/object:Gem::Requirement
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
52
33
|
none: false
|
53
|
-
requirements:
|
54
|
-
- -
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
|
57
|
-
|
58
|
-
- 3
|
59
|
-
- 0
|
60
|
-
version: "3.0"
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '3.0'
|
38
|
+
type: :runtime
|
61
39
|
prerelease: false
|
62
|
-
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '3.0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
63
47
|
name: railties
|
64
|
-
|
65
|
-
- !ruby/object:Gem::Dependency
|
66
|
-
version_requirements: &id004 !ruby/object:Gem::Requirement
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
67
49
|
none: false
|
68
|
-
requirements:
|
69
|
-
- -
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
|
72
|
-
|
73
|
-
- 2
|
74
|
-
- 9
|
75
|
-
- 0
|
76
|
-
version: 2.9.0
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '3.0'
|
54
|
+
type: :runtime
|
77
55
|
prerelease: false
|
78
|
-
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
79
63
|
name: rspec
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 2.10.0
|
80
70
|
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 2.10.0
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: rake
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ~>
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: 0.9.2
|
86
|
+
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 0.9.2
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: cucumber
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ~>
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 1.1.9
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 1.1.9
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: aruba
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 0.4.11
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ~>
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 0.4.11
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: ZenTest
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - '='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: 4.6.2
|
134
|
+
type: :development
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - '='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: 4.6.2
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
name: ammeter
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
146
|
+
requirements:
|
147
|
+
- - '='
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: 0.2.4
|
150
|
+
type: :development
|
151
|
+
prerelease: false
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - '='
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: 0.2.4
|
81
158
|
description: RSpec for Rails
|
82
159
|
email: rspec-users@rubyforge.org
|
83
160
|
executables: []
|
84
|
-
|
85
161
|
extensions: []
|
86
|
-
|
87
162
|
extra_rdoc_files: []
|
88
|
-
|
89
|
-
files:
|
163
|
+
files:
|
90
164
|
- lib/autotest/rails_rspec2.rb
|
91
165
|
- lib/generators/rspec.rb
|
92
166
|
- lib/generators/rspec/controller/controller_generator.rb
|
@@ -228,39 +302,38 @@ files:
|
|
228
302
|
- spec/support/helpers.rb
|
229
303
|
- spec/support/matchers.rb
|
230
304
|
homepage: http://github.com/rspec/rspec-rails
|
231
|
-
licenses:
|
305
|
+
licenses:
|
232
306
|
- MIT
|
233
307
|
post_install_message:
|
234
|
-
rdoc_options:
|
308
|
+
rdoc_options:
|
235
309
|
- --charset=UTF-8
|
236
|
-
require_paths:
|
310
|
+
require_paths:
|
237
311
|
- lib
|
238
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
312
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
239
313
|
none: false
|
240
|
-
requirements:
|
241
|
-
- -
|
242
|
-
- !ruby/object:Gem::Version
|
243
|
-
|
244
|
-
segments:
|
314
|
+
requirements:
|
315
|
+
- - ! '>='
|
316
|
+
- !ruby/object:Gem::Version
|
317
|
+
version: '0'
|
318
|
+
segments:
|
245
319
|
- 0
|
246
|
-
|
247
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
320
|
+
hash: -2355321046634655389
|
321
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
248
322
|
none: false
|
249
|
-
requirements:
|
250
|
-
- -
|
251
|
-
- !ruby/object:Gem::Version
|
252
|
-
|
253
|
-
segments:
|
323
|
+
requirements:
|
324
|
+
- - ! '>='
|
325
|
+
- !ruby/object:Gem::Version
|
326
|
+
version: '0'
|
327
|
+
segments:
|
254
328
|
- 0
|
255
|
-
|
329
|
+
hash: -2355321046634655389
|
256
330
|
requirements: []
|
257
|
-
|
258
331
|
rubyforge_project: rspec
|
259
|
-
rubygems_version: 1.8.
|
332
|
+
rubygems_version: 1.8.24
|
260
333
|
signing_key:
|
261
334
|
specification_version: 3
|
262
|
-
summary: rspec-rails-2.
|
263
|
-
test_files:
|
335
|
+
summary: rspec-rails-2.10.0
|
336
|
+
test_files:
|
264
337
|
- features/Autotest.md
|
265
338
|
- features/Generators.md
|
266
339
|
- features/GettingStarted.md
|