rspec-rails 2.0.0.beta.16 → 2.0.0.beta.17
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +2 -2
- data/README.markdown +13 -7
- data/Rakefile +30 -8
- data/VERSION +1 -1
- data/features/controller_specs/isolation_from_views.feature +6 -24
- data/features/controller_specs/readers.feature +1 -1
- data/features/controller_specs/render_views.feature +6 -6
- data/features/mailer_specs/url_helpers.feature +2 -2
- data/features/matchers/be_routable_matcher.feature +5 -5
- data/features/matchers/new_record_matcher.feature +1 -1
- data/features/model_specs/errors_on.feature +1 -1
- data/features/model_specs/transactional_examples.feature +4 -4
- data/features/support/env.rb +0 -18
- data/features/view_specs/view_spec.feature +7 -7
- data/lib/generators/rspec/helper/helper_generator.rb +1 -2
- data/lib/generators/rspec/helper/templates/helper_spec.rb +3 -3
- data/lib/generators/rspec/install/install_generator.rb +0 -14
- data/lib/generators/rspec/scaffold/scaffold_generator.rb +3 -6
- data/lib/rspec-rails.rb +4 -0
- data/lib/rspec/rails/example.rb +1 -0
- data/lib/rspec/rails/example/controller_example_group.rb +1 -0
- data/lib/rspec/rails/example/helper_example_group.rb +1 -0
- data/lib/rspec/rails/example/mailer_example_group.rb +1 -0
- data/lib/rspec/rails/example/model_example_group.rb +14 -0
- data/lib/rspec/rails/example/request_example_group.rb +2 -0
- data/lib/rspec/rails/example/routing_example_group.rb +2 -0
- data/lib/rspec/rails/example/view_example_group.rb +2 -0
- data/lib/{generators/rspec/install/templates/lib → rspec/rails}/tasks/rspec.rake +5 -33
- data/lib/rspec/rails/view_rendering.rb +1 -1
- data/rspec-rails.gemspec +31 -12
- data/spec/rspec/rails/example/controller_example_group_spec.rb +7 -0
- data/spec/rspec/rails/example/helper_example_group_spec.rb +7 -0
- data/spec/rspec/rails/example/mailer_example_group_spec.rb +7 -1
- data/spec/rspec/rails/example/model_example_group_spec.rb +15 -0
- data/spec/rspec/rails/example/request_example_group_spec.rb +7 -0
- data/spec/rspec/rails/example/routing_example_group_spec.rb +7 -0
- data/spec/rspec/rails/example/view_example_group_spec.rb +7 -0
- data/spec/rspec/rails/matchers/render_template_spec.rb +1 -1
- data/spec/spec_helper.rb +0 -3
- data/templates/Gemfile +7 -5
- data/templates/generate_stuff.rb +2 -1
- metadata +33 -14
- data/lib/generators/rspec/install/templates/config/initializers/rspec_generator.rb.tt +0 -6
data/Gemfile
CHANGED
@@ -3,14 +3,14 @@ source "http://rubygems.org"
|
|
3
3
|
gem 'arel', :path => "./vendor/arel"
|
4
4
|
gem 'rails', :path => "./vendor/rails"
|
5
5
|
|
6
|
+
gem 'rspec-rails', :path => "."
|
6
7
|
gem 'rspec-core', :path => "../rspec-core"
|
7
8
|
gem 'rspec-expectations', :path => "../rspec-expectations"
|
8
9
|
gem 'rspec-mocks', :path => "../rspec-mocks"
|
9
10
|
gem 'rspec', :path => "../rspec"
|
10
11
|
|
11
|
-
gem 'thor'
|
12
12
|
gem 'cucumber'
|
13
|
-
gem 'aruba'
|
13
|
+
gem 'aruba', ">= 0.2.0", :require => nil
|
14
14
|
gem 'jeweler'
|
15
15
|
gem 'webrat'
|
16
16
|
gem 'sqlite3-ruby', :require => 'sqlite3'
|
data/README.markdown
CHANGED
@@ -2,12 +2,7 @@
|
|
2
2
|
|
3
3
|
rspec-2 for rails-3 with lightweight extensions to each
|
4
4
|
|
5
|
-
NOTICE: rspec-rails-2.0.0.beta.
|
6
|
-
|
7
|
-
NOTICE: This README aligns with the code in git HEAD. If you're looking for the
|
8
|
-
README for the latest release, go to
|
9
|
-
[http://github.com/rspec/rspec-rails](http://github.com/rspec/rspec-rails), and
|
10
|
-
select the appropriate tag from the Switch Tags select list.
|
5
|
+
NOTICE: rspec-rails-2.0.0.beta.17 only works with rails-3.0.0.beta4 or higher.
|
11
6
|
|
12
7
|
## Install
|
13
8
|
|
@@ -25,7 +20,7 @@ This installs the following gems:
|
|
25
20
|
|
26
21
|
Add this line to the Gemfile:
|
27
22
|
|
28
|
-
gem "rspec-rails", ">= 2.0.0.beta.
|
23
|
+
gem "rspec-rails", ">= 2.0.0.beta.17"
|
29
24
|
|
30
25
|
This will expose generators, including rspec:install. Now you can run:
|
31
26
|
|
@@ -241,3 +236,14 @@ Passes if the path is recognized by Rails' routing. This is primarily intended
|
|
241
236
|
to be used with `should_not` to specify routes that should not be routable.
|
242
237
|
|
243
238
|
{ :get => "/widgets/1/edit" }.should_not be_routable
|
239
|
+
|
240
|
+
## Contribute
|
241
|
+
|
242
|
+
See [http://github.com/rspec/rspec-dev](http://github.com/rspec/rspec-dev)
|
243
|
+
|
244
|
+
## Also see
|
245
|
+
|
246
|
+
* [http://github.com/rspec/rspec](http://github.com/rspec/rspec)
|
247
|
+
* [http://github.com/rspec/rspec-core](http://github.com/rspec/rspec-core)
|
248
|
+
* [http://github.com/rspec/rspec-expectations](http://github.com/rspec/rspec-expectations)
|
249
|
+
* [http://github.com/rspec/rspec-mocks](http://github.com/rspec/rspec-mocks)
|
data/Rakefile
CHANGED
@@ -23,9 +23,14 @@ require 'rspec/core/rake_task'
|
|
23
23
|
require 'cucumber/rake/task'
|
24
24
|
|
25
25
|
RSpec::Core::RakeTask.new(:spec)
|
26
|
-
Cucumber::Rake::Task
|
27
|
-
|
26
|
+
class Cucumber::Rake::Task::ForkedCucumberRunner
|
27
|
+
# When cucumber shells out, we still need it to run in the context of our
|
28
|
+
# bundle.
|
29
|
+
def run
|
30
|
+
sh "bundle exec #{RUBY} " + args.join(" ")
|
31
|
+
end
|
28
32
|
end
|
33
|
+
Cucumber::Rake::Task.new(:cucumber)
|
29
34
|
|
30
35
|
begin
|
31
36
|
require 'jeweler'
|
@@ -45,16 +50,33 @@ begin
|
|
45
50
|
|
46
51
|
Thank you for installing #{gem.summary}!
|
47
52
|
|
48
|
-
This version of rspec-rails only works with
|
49
|
-
|
53
|
+
This version of rspec-rails only works with versions of rails >= 3.0.0.beta.4.
|
54
|
+
|
55
|
+
To configure your app to use rspec-rails, add a declaration to your Gemfile.
|
56
|
+
If you are using Bundler's grouping feature in your Gemfile, be sure to include
|
57
|
+
rspec-rails in the :development group as well as the :test group so that you
|
58
|
+
can access its generators and rake tasks.
|
59
|
+
|
60
|
+
group :development, :test do
|
61
|
+
gem "rspec-rails", ">= #{RSpec::Rails::Version::STRING}"
|
62
|
+
end
|
50
63
|
|
51
|
-
Be sure to run the following command in each of your
|
52
|
-
|
64
|
+
Be sure to run the following command in each of your Rails apps if you're
|
65
|
+
upgrading:
|
53
66
|
|
54
67
|
script/rails generate rspec:install
|
55
68
|
|
56
|
-
|
57
|
-
|
69
|
+
Even if you've run it before, this ensures that you have the latest updates
|
70
|
+
to spec/spec_helper.rb and any other support files.
|
71
|
+
|
72
|
+
Previous versions of rspec-rails-2.0.0.beta installed files that are no
|
73
|
+
longer being used, so please remove these files if you have them:
|
74
|
+
|
75
|
+
lib/tasks/rspec.rake
|
76
|
+
config/initializers/rspec_generator.rb
|
77
|
+
|
78
|
+
Lastly, be sure to look at Upgrade.markdown to see what might have changed
|
79
|
+
since the last release.
|
58
80
|
|
59
81
|
#{"*"*50}
|
60
82
|
EOM
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.0.0.beta.
|
1
|
+
2.0.0.beta.17
|
@@ -6,7 +6,7 @@ Feature: do not render views
|
|
6
6
|
|
7
7
|
NOTE: unlike rspec-rails-1.x, the template must exist.
|
8
8
|
|
9
|
-
Scenario: expect template that rendered by controller (passes)
|
9
|
+
Scenario: expect template that is rendered by controller action (passes)
|
10
10
|
Given a file named "spec/controllers/widgets_controller_spec.rb" with:
|
11
11
|
"""
|
12
12
|
require "spec_helper.rb"
|
@@ -16,20 +16,20 @@ Feature: do not render views
|
|
16
16
|
it "renders the index template" do
|
17
17
|
get :index
|
18
18
|
response.should render_template("index")
|
19
|
-
response.body.should
|
19
|
+
response.body.should == ""
|
20
20
|
end
|
21
21
|
it "renders the widgets/index template" do
|
22
22
|
get :index
|
23
23
|
response.should render_template("widgets/index")
|
24
|
-
response.body.should
|
24
|
+
response.body.should == ""
|
25
25
|
end
|
26
26
|
end
|
27
27
|
end
|
28
28
|
"""
|
29
29
|
When I run "rspec ./spec"
|
30
|
-
Then
|
30
|
+
Then the output should contain "2 examples, 0 failures"
|
31
31
|
|
32
|
-
Scenario: expect template that is not rendered by controller (fails)
|
32
|
+
Scenario: expect template that is not rendered by controller action (fails)
|
33
33
|
Given a file named "spec/controllers/widgets_controller_spec.rb" with:
|
34
34
|
"""
|
35
35
|
require "spec_helper.rb"
|
@@ -39,28 +39,10 @@ Feature: do not render views
|
|
39
39
|
it "renders the 'new' template" do
|
40
40
|
get :index
|
41
41
|
response.should render_template("new")
|
42
|
-
response.body.should =~ /generated by RSpec/
|
43
42
|
end
|
44
43
|
end
|
45
44
|
end
|
46
45
|
"""
|
47
46
|
When I run "rspec ./spec"
|
48
|
-
Then
|
47
|
+
Then the output should contain "1 example, 1 failure"
|
49
48
|
|
50
|
-
Scenario: set expectation about template content (fails with helpful message)
|
51
|
-
Given a file named "spec/controllers/widgets_controller_spec.rb" with:
|
52
|
-
"""
|
53
|
-
require "spec_helper.rb"
|
54
|
-
|
55
|
-
describe WidgetsController do
|
56
|
-
describe "index" do
|
57
|
-
it "renders the 'new' template" do
|
58
|
-
get :index
|
59
|
-
response.should contain("foo")
|
60
|
-
response.body.should =~ /generated by RSpec/
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
"""
|
65
|
-
When I run "rspec spec"
|
66
|
-
Then I should see "Template source generated by RSpec"
|
@@ -25,7 +25,7 @@ Feature: render views
|
|
25
25
|
end
|
26
26
|
"""
|
27
27
|
When I run "rspec spec"
|
28
|
-
Then
|
28
|
+
Then the output should contain "2 examples, 0 failures"
|
29
29
|
|
30
30
|
Scenario: expect template that does not exist and is rendered by controller (fails)
|
31
31
|
Given a file named "spec/controllers/widgets_controller_spec.rb" with:
|
@@ -49,8 +49,8 @@ Feature: render views
|
|
49
49
|
end
|
50
50
|
"""
|
51
51
|
When I run "rspec spec"
|
52
|
-
Then
|
53
|
-
And
|
52
|
+
Then the output should contain "1 example, 1 failure"
|
53
|
+
And the output should contain "Missing template"
|
54
54
|
|
55
55
|
Scenario: render_views on and off in diff contexts
|
56
56
|
Given a file named "spec/controllers/widgets_controller_spec.rb" with:
|
@@ -73,7 +73,7 @@ Feature: render views
|
|
73
73
|
describe "index" do
|
74
74
|
it "renders the RSpec generated template" do
|
75
75
|
get :index
|
76
|
-
response.body.should
|
76
|
+
response.body.should == ""
|
77
77
|
end
|
78
78
|
end
|
79
79
|
end
|
@@ -93,11 +93,11 @@ Feature: render views
|
|
93
93
|
describe "index" do
|
94
94
|
it "renders the RSpec generated template" do
|
95
95
|
get :index
|
96
|
-
response.body.should
|
96
|
+
response.body.should == ""
|
97
97
|
end
|
98
98
|
end
|
99
99
|
end
|
100
100
|
end
|
101
101
|
"""
|
102
102
|
When I run "rspec spec"
|
103
|
-
Then
|
103
|
+
Then the output should contain "4 examples, 0 failures"
|
@@ -16,7 +16,7 @@ Feature: URL helpers in mailer examples
|
|
16
16
|
end
|
17
17
|
"""
|
18
18
|
When I run "rspec spec"
|
19
|
-
Then
|
19
|
+
Then the output should contain "1 example, 0 failures"
|
20
20
|
|
21
21
|
Scenario: using URL helpers without default options
|
22
22
|
Given a file named "config/initializers/mailer_defaults.rb" with:
|
@@ -35,4 +35,4 @@ Feature: URL helpers in mailer examples
|
|
35
35
|
end
|
36
36
|
"""
|
37
37
|
When I run "rspec spec"
|
38
|
-
Then
|
38
|
+
Then the output should contain "1 example, 0 failures"
|
@@ -17,7 +17,7 @@ Feature: be_routable matcher
|
|
17
17
|
"""
|
18
18
|
|
19
19
|
When I run "rspec spec/routing/widgets_routing_spec.rb"
|
20
|
-
Then
|
20
|
+
Then the output should contain "1 example, 0 failures"
|
21
21
|
|
22
22
|
Scenario: specify routeable route should not be routable (fails)
|
23
23
|
Given a file named "spec/routing/widgets_routing_spec.rb" with:
|
@@ -32,7 +32,7 @@ Feature: be_routable matcher
|
|
32
32
|
"""
|
33
33
|
|
34
34
|
When I run "rspec spec/routing/widgets_routing_spec.rb"
|
35
|
-
Then
|
35
|
+
Then the output should contain "1 example, 1 failure"
|
36
36
|
|
37
37
|
Scenario: specify non-routeable route should not be routable (passes)
|
38
38
|
Given a file named "spec/routing/widgets_routing_spec.rb" with:
|
@@ -47,7 +47,7 @@ Feature: be_routable matcher
|
|
47
47
|
"""
|
48
48
|
|
49
49
|
When I run "rspec spec/routing/widgets_routing_spec.rb"
|
50
|
-
Then
|
50
|
+
Then the output should contain "1 example, 0 failures"
|
51
51
|
|
52
52
|
Scenario: specify non-routeable route should be routable (fails)
|
53
53
|
Given a file named "spec/routing/widgets_routing_spec.rb" with:
|
@@ -62,7 +62,7 @@ Feature: be_routable matcher
|
|
62
62
|
"""
|
63
63
|
|
64
64
|
When I run "rspec spec/routing/widgets_routing_spec.rb"
|
65
|
-
Then
|
65
|
+
Then the output should contain "1 example, 1 failure"
|
66
66
|
|
67
67
|
Scenario: be_routable in a controller spec
|
68
68
|
Given a file named "spec/controllers/widgets_controller_spec.rb" with:
|
@@ -77,4 +77,4 @@ Feature: be_routable matcher
|
|
77
77
|
"""
|
78
78
|
|
79
79
|
When I run "rspec spec/controllers/widgets_controller_spec.rb"
|
80
|
-
Then
|
80
|
+
Then the output should contain "1 example, 0 failures"
|
@@ -21,7 +21,7 @@ Feature: transactional examples
|
|
21
21
|
end
|
22
22
|
"""
|
23
23
|
When I run "rspec spec/models/widget_spec.rb"
|
24
|
-
Then
|
24
|
+
Then the output should contain "3 examples, 0 failures"
|
25
25
|
|
26
26
|
Scenario: run in transactions (explicit)
|
27
27
|
Given a file named "spec/models/widget_spec.rb" with:
|
@@ -48,7 +48,7 @@ Feature: transactional examples
|
|
48
48
|
end
|
49
49
|
"""
|
50
50
|
When I run "rspec spec/models/widget_spec.rb"
|
51
|
-
Then
|
51
|
+
Then the output should contain "3 examples, 0 failures"
|
52
52
|
|
53
53
|
Scenario: disable transactions (explicit)
|
54
54
|
Given a file named "spec/models/widget_spec.rb" with:
|
@@ -77,7 +77,7 @@ Feature: transactional examples
|
|
77
77
|
end
|
78
78
|
"""
|
79
79
|
When I run "rspec spec/models/widget_spec.rb"
|
80
|
-
Then
|
80
|
+
Then the output should contain "3 examples, 0 failures"
|
81
81
|
|
82
82
|
Scenario: run in transactions with fixture
|
83
83
|
Given a file named "spec/models/thing_spec.rb" with:
|
@@ -97,7 +97,7 @@ Feature: transactional examples
|
|
97
97
|
name: MyString
|
98
98
|
"""
|
99
99
|
When I run "rspec spec/models/thing_spec.rb"
|
100
|
-
Then
|
100
|
+
Then the output should contain "1 example, 0 failures"
|
101
101
|
|
102
102
|
|
103
103
|
|
data/features/support/env.rb
CHANGED
@@ -1,22 +1,4 @@
|
|
1
|
-
require 'bundler'
|
2
|
-
Bundler.setup
|
3
|
-
|
4
1
|
require 'aruba'
|
5
|
-
require 'rspec/expectations'
|
6
|
-
|
7
|
-
module ArubaOverrides
|
8
|
-
def detect_ruby_script(cmd)
|
9
|
-
if cmd =~ /^rspec /
|
10
|
-
"bundle exec ../../../rspec-core/bin/#{cmd}"
|
11
|
-
elsif cmd =~ /^ruby /
|
12
|
-
"bundle exec #{cmd}"
|
13
|
-
else
|
14
|
-
super(cmd)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
World(ArubaOverrides)
|
20
2
|
|
21
3
|
unless File.directory?('./tmp/example_app')
|
22
4
|
system "rake generate:app generate:stuff"
|
@@ -22,7 +22,7 @@ Feature: view spec
|
|
22
22
|
end
|
23
23
|
"""
|
24
24
|
When I run "rspec spec/views"
|
25
|
-
Then
|
25
|
+
Then the output should contain "1 example, 0 failures"
|
26
26
|
|
27
27
|
Scenario: passing spec with before and nesting
|
28
28
|
Given a file named "spec/views/widgets/index.html.erb_spec.rb" with:
|
@@ -49,7 +49,7 @@ Feature: view spec
|
|
49
49
|
end
|
50
50
|
"""
|
51
51
|
When I run "rspec spec/views"
|
52
|
-
Then
|
52
|
+
Then the output should contain "1 example, 0 failures"
|
53
53
|
|
54
54
|
Scenario: passing spec with explicit template rendering
|
55
55
|
Given a file named "spec/views/widgets/widget.html.erb_spec.rb" with:
|
@@ -71,7 +71,7 @@ Feature: view spec
|
|
71
71
|
<h2><%= @widget.name %></h2>
|
72
72
|
"""
|
73
73
|
When I run "rspec spec/views"
|
74
|
-
Then
|
74
|
+
Then the output should contain "1 example, 0 failures"
|
75
75
|
|
76
76
|
Scenario: passing spec with rendering of locals in a partial
|
77
77
|
Given a file named "spec/views/widgets/_widget.html.erb_spec.rb" with:
|
@@ -93,7 +93,7 @@ Feature: view spec
|
|
93
93
|
<h3><%= widget.name %></h3>
|
94
94
|
"""
|
95
95
|
When I run "rspec spec/views"
|
96
|
-
Then
|
96
|
+
Then the output should contain "1 example, 0 failures"
|
97
97
|
|
98
98
|
Scenario: passing spec with rendering of locals in an implicit partial
|
99
99
|
Given a file named "spec/views/widgets/_widget.html.erb_spec.rb" with:
|
@@ -115,7 +115,7 @@ Feature: view spec
|
|
115
115
|
<h3><%= widget.name %></h3>
|
116
116
|
"""
|
117
117
|
When I run "rspec spec/views"
|
118
|
-
Then
|
118
|
+
Then the output should contain "1 example, 0 failures"
|
119
119
|
|
120
120
|
Scenario: passing spec with rendering of text
|
121
121
|
Given a file named "spec/views/widgets/direct.html.erb_spec.rb" with:
|
@@ -132,7 +132,7 @@ Feature: view spec
|
|
132
132
|
end
|
133
133
|
"""
|
134
134
|
When I run "rspec spec/views"
|
135
|
-
Then
|
135
|
+
Then the output should contain "1 example, 0 failures"
|
136
136
|
|
137
137
|
Scenario: passing spec with rendering of Prototype helper update
|
138
138
|
Given a file named "spec/views/widgets/prototype_update.html.erb_spec.rb" with:
|
@@ -151,4 +151,4 @@ Feature: view spec
|
|
151
151
|
end
|
152
152
|
"""
|
153
153
|
When I run "rspec spec/views"
|
154
|
-
Then
|
154
|
+
Then the output should contain "1 example, 0 failures"
|
@@ -3,13 +3,12 @@ require 'generators/rspec'
|
|
3
3
|
module Rspec
|
4
4
|
module Generators
|
5
5
|
class HelperGenerator < Base
|
6
|
-
include Rails::Generators::ResourceHelpers
|
7
6
|
class_option :helpers, :type => :boolean, :default => true
|
8
7
|
|
9
8
|
def create_helper_files
|
10
9
|
return unless options[:helpers]
|
11
10
|
|
12
|
-
template 'helper_spec.rb', File.join('spec/helpers', class_path, "#{
|
11
|
+
template 'helper_spec.rb', File.join('spec/helpers', class_path, "#{file_name}_helper_spec.rb")
|
13
12
|
end
|
14
13
|
end
|
15
14
|
end
|
@@ -1,15 +1,15 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
# Specs in this file have access to a helper object that includes
|
4
|
-
# the <%=
|
4
|
+
# the <%= class_name %>Helper. For example:
|
5
5
|
#
|
6
|
-
# describe <%=
|
6
|
+
# describe <%= class_name %>Helper do
|
7
7
|
# describe "string concat" do
|
8
8
|
# it "concats two strings with spaces" do
|
9
9
|
# helper.concat_strings("this","that").should == "this that"
|
10
10
|
# end
|
11
11
|
# end
|
12
12
|
# end
|
13
|
-
describe <%=
|
13
|
+
describe <%= class_name %>Helper do
|
14
14
|
pending "add some examples to (or delete) #{__FILE__}"
|
15
15
|
end
|
@@ -19,20 +19,6 @@ DESC
|
|
19
19
|
directory 'spec'
|
20
20
|
end
|
21
21
|
|
22
|
-
def copy_lib_files
|
23
|
-
directory 'lib'
|
24
|
-
end
|
25
|
-
|
26
|
-
def copy_initializer_files
|
27
|
-
inside "config" do
|
28
|
-
empty_directory "initializers", :verbose => false
|
29
|
-
|
30
|
-
inside "initializers" do
|
31
|
-
template "rspec_generator.rb.tt", "rspec_generator.rb"
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
22
|
def copy_autotest_files
|
37
23
|
directory 'autotest'
|
38
24
|
end
|
@@ -33,12 +33,9 @@ module Rspec
|
|
33
33
|
copy_view :show
|
34
34
|
end
|
35
35
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
template "helper_spec.rb",
|
40
|
-
File.join('spec/helpers', controller_class_path, "#{controller_file_name}_helper_spec.rb")
|
41
|
-
|
36
|
+
# Invoke the helper using the controller name (pluralized)
|
37
|
+
hook_for :helper, :as => :scaffold do |invoked|
|
38
|
+
invoke invoked, [ controller_name ]
|
42
39
|
end
|
43
40
|
|
44
41
|
def copy_routing_files
|
data/lib/rspec-rails.rb
CHANGED
data/lib/rspec/rails/example.rb
CHANGED
@@ -9,6 +9,7 @@ if defined?(ActionMailer)
|
|
9
9
|
include RSpec::Matchers
|
10
10
|
|
11
11
|
included do
|
12
|
+
metadata[:type] = :mailer
|
12
13
|
include ::Rails.application.routes.url_helpers
|
13
14
|
options = ::Rails.configuration.action_mailer.default_url_options
|
14
15
|
options.each { |key, value| default_url_options[key] = value } if options
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module RSpec::Rails
|
2
|
+
module ModelExampleGroup
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
extend RSpec::Rails::ModuleInclusion
|
5
|
+
|
6
|
+
include RSpec::Matchers
|
7
|
+
|
8
|
+
included do
|
9
|
+
metadata[:type] = :model
|
10
|
+
end
|
11
|
+
|
12
|
+
RSpec.configure &include_self_when_dir_matches('spec','models')
|
13
|
+
end
|
14
|
+
end
|
@@ -1,38 +1,10 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
rescue MissingSourceFile
|
5
|
-
module RSpec
|
6
|
-
module Core
|
7
|
-
class RakeTask
|
8
|
-
def initialize(name)
|
9
|
-
task name do
|
10
|
-
# if rspec-rails is a configured gem, this will output helpful material and exit ...
|
11
|
-
require File.expand_path(File.dirname(__FILE__) + "/../../config/environment")
|
12
|
-
|
13
|
-
# ... otherwise, do this:
|
14
|
-
raise <<-MSG
|
15
|
-
|
16
|
-
#{"*" * 80}
|
17
|
-
* You are trying to run an rspec rake task defined in
|
18
|
-
* #{__FILE__},
|
19
|
-
* but rspec can not be found in vendor/gems, vendor/plugins or system gems.
|
20
|
-
#{"*" * 80}
|
21
|
-
MSG
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
Rake.application.instance_variable_get('@tasks').delete('default')
|
30
|
-
|
1
|
+
require 'rspec/core'
|
2
|
+
require 'rspec/core/rake_task'
|
3
|
+
Rake.application.instance_variable_get('@tasks')['default'].prerequisites.delete('test')
|
31
4
|
spec_prereq = Rails.root.join('config', 'database.yml').exist? ? "db:test:prepare" : :noop
|
32
|
-
task :noop do
|
33
|
-
end
|
34
|
-
|
5
|
+
task :noop do; end
|
35
6
|
task :default => :spec
|
7
|
+
|
36
8
|
task :stats => "spec:statsetup"
|
37
9
|
|
38
10
|
desc "Run all specs in spec directory (excluding plugin specs)"
|
data/rspec-rails.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{rspec-rails}
|
8
|
-
s.version = "2.0.0.beta.
|
8
|
+
s.version = "2.0.0.beta.17"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["David Chelimsky", "Chad Humphries"]
|
12
|
-
s.date = %q{2010-07-
|
12
|
+
s.date = %q{2010-07-11}
|
13
13
|
s.description = %q{RSpec-2 for Rails-3}
|
14
14
|
s.email = %q{dchelimsky@gmail.com;chad.humphries@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -47,8 +47,6 @@ Gem::Specification.new do |s|
|
|
47
47
|
"lib/generators/rspec/install/install_generator.rb",
|
48
48
|
"lib/generators/rspec/install/templates/.rspec",
|
49
49
|
"lib/generators/rspec/install/templates/autotest/discover.rb",
|
50
|
-
"lib/generators/rspec/install/templates/config/initializers/rspec_generator.rb.tt",
|
51
|
-
"lib/generators/rspec/install/templates/lib/tasks/rspec.rake",
|
52
50
|
"lib/generators/rspec/install/templates/spec/spec_helper.rb",
|
53
51
|
"lib/generators/rspec/integration/integration_generator.rb",
|
54
52
|
"lib/generators/rspec/integration/templates/request_spec.rb",
|
@@ -76,6 +74,7 @@ Gem::Specification.new do |s|
|
|
76
74
|
"lib/rspec/rails/example/controller_example_group.rb",
|
77
75
|
"lib/rspec/rails/example/helper_example_group.rb",
|
78
76
|
"lib/rspec/rails/example/mailer_example_group.rb",
|
77
|
+
"lib/rspec/rails/example/model_example_group.rb",
|
79
78
|
"lib/rspec/rails/example/request_example_group.rb",
|
80
79
|
"lib/rspec/rails/example/routing_example_group.rb",
|
81
80
|
"lib/rspec/rails/example/view_example_group.rb",
|
@@ -92,6 +91,7 @@ Gem::Specification.new do |s|
|
|
92
91
|
"lib/rspec/rails/module_inclusion.rb",
|
93
92
|
"lib/rspec/rails/monkey.rb",
|
94
93
|
"lib/rspec/rails/monkey/action_mailer/test_case.rb",
|
94
|
+
"lib/rspec/rails/tasks/rspec.rake",
|
95
95
|
"lib/rspec/rails/version.rb",
|
96
96
|
"lib/rspec/rails/view_assigns.rb",
|
97
97
|
"lib/rspec/rails/view_rendering.rb",
|
@@ -99,6 +99,7 @@ Gem::Specification.new do |s|
|
|
99
99
|
"spec/rspec/rails/example/controller_example_group_spec.rb",
|
100
100
|
"spec/rspec/rails/example/helper_example_group_spec.rb",
|
101
101
|
"spec/rspec/rails/example/mailer_example_group_spec.rb",
|
102
|
+
"spec/rspec/rails/example/model_example_group_spec.rb",
|
102
103
|
"spec/rspec/rails/example/request_example_group_spec.rb",
|
103
104
|
"spec/rspec/rails/example/routing_example_group_spec.rb",
|
104
105
|
"spec/rspec/rails/example/view_example_group_spec.rb",
|
@@ -121,18 +122,35 @@ Gem::Specification.new do |s|
|
|
121
122
|
s.homepage = %q{http://github.com/rspec/rspec-rails}
|
122
123
|
s.post_install_message = %q{**************************************************
|
123
124
|
|
124
|
-
Thank you for installing rspec-rails-2.0.0.beta.
|
125
|
+
Thank you for installing rspec-rails-2.0.0.beta.17!
|
125
126
|
|
126
|
-
This version of rspec-rails only works with
|
127
|
-
versions of rails >= 3.0.0.pre.
|
127
|
+
This version of rspec-rails only works with versions of rails >= 3.0.0.beta.4.
|
128
128
|
|
129
|
-
|
130
|
-
|
129
|
+
To configure your app to use rspec-rails, add a declaration to your Gemfile.
|
130
|
+
If you are using Bundler's grouping feature in your Gemfile, be sure to include
|
131
|
+
rspec-rails in the :development group as well as the :test group so that you
|
132
|
+
can access its generators and rake tasks.
|
133
|
+
|
134
|
+
group :development, :test do
|
135
|
+
gem "rspec-rails", ">= 2.0.0.beta.17"
|
136
|
+
end
|
137
|
+
|
138
|
+
Be sure to run the following command in each of your Rails apps if you're
|
139
|
+
upgrading:
|
131
140
|
|
132
141
|
script/rails generate rspec:install
|
133
142
|
|
134
|
-
|
135
|
-
|
143
|
+
Even if you've run it before, this ensures that you have the latest updates
|
144
|
+
to spec/spec_helper.rb and any other support files.
|
145
|
+
|
146
|
+
Previous versions of rspec-rails-2.0.0.beta installed files that are no
|
147
|
+
longer being used, so please remove these files if you have them:
|
148
|
+
|
149
|
+
lib/tasks/rspec.rake
|
150
|
+
config/initializers/rspec_generator.rb
|
151
|
+
|
152
|
+
Lastly, be sure to look at Upgrade.markdown to see what might have changed
|
153
|
+
since the last release.
|
136
154
|
|
137
155
|
**************************************************
|
138
156
|
}
|
@@ -140,11 +158,12 @@ Gem::Specification.new do |s|
|
|
140
158
|
s.require_paths = ["lib"]
|
141
159
|
s.rubyforge_project = %q{rspec}
|
142
160
|
s.rubygems_version = %q{1.3.7}
|
143
|
-
s.summary = %q{rspec-rails-2.0.0.beta.
|
161
|
+
s.summary = %q{rspec-rails-2.0.0.beta.17}
|
144
162
|
s.test_files = [
|
145
163
|
"spec/rspec/rails/example/controller_example_group_spec.rb",
|
146
164
|
"spec/rspec/rails/example/helper_example_group_spec.rb",
|
147
165
|
"spec/rspec/rails/example/mailer_example_group_spec.rb",
|
166
|
+
"spec/rspec/rails/example/model_example_group_spec.rb",
|
148
167
|
"spec/rspec/rails/example/request_example_group_spec.rb",
|
149
168
|
"spec/rspec/rails/example/routing_example_group_spec.rb",
|
150
169
|
"spec/rspec/rails/example/view_example_group_spec.rb",
|
@@ -11,5 +11,12 @@ module RSpec::Rails
|
|
11
11
|
end
|
12
12
|
group.included_modules.should include(RSpec::Rails::Matchers::RoutingMatchers)
|
13
13
|
end
|
14
|
+
|
15
|
+
it "adds :type => :controller to the metadata" do
|
16
|
+
group = RSpec::Core::ExampleGroup.describe do
|
17
|
+
include ControllerExampleGroup
|
18
|
+
end
|
19
|
+
group.metadata[:type].should eq(:controller)
|
20
|
+
end
|
14
21
|
end
|
15
22
|
end
|
@@ -14,6 +14,13 @@ module RSpec::Rails
|
|
14
14
|
helper_spec.__send__(:_controller_path).should == "foos"
|
15
15
|
end
|
16
16
|
|
17
|
+
it "adds :type => :helper to the metadata" do
|
18
|
+
group = RSpec::Core::ExampleGroup.describe do
|
19
|
+
include HelperExampleGroup
|
20
|
+
end
|
21
|
+
group.metadata[:type].should eq(:helper)
|
22
|
+
end
|
23
|
+
|
17
24
|
describe "#helper" do
|
18
25
|
it "returns the instance of AV::Base provided by AV::TC::Behavior" do
|
19
26
|
helper_spec = Object.new.extend HelperExampleGroup::InstanceMethods
|
@@ -2,7 +2,6 @@ require "spec_helper"
|
|
2
2
|
|
3
3
|
module RSpec::Rails
|
4
4
|
describe MailerExampleGroup do
|
5
|
-
|
6
5
|
module ::Rails; end
|
7
6
|
before do
|
8
7
|
Rails.stub_chain(:application, :routes, :url_helpers).and_return(Rails)
|
@@ -11,5 +10,12 @@ module RSpec::Rails
|
|
11
10
|
|
12
11
|
it { should be_included_in_files_in('./spec/mailers/') }
|
13
12
|
it { should be_included_in_files_in('.\\spec\\mailers\\') }
|
13
|
+
|
14
|
+
it "adds :type => :mailer to the metadata" do
|
15
|
+
group = RSpec::Core::ExampleGroup.describe do
|
16
|
+
include MailerExampleGroup
|
17
|
+
end
|
18
|
+
group.metadata[:type].should eq(:mailer)
|
19
|
+
end
|
14
20
|
end
|
15
21
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
module RSpec::Rails
|
4
|
+
describe ModelExampleGroup do
|
5
|
+
it { should be_included_in_files_in('./spec/models/') }
|
6
|
+
it { should be_included_in_files_in('.\\spec\\models\\') }
|
7
|
+
|
8
|
+
it "adds :type => :model to the metadata" do
|
9
|
+
group = RSpec::Core::ExampleGroup.describe do
|
10
|
+
include ModelExampleGroup
|
11
|
+
end
|
12
|
+
group.metadata[:type].should eq(:model)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -4,5 +4,12 @@ module RSpec::Rails
|
|
4
4
|
describe RequestExampleGroup do
|
5
5
|
it { should be_included_in_files_in('./spec/requests/') }
|
6
6
|
it { should be_included_in_files_in('.\\spec\\requests\\') }
|
7
|
+
|
8
|
+
it "adds :type => :request to the metadata" do
|
9
|
+
group = RSpec::Core::ExampleGroup.describe do
|
10
|
+
include RequestExampleGroup
|
11
|
+
end
|
12
|
+
group.metadata[:type].should eq(:request)
|
13
|
+
end
|
7
14
|
end
|
8
15
|
end
|
@@ -4,5 +4,12 @@ module RSpec::Rails
|
|
4
4
|
describe RoutingExampleGroup do
|
5
5
|
it { should be_included_in_files_in('./spec/routing/') }
|
6
6
|
it { should be_included_in_files_in('.\\spec\\routing\\') }
|
7
|
+
|
8
|
+
it "adds :type => :routing to the metadata" do
|
9
|
+
group = RSpec::Core::ExampleGroup.describe do
|
10
|
+
include RoutingExampleGroup
|
11
|
+
end
|
12
|
+
group.metadata[:type].should eq(:routing)
|
13
|
+
end
|
7
14
|
end
|
8
15
|
end
|
@@ -5,6 +5,13 @@ module RSpec::Rails
|
|
5
5
|
it { should be_included_in_files_in('./spec/views/') }
|
6
6
|
it { should be_included_in_files_in('.\\spec\\views\\') }
|
7
7
|
|
8
|
+
it "adds :type => :view to the metadata" do
|
9
|
+
group = RSpec::Core::ExampleGroup.describe do
|
10
|
+
include ViewExampleGroup
|
11
|
+
end
|
12
|
+
group.metadata[:type].should eq(:view)
|
13
|
+
end
|
14
|
+
|
8
15
|
describe "#render" do
|
9
16
|
let(:view_spec) do
|
10
17
|
Class.new do
|
@@ -26,7 +26,7 @@ describe "render_template" do
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
context "given a
|
29
|
+
context "given a symbol" do
|
30
30
|
it "converts to_s and delegates to assert_template" do
|
31
31
|
self.should_receive(:assert_template).with("template_name", "this message")
|
32
32
|
"response".should render_template(:template_name, "this message")
|
data/spec/spec_helper.rb
CHANGED
data/templates/Gemfile
CHANGED
@@ -5,8 +5,10 @@ gem 'rails', :path => "../../vendor/rails"
|
|
5
5
|
|
6
6
|
gem 'sqlite3-ruby', :require => 'sqlite3'
|
7
7
|
|
8
|
-
|
9
|
-
gem "rspec",
|
10
|
-
gem "rspec
|
11
|
-
gem "rspec-
|
12
|
-
gem "rspec-
|
8
|
+
group :development, :test do
|
9
|
+
gem "rspec-rails", :path => "../../../rspec-rails"
|
10
|
+
gem "rspec", :path => "../../../rspec"
|
11
|
+
gem "rspec-core", :path => "../../../rspec-core"
|
12
|
+
gem "rspec-expectations", :path => "../../../rspec-expectations"
|
13
|
+
gem "rspec-mocks", :path => "../../../rspec-mocks"
|
14
|
+
end
|
data/templates/generate_stuff.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
generate('rspec:install')
|
2
|
-
generate('controller wombats index')
|
2
|
+
generate('controller wombats index') # plural
|
3
|
+
generate('controller welcome index') # singular
|
3
4
|
generate('integration_test widgets')
|
4
5
|
generate('mailer Notifications signup')
|
5
6
|
generate('model thing name:string')
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 62196417
|
5
5
|
prerelease: true
|
6
6
|
segments:
|
7
7
|
- 2
|
8
8
|
- 0
|
9
9
|
- 0
|
10
10
|
- beta
|
11
|
-
-
|
12
|
-
version: 2.0.0.beta.
|
11
|
+
- 17
|
12
|
+
version: 2.0.0.beta.17
|
13
13
|
platform: ruby
|
14
14
|
authors:
|
15
15
|
- David Chelimsky
|
@@ -18,7 +18,7 @@ autorequire:
|
|
18
18
|
bindir: bin
|
19
19
|
cert_chain: []
|
20
20
|
|
21
|
-
date: 2010-07-
|
21
|
+
date: 2010-07-11 00:00:00 -05:00
|
22
22
|
default_executable:
|
23
23
|
dependencies:
|
24
24
|
- !ruby/object:Gem::Dependency
|
@@ -95,8 +95,6 @@ files:
|
|
95
95
|
- lib/generators/rspec/install/install_generator.rb
|
96
96
|
- lib/generators/rspec/install/templates/.rspec
|
97
97
|
- lib/generators/rspec/install/templates/autotest/discover.rb
|
98
|
-
- lib/generators/rspec/install/templates/config/initializers/rspec_generator.rb.tt
|
99
|
-
- lib/generators/rspec/install/templates/lib/tasks/rspec.rake
|
100
98
|
- lib/generators/rspec/install/templates/spec/spec_helper.rb
|
101
99
|
- lib/generators/rspec/integration/integration_generator.rb
|
102
100
|
- lib/generators/rspec/integration/templates/request_spec.rb
|
@@ -124,6 +122,7 @@ files:
|
|
124
122
|
- lib/rspec/rails/example/controller_example_group.rb
|
125
123
|
- lib/rspec/rails/example/helper_example_group.rb
|
126
124
|
- lib/rspec/rails/example/mailer_example_group.rb
|
125
|
+
- lib/rspec/rails/example/model_example_group.rb
|
127
126
|
- lib/rspec/rails/example/request_example_group.rb
|
128
127
|
- lib/rspec/rails/example/routing_example_group.rb
|
129
128
|
- lib/rspec/rails/example/view_example_group.rb
|
@@ -140,6 +139,7 @@ files:
|
|
140
139
|
- lib/rspec/rails/module_inclusion.rb
|
141
140
|
- lib/rspec/rails/monkey.rb
|
142
141
|
- lib/rspec/rails/monkey/action_mailer/test_case.rb
|
142
|
+
- lib/rspec/rails/tasks/rspec.rake
|
143
143
|
- lib/rspec/rails/version.rb
|
144
144
|
- lib/rspec/rails/view_assigns.rb
|
145
145
|
- lib/rspec/rails/view_rendering.rb
|
@@ -147,6 +147,7 @@ files:
|
|
147
147
|
- spec/rspec/rails/example/controller_example_group_spec.rb
|
148
148
|
- spec/rspec/rails/example/helper_example_group_spec.rb
|
149
149
|
- spec/rspec/rails/example/mailer_example_group_spec.rb
|
150
|
+
- spec/rspec/rails/example/model_example_group_spec.rb
|
150
151
|
- spec/rspec/rails/example/request_example_group_spec.rb
|
151
152
|
- spec/rspec/rails/example/routing_example_group_spec.rb
|
152
153
|
- spec/rspec/rails/example/view_example_group_spec.rb
|
@@ -172,18 +173,35 @@ licenses: []
|
|
172
173
|
post_install_message: |
|
173
174
|
**************************************************
|
174
175
|
|
175
|
-
Thank you for installing rspec-rails-2.0.0.beta.
|
176
|
+
Thank you for installing rspec-rails-2.0.0.beta.17!
|
176
177
|
|
177
|
-
This version of rspec-rails only works with
|
178
|
-
versions of rails >= 3.0.0.pre.
|
178
|
+
This version of rspec-rails only works with versions of rails >= 3.0.0.beta.4.
|
179
179
|
|
180
|
-
|
181
|
-
|
180
|
+
To configure your app to use rspec-rails, add a declaration to your Gemfile.
|
181
|
+
If you are using Bundler's grouping feature in your Gemfile, be sure to include
|
182
|
+
rspec-rails in the :development group as well as the :test group so that you
|
183
|
+
can access its generators and rake tasks.
|
184
|
+
|
185
|
+
group :development, :test do
|
186
|
+
gem "rspec-rails", ">= 2.0.0.beta.17"
|
187
|
+
end
|
188
|
+
|
189
|
+
Be sure to run the following command in each of your Rails apps if you're
|
190
|
+
upgrading:
|
182
191
|
|
183
192
|
script/rails generate rspec:install
|
184
193
|
|
185
|
-
|
186
|
-
|
194
|
+
Even if you've run it before, this ensures that you have the latest updates
|
195
|
+
to spec/spec_helper.rb and any other support files.
|
196
|
+
|
197
|
+
Previous versions of rspec-rails-2.0.0.beta installed files that are no
|
198
|
+
longer being used, so please remove these files if you have them:
|
199
|
+
|
200
|
+
lib/tasks/rspec.rake
|
201
|
+
config/initializers/rspec_generator.rb
|
202
|
+
|
203
|
+
Lastly, be sure to look at Upgrade.markdown to see what might have changed
|
204
|
+
since the last release.
|
187
205
|
|
188
206
|
**************************************************
|
189
207
|
|
@@ -217,11 +235,12 @@ rubyforge_project: rspec
|
|
217
235
|
rubygems_version: 1.3.7
|
218
236
|
signing_key:
|
219
237
|
specification_version: 3
|
220
|
-
summary: rspec-rails-2.0.0.beta.
|
238
|
+
summary: rspec-rails-2.0.0.beta.17
|
221
239
|
test_files:
|
222
240
|
- spec/rspec/rails/example/controller_example_group_spec.rb
|
223
241
|
- spec/rspec/rails/example/helper_example_group_spec.rb
|
224
242
|
- spec/rspec/rails/example/mailer_example_group_spec.rb
|
243
|
+
- spec/rspec/rails/example/model_example_group_spec.rb
|
225
244
|
- spec/rspec/rails/example/request_example_group_spec.rb
|
226
245
|
- spec/rspec/rails/example/routing_example_group_spec.rb
|
227
246
|
- spec/rspec/rails/example/view_example_group_spec.rb
|