dchelimsky-rspec-rails 1.1.99.9 → 1.1.99.13
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +7 -0
- data/History.txt +3 -0
- data/Manifest.txt +43 -40
- data/Rakefile +1 -6
- data/Upgrade.markdown +70 -19
- data/generators/rspec/templates/rspec.rake +4 -2
- data/generators/rspec/templates/script/spec +19 -2
- data/generators/rspec/templates/script/spec_server +17 -3
- data/lib/spec/rails/example/controller_example_group.rb +3 -2
- data/lib/spec/rails/example/helper_example_group.rb +6 -20
- data/lib/spec/rails/example/routing_example_group.rb +13 -0
- data/lib/spec/rails/extensions/spec/matchers/have.rb +2 -2
- data/lib/spec/rails/matchers/ar_be_valid.rb +4 -4
- data/lib/spec/rails/matchers/assert_select.rb +35 -20
- data/lib/spec/rails/matchers/have_text.rb +2 -2
- data/lib/spec/rails/matchers/include_text.rb +2 -2
- data/lib/spec/rails/matchers/redirect_to.rb +2 -2
- data/lib/spec/rails/matchers/render_template.rb +2 -2
- data/lib/spec/rails/version.rb +1 -1
- data/rspec-rails.gemspec +8 -8
- data/spec/resources/controllers/controller_spec_controller.rb +4 -0
- data/spec/resources/controllers/example.txt +1 -0
- data/spec/resources/views/controller_spec/{_partial.rhtml → _partial.html.erb} +0 -0
- data/spec/resources/views/controller_spec/{action_setting_flash_after_session_reset.rhtml → action_setting_flash_after_session_reset.html.erb} +0 -0
- data/spec/resources/views/controller_spec/{action_setting_flash_before_session_reset.rhtml → action_setting_flash_before_session_reset.html.erb} +0 -0
- data/spec/resources/views/controller_spec/{action_setting_the_assigns_hash.rhtml → action_setting_the_assigns_hash.html.erb} +0 -0
- data/spec/resources/views/controller_spec/{action_with_errors_in_template.rhtml → action_with_errors_in_template.html.erb} +0 -0
- data/spec/resources/views/controller_spec/{action_with_template.rhtml → action_with_template.html.erb} +0 -0
- data/spec/resources/views/layouts/{application.rhtml → application.html.erb} +0 -0
- data/spec/resources/views/layouts/{simple.rhtml → simple.html.erb} +0 -0
- data/spec/resources/views/render_spec/{_a_partial.rhtml → _a_partial.html.erb} +0 -0
- data/spec/resources/views/render_spec/{action_with_alternate_layout.rhtml → action_with_alternate_layout.html.erb} +0 -0
- data/spec/resources/views/rjs_spec/{_replacement_partial.rhtml → _replacement_partial.html.erb} +0 -0
- data/spec/resources/views/rjs_spec/{hide_div.rjs → hide_div.js.rjs} +0 -0
- data/spec/resources/views/rjs_spec/{hide_page_element.rjs → hide_page_element.js.rjs} +0 -0
- data/spec/resources/views/rjs_spec/{insert_html.rjs → insert_html.js.rjs} +0 -0
- data/spec/resources/views/rjs_spec/{replace.rjs → replace.js.rjs} +0 -0
- data/spec/resources/views/rjs_spec/{replace_html.rjs → replace_html.js.rjs} +0 -0
- data/spec/resources/views/rjs_spec/{replace_html_with_partial.rjs → replace_html_with_partial.js.rjs} +0 -0
- data/spec/resources/views/rjs_spec/{visual_effect.rjs → visual_effect.js.rjs} +0 -0
- data/spec/resources/views/rjs_spec/{visual_toggle_effect.rjs → visual_toggle_effect.js.rjs} +0 -0
- data/spec/resources/views/tag_spec/{no_tags.rhtml → no_tags.html.erb} +0 -0
- data/spec/resources/views/tag_spec/{single_div_with_no_attributes.rhtml → single_div_with_no_attributes.html.erb} +0 -0
- data/spec/resources/views/tag_spec/{single_div_with_one_attribute.rhtml → single_div_with_one_attribute.html.erb} +0 -0
- data/spec/resources/views/view_spec/{_partial.rhtml → _partial.html.erb} +0 -0
- data/spec/resources/views/view_spec/{_partial_used_twice.rhtml → _partial_used_twice.html.erb} +0 -0
- data/spec/resources/views/view_spec/{_partial_with_local_variable.rhtml → _partial_with_local_variable.html.erb} +0 -0
- data/spec/resources/views/view_spec/{_partial_with_sub_partial.rhtml → _partial_with_sub_partial.html.erb} +0 -0
- data/spec/resources/views/view_spec/{_spacer.rhtml → _spacer.html.erb} +0 -0
- data/spec/resources/views/view_spec/{accessor.rhtml → accessor.html.erb} +0 -0
- data/spec/resources/views/view_spec/{block_helper.rhtml → block_helper.html.erb} +0 -0
- data/spec/resources/views/view_spec/{entry_form.rhtml → entry_form.html.erb} +0 -0
- data/spec/resources/views/view_spec/{explicit_helper.rhtml → explicit_helper.html.erb} +0 -0
- data/spec/resources/views/view_spec/foo/{show.rhtml → show.html.erb} +0 -0
- data/spec/resources/views/view_spec/{implicit_helper.rhtml → implicit_helper.html.erb} +0 -0
- data/spec/resources/views/view_spec/{multiple_helpers.rhtml → multiple_helpers.html.erb} +0 -0
- data/spec/resources/views/view_spec/{should_not_receive.rhtml → should_not_receive.html.erb} +0 -0
- data/spec/resources/views/view_spec/{template_with_partial.rhtml → template_with_partial.html.erb} +0 -0
- data/spec/resources/views/view_spec/{template_with_partial_using_collection.rhtml → template_with_partial_using_collection.html.erb} +0 -0
- data/spec/resources/views/view_spec/{template_with_partial_with_array.rhtml → template_with_partial_with_array.html.erb} +0 -0
- data/spec/spec/rails/example/controller_example_group_spec.rb +8 -3
- data/spec/spec/rails/example/helper_example_group_spec.rb +27 -0
- data/spec/spec/rails/example/routing_example_group_spec.rb +9 -0
- data/spec/spec/rails/example/shared_routing_example_group_examples.rb +45 -0
- data/spec/spec/rails/example/view_example_group_spec.rb +3 -3
- data/spec/spec/rails/matchers/assert_select_spec.rb +56 -58
- data/spec/spec/rails/matchers/render_template_spec.rb +45 -37
- metadata +48 -45
- data/spec/resources/views/render_spec/some_action.rjs +0 -1
data/.document
ADDED
data/History.txt
CHANGED
@@ -49,6 +49,9 @@ IMPORTANT: This release includes the following backwards-compatibility-breaking
|
|
49
49
|
* force cache_classes = false when running with spec_server. Closes #287.
|
50
50
|
* keep spec_server working against edge rails (Jonathan Tron). Closes #685.
|
51
51
|
* create lib/tasks if not present when running script/generate rspec. Closes #687.
|
52
|
+
* fixed regression (and added spec so it won't regress again) where
|
53
|
+
render => :inline didn't render unless integrate_views was set
|
54
|
+
* fixed nil.with_output_buffer bug in helper specs. Closes #719.
|
52
55
|
|
53
56
|
=== Version 1.1.12 / 2009-01-11
|
54
57
|
|
data/Manifest.txt
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
.document
|
1
2
|
History.txt
|
2
3
|
License.txt
|
3
4
|
Manifest.txt
|
@@ -47,6 +48,7 @@ lib/spec/rails/example/functional_example_group.rb
|
|
47
48
|
lib/spec/rails/example/helper_example_group.rb
|
48
49
|
lib/spec/rails/example/model_example_group.rb
|
49
50
|
lib/spec/rails/example/render_observer.rb
|
51
|
+
lib/spec/rails/example/routing_example_group.rb
|
50
52
|
lib/spec/rails/example/routing_helpers.rb
|
51
53
|
lib/spec/rails/example/view_example_group.rb
|
52
54
|
lib/spec/rails/extensions.rb
|
@@ -77,6 +79,7 @@ spec/rails_suite.rb
|
|
77
79
|
spec/resources/controllers/action_view_base_spec_controller.rb
|
78
80
|
spec/resources/controllers/application.rb
|
79
81
|
spec/resources/controllers/controller_spec_controller.rb
|
82
|
+
spec/resources/controllers/example.txt
|
80
83
|
spec/resources/controllers/redirect_spec_controller.rb
|
81
84
|
spec/resources/controllers/render_spec_controller.rb
|
82
85
|
spec/resources/controllers/rjs_spec_controller.rb
|
@@ -88,49 +91,48 @@ spec/resources/helpers/view_spec_helper.rb
|
|
88
91
|
spec/resources/models/animal.rb
|
89
92
|
spec/resources/models/person.rb
|
90
93
|
spec/resources/models/thing.rb
|
91
|
-
spec/resources/views/controller_spec/_partial.
|
92
|
-
spec/resources/views/controller_spec/action_setting_flash_after_session_reset.
|
93
|
-
spec/resources/views/controller_spec/action_setting_flash_before_session_reset.
|
94
|
-
spec/resources/views/controller_spec/action_setting_the_assigns_hash.
|
95
|
-
spec/resources/views/controller_spec/action_with_errors_in_template.
|
96
|
-
spec/resources/views/controller_spec/action_with_template.
|
97
|
-
spec/resources/views/layouts/application.
|
98
|
-
spec/resources/views/layouts/simple.
|
94
|
+
spec/resources/views/controller_spec/_partial.html.erb
|
95
|
+
spec/resources/views/controller_spec/action_setting_flash_after_session_reset.html.erb
|
96
|
+
spec/resources/views/controller_spec/action_setting_flash_before_session_reset.html.erb
|
97
|
+
spec/resources/views/controller_spec/action_setting_the_assigns_hash.html.erb
|
98
|
+
spec/resources/views/controller_spec/action_with_errors_in_template.html.erb
|
99
|
+
spec/resources/views/controller_spec/action_with_template.html.erb
|
100
|
+
spec/resources/views/layouts/application.html.erb
|
101
|
+
spec/resources/views/layouts/simple.html.erb
|
99
102
|
spec/resources/views/objects/_object.html.erb
|
100
|
-
spec/resources/views/render_spec/_a_partial.
|
101
|
-
spec/resources/views/render_spec/action_with_alternate_layout.
|
103
|
+
spec/resources/views/render_spec/_a_partial.html.erb
|
104
|
+
spec/resources/views/render_spec/action_with_alternate_layout.html.erb
|
102
105
|
spec/resources/views/render_spec/some_action.html.erb
|
103
106
|
spec/resources/views/render_spec/some_action.js.rjs
|
104
|
-
spec/resources/views/
|
105
|
-
spec/resources/views/rjs_spec/
|
106
|
-
spec/resources/views/rjs_spec/
|
107
|
-
spec/resources/views/rjs_spec/
|
108
|
-
spec/resources/views/rjs_spec/
|
109
|
-
spec/resources/views/rjs_spec/
|
110
|
-
spec/resources/views/rjs_spec/
|
111
|
-
spec/resources/views/rjs_spec/
|
112
|
-
spec/resources/views/rjs_spec/
|
113
|
-
spec/resources/views/
|
114
|
-
spec/resources/views/tag_spec/
|
115
|
-
spec/resources/views/tag_spec/
|
116
|
-
spec/resources/views/
|
117
|
-
spec/resources/views/view_spec/
|
118
|
-
spec/resources/views/view_spec/
|
119
|
-
spec/resources/views/view_spec/
|
120
|
-
spec/resources/views/view_spec/
|
121
|
-
spec/resources/views/view_spec/
|
122
|
-
spec/resources/views/view_spec/
|
123
|
-
spec/resources/views/view_spec/
|
124
|
-
spec/resources/views/view_spec/
|
125
|
-
spec/resources/views/view_spec/
|
126
|
-
spec/resources/views/view_spec/
|
127
|
-
spec/resources/views/view_spec/
|
128
|
-
spec/resources/views/view_spec/multiple_helpers.rhtml
|
107
|
+
spec/resources/views/rjs_spec/_replacement_partial.html.erb
|
108
|
+
spec/resources/views/rjs_spec/hide_div.js.rjs
|
109
|
+
spec/resources/views/rjs_spec/hide_page_element.js.rjs
|
110
|
+
spec/resources/views/rjs_spec/insert_html.js.rjs
|
111
|
+
spec/resources/views/rjs_spec/replace.js.rjs
|
112
|
+
spec/resources/views/rjs_spec/replace_html.js.rjs
|
113
|
+
spec/resources/views/rjs_spec/replace_html_with_partial.js.rjs
|
114
|
+
spec/resources/views/rjs_spec/visual_effect.js.rjs
|
115
|
+
spec/resources/views/rjs_spec/visual_toggle_effect.js.rjs
|
116
|
+
spec/resources/views/tag_spec/no_tags.html.erb
|
117
|
+
spec/resources/views/tag_spec/single_div_with_no_attributes.html.erb
|
118
|
+
spec/resources/views/tag_spec/single_div_with_one_attribute.html.erb
|
119
|
+
spec/resources/views/view_spec/_partial.html.erb
|
120
|
+
spec/resources/views/view_spec/_partial_used_twice.html.erb
|
121
|
+
spec/resources/views/view_spec/_partial_with_local_variable.html.erb
|
122
|
+
spec/resources/views/view_spec/_partial_with_sub_partial.html.erb
|
123
|
+
spec/resources/views/view_spec/_spacer.html.erb
|
124
|
+
spec/resources/views/view_spec/accessor.html.erb
|
125
|
+
spec/resources/views/view_spec/block_helper.html.erb
|
126
|
+
spec/resources/views/view_spec/entry_form.html.erb
|
127
|
+
spec/resources/views/view_spec/explicit_helper.html.erb
|
128
|
+
spec/resources/views/view_spec/foo/show.html.erb
|
129
|
+
spec/resources/views/view_spec/implicit_helper.html.erb
|
130
|
+
spec/resources/views/view_spec/multiple_helpers.html.erb
|
129
131
|
spec/resources/views/view_spec/path_params.html.erb
|
130
|
-
spec/resources/views/view_spec/should_not_receive.
|
131
|
-
spec/resources/views/view_spec/template_with_partial.
|
132
|
-
spec/resources/views/view_spec/template_with_partial_using_collection.
|
133
|
-
spec/resources/views/view_spec/template_with_partial_with_array.
|
132
|
+
spec/resources/views/view_spec/should_not_receive.html.erb
|
133
|
+
spec/resources/views/view_spec/template_with_partial.html.erb
|
134
|
+
spec/resources/views/view_spec/template_with_partial_using_collection.html.erb
|
135
|
+
spec/resources/views/view_spec/template_with_partial_with_array.html.erb
|
134
136
|
spec/spec/rails/example/assigns_hash_proxy_spec.rb
|
135
137
|
spec/spec/rails/example/configuration_spec.rb
|
136
138
|
spec/spec/rails/example/controller_example_group_spec.rb
|
@@ -140,7 +142,8 @@ spec/spec/rails/example/error_handling_spec.rb
|
|
140
142
|
spec/spec/rails/example/example_group_factory_spec.rb
|
141
143
|
spec/spec/rails/example/helper_example_group_spec.rb
|
142
144
|
spec/spec/rails/example/model_example_group_spec.rb
|
143
|
-
spec/spec/rails/example/
|
145
|
+
spec/spec/rails/example/routing_example_group_spec.rb
|
146
|
+
spec/spec/rails/example/shared_routing_example_group_examples.rb
|
144
147
|
spec/spec/rails/example/test_unit_assertion_accessibility_spec.rb
|
145
148
|
spec/spec/rails/example/view_example_group_spec.rb
|
146
149
|
spec/spec/rails/extensions/action_view_base_spec.rb
|
data/Rakefile
CHANGED
@@ -20,7 +20,7 @@ Hoe.new('rspec-rails', Spec::Rails::VERSION::STRING) do |p|
|
|
20
20
|
p.description = "Behaviour Driven Development for Ruby on Rails."
|
21
21
|
p.rubyforge_name = 'rspec'
|
22
22
|
p.developer('RSpec Development Team', 'rspec-devel@rubyforge.org')
|
23
|
-
p.extra_deps = [["dchelimsky-rspec","1.1.99.
|
23
|
+
p.extra_deps = [["dchelimsky-rspec","1.1.99.13"],["rack",">=0.4.0"]]
|
24
24
|
p.extra_dev_deps = [["cucumber",">= 0.1.13"]]
|
25
25
|
p.remote_rdoc_dir = "rspec-rails/#{Spec::Rails::VERSION::STRING}"
|
26
26
|
end
|
@@ -55,9 +55,4 @@ namespace :update do
|
|
55
55
|
task :manifest do
|
56
56
|
system %q[touch Manifest.txt; rake check_manifest | grep -v "(in " | patch]
|
57
57
|
end
|
58
|
-
|
59
|
-
desc "update the gemspec"
|
60
|
-
task :gemspec do
|
61
|
-
system %q[rake debug_gem | grep -v "(in " | grep -v "s.add_dependency(%q<hoe" | grep -v "s.add_dependency(%q<cuc" > `basename \\`pwd\\``.gemspec]
|
62
|
-
end
|
63
58
|
end
|
data/Upgrade.markdown
CHANGED
@@ -1,15 +1,17 @@
|
|
1
|
-
# Upgrade to rspec-rails-1.1.99.x
|
1
|
+
# Upgrade to rspec-rails-1.1.99.x (pre rspec-rails-1.2)
|
2
2
|
|
3
|
-
##
|
3
|
+
## What's changed
|
4
|
+
|
5
|
+
### Supported Rails Versions
|
4
6
|
|
5
7
|
This release supports the following versions of rails:
|
6
8
|
|
7
9
|
* 2.0.5
|
8
10
|
* 2.1.2
|
9
11
|
* 2.2.2
|
10
|
-
* 2.3.
|
12
|
+
* 2.3.1
|
11
13
|
|
12
|
-
|
14
|
+
### update generated files
|
13
15
|
|
14
16
|
Be sure to run "script/generate rspec" and allow the following files to be overwritten:
|
15
17
|
|
@@ -17,36 +19,85 @@ Be sure to run "script/generate rspec" and allow the following files to be overw
|
|
17
19
|
* script/spec
|
18
20
|
* script/spec_server
|
19
21
|
|
20
|
-
|
22
|
+
### ``controller.use_rails_error_handling!`` is deprecated
|
21
23
|
|
22
|
-
Use
|
24
|
+
Use ``rescue_action_in_public!`` instead. It comes directly from rails and does
|
23
25
|
exactly the same thing
|
24
26
|
|
25
|
-
|
27
|
+
### route_for
|
26
28
|
|
27
|
-
After a change to edge rails broke our monkey-patched
|
28
|
-
decided to just delegate to rails'
|
29
|
+
After a change to edge rails broke our monkey-patched ``route_for`` method, I
|
30
|
+
decided to just delegate to rails' ``assert_generates`` method. For most cases,
|
29
31
|
this will not present a problem, but for some it might. You'll know if you
|
30
32
|
upgrade and see any newly failing, route-related examples. Here are the things
|
31
33
|
that you might need to change.
|
32
34
|
|
33
|
-
|
35
|
+
#### Make sure IDs are strings
|
34
36
|
|
35
37
|
If you had :id => 1 before, you need to change that to :id => "1"
|
36
38
|
|
37
|
-
|
38
|
-
|
39
|
+
#old
|
40
|
+
route_for(:controller => 'things', :action => 'show', :id => 1).should == "/things/1"
|
39
41
|
|
40
|
-
|
41
|
-
|
42
|
+
#new
|
43
|
+
route_for(:controller => 'things', :action => 'show', :id => "1").should == "/things/1"
|
42
44
|
|
43
|
-
|
45
|
+
#### Convert paths for non-get methods to hashes
|
44
46
|
|
45
47
|
If you had an example with a route that requires post, put, or delete, you'll
|
46
48
|
need to declare that explicitly.
|
47
49
|
|
48
|
-
|
49
|
-
|
50
|
+
#old
|
51
|
+
route_for(:controller => 'things', :action => 'create').should == "/things"
|
52
|
+
|
53
|
+
#new
|
54
|
+
route_for(:controller => 'things', :action => 'create').should == {:path => "/things", :method => :post}
|
50
55
|
|
51
|
-
|
52
|
-
|
56
|
+
### Controller/template isolation
|
57
|
+
|
58
|
+
Even though controller specs do not render views by default (use
|
59
|
+
``integrate_views`` to get them to render views), the way this works has
|
60
|
+
changed in this version.
|
61
|
+
|
62
|
+
It used to be that the view template need not even exist, but due to changes
|
63
|
+
in rails it became much more difficult to manage that for all the different
|
64
|
+
versions of rails that rspec-rails supports. So now the template must exist,
|
65
|
+
but it still won't be rendered unless you declare ``integrate_views``.
|
66
|
+
|
67
|
+
## What's new
|
68
|
+
|
69
|
+
### render no longer requires a path
|
70
|
+
|
71
|
+
The ``render()`` method in view specs will infer the path from the
|
72
|
+
first argument passed to ``describe()``.
|
73
|
+
|
74
|
+
describe "players/show" do
|
75
|
+
it "does something" do
|
76
|
+
render
|
77
|
+
response.should have_tag("....")
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
### routing specs live in spec/routing
|
82
|
+
|
83
|
+
``script/generate rspec_scaffold`` now generates its routing spec in
|
84
|
+
``spec/routing/``.
|
85
|
+
|
86
|
+
### bypass_rescue
|
87
|
+
|
88
|
+
Added a new ``bypass_rescue()`` declaration for controller specs. Use this
|
89
|
+
when you want to specify that an error is raised by an action, even if that
|
90
|
+
error is later captured by a ``rescue_from()`` declaration.
|
91
|
+
|
92
|
+
describe AccountController do
|
93
|
+
describe "GET @account" do
|
94
|
+
context "requested by anonymous user" do
|
95
|
+
it "denies access" do
|
96
|
+
bypass_rescue
|
97
|
+
lambda do
|
98
|
+
get :show, :id => "37"
|
99
|
+
end.should raise_error(AccessDenied)
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
@@ -112,11 +112,13 @@ namespace :spec do
|
|
112
112
|
::STATS_DIRECTORIES << %w(Controller\ specs spec/controllers) if File.exist?('spec/controllers')
|
113
113
|
::STATS_DIRECTORIES << %w(Helper\ specs spec/helpers) if File.exist?('spec/helpers')
|
114
114
|
::STATS_DIRECTORIES << %w(Library\ specs spec/lib) if File.exist?('spec/lib')
|
115
|
+
::STATS_DIRECTORIES << %w(Routing\ specs spec/lib) if File.exist?('spec/routing')
|
115
116
|
::CodeStatistics::TEST_TYPES << "Model specs" if File.exist?('spec/models')
|
116
117
|
::CodeStatistics::TEST_TYPES << "View specs" if File.exist?('spec/views')
|
117
118
|
::CodeStatistics::TEST_TYPES << "Controller specs" if File.exist?('spec/controllers')
|
118
119
|
::CodeStatistics::TEST_TYPES << "Helper specs" if File.exist?('spec/helpers')
|
119
120
|
::CodeStatistics::TEST_TYPES << "Library specs" if File.exist?('spec/lib')
|
121
|
+
::CodeStatistics::TEST_TYPES << "Routing specs" if File.exist?('spec/routing')
|
120
122
|
::STATS_DIRECTORIES.delete_if {|a| a[0] =~ /test/}
|
121
123
|
end
|
122
124
|
|
@@ -136,7 +138,7 @@ namespace :spec do
|
|
136
138
|
end
|
137
139
|
|
138
140
|
namespace :server do
|
139
|
-
daemonized_server_pid = File.expand_path("#{RAILS_ROOT}/tmp/spec_server.pid")
|
141
|
+
daemonized_server_pid = File.expand_path("#{RAILS_ROOT}/tmp/pids/spec_server.pid")
|
140
142
|
|
141
143
|
desc "start spec_server."
|
142
144
|
task :start do
|
@@ -144,7 +146,7 @@ namespace :spec do
|
|
144
146
|
$stderr.puts "spec_server is already running."
|
145
147
|
else
|
146
148
|
$stderr.puts %Q{Starting up spec_server ...}
|
147
|
-
FileUtils.
|
149
|
+
FileUtils.mkdir_p('tmp/pids') unless test ?d, 'tmp/pids'
|
148
150
|
system("ruby", "script/spec_server", "--daemon", "--pid", daemonized_server_pid)
|
149
151
|
end
|
150
152
|
end
|
@@ -1,4 +1,21 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
|
2
|
+
rails_root = File.expand_path(File.dirname(__FILE__) + "/..")
|
3
|
+
rspec_gem_dir = nil
|
4
|
+
Dir["#{rails_root}/vendor/gems/*"].each do |subdir|
|
5
|
+
rspec_gem_dir = subdir if subdir.gsub("#{rails_root}/vendor/gems/","") =~ /^(\w+-)?rspec-(\d+)/ && File.exist?("#{subdir}/lib/spec/rake/spectask.rb")
|
6
|
+
end
|
7
|
+
rspec_plugin_dir = File.expand_path("#{rails_root}/vendor/plugins/rspec")
|
8
|
+
|
9
|
+
if rspec_gem_dir && (test ?d, rspec_plugin_dir)
|
10
|
+
raise "\n#{'*'*50}\nYou have rspec installed in both vendor/gems and vendor/plugins\nPlease pick one and dispose of the other.\n#{'*'*50}\n\n"
|
11
|
+
end
|
12
|
+
|
13
|
+
if rspec_gem_dir
|
14
|
+
$LOAD_PATH.unshift("#{rspec_gem_dir}/lib")
|
15
|
+
elsif File.exist?(rspec_plugin_dir)
|
16
|
+
$LOAD_PATH.unshift("#{rspec_plugin_dir}/lib")
|
17
|
+
end
|
18
|
+
|
19
|
+
|
20
|
+
require 'spec/autorun'
|
4
21
|
exit ::Spec::Runner::CommandLine.run
|
@@ -1,5 +1,21 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
|
2
|
+
rails_root = File.expand_path(File.dirname(__FILE__) + "/..")
|
3
|
+
rspec_rails_gem_dir = nil
|
4
|
+
Dir["#{rails_root}/vendor/gems/*"].each do |subdir|
|
5
|
+
rspec_rails_gem_dir = subdir if subdir.gsub("#{rails_root}/vendor/gems/","") =~ /^(\w+-)?rspec-rails-(\d+)/
|
6
|
+
end
|
7
|
+
rspec_rails_plugin_dir = File.expand_path("#{rails_root}/vendor/plugins/rspec-rails")
|
8
|
+
|
9
|
+
if rspec_rails_gem_dir && (test ?d, rspec_rails_plugin_dir)
|
10
|
+
raise "\n#{'*'*50}\nYou have rspec installed in both vendor/gems and vendor/plugins\nPlease pick one and dispose of the other.\n#{'*'*50}\n\n"
|
11
|
+
end
|
12
|
+
|
13
|
+
if rspec_rails_gem_dir
|
14
|
+
$LOAD_PATH.unshift("#{rspec_rails_gem_dir}/lib")
|
15
|
+
elsif File.exist?(rspec_rails_plugin_dir)
|
16
|
+
$LOAD_PATH.unshift("#{rspec_rails_plugin_dir}/lib")
|
17
|
+
end
|
18
|
+
|
3
19
|
require 'optparse'
|
4
20
|
require 'spec/rails/spec_server'
|
5
21
|
|
@@ -33,5 +49,3 @@ if options[:daemon]
|
|
33
49
|
else
|
34
50
|
::Spec::Rails::SpecServer.run
|
35
51
|
end
|
36
|
-
|
37
|
-
puts "Ready"
|
@@ -162,6 +162,7 @@ MESSAGE
|
|
162
162
|
end
|
163
163
|
|
164
164
|
def render(*args)
|
165
|
+
return super if Hash === args.last && args.last[:inline]
|
165
166
|
@_rendered ? record_render(args[0]) : super
|
166
167
|
end
|
167
168
|
|
@@ -211,7 +212,7 @@ MESSAGE
|
|
211
212
|
def response(&block)
|
212
213
|
# NOTE - we're setting @update for the assert_select_spec - kinda weird, huh?
|
213
214
|
@update = block
|
214
|
-
|
215
|
+
super
|
215
216
|
end
|
216
217
|
|
217
218
|
def integrate_views!
|
@@ -219,7 +220,7 @@ MESSAGE
|
|
219
220
|
end
|
220
221
|
|
221
222
|
private
|
222
|
-
|
223
|
+
|
223
224
|
def integrate_views?
|
224
225
|
@integrate_views
|
225
226
|
end
|
@@ -34,29 +34,15 @@ module Spec
|
|
34
34
|
attr_accessor :output_buffer
|
35
35
|
|
36
36
|
class HelperObject < ActionView::Base
|
37
|
+
def initialize(*args)
|
38
|
+
@template = self
|
39
|
+
super
|
40
|
+
end
|
37
41
|
def protect_against_forgery?
|
38
42
|
false
|
39
43
|
end
|
40
44
|
|
41
|
-
|
42
|
-
@session = session
|
43
|
-
end
|
44
|
-
|
45
|
-
def request=(request)
|
46
|
-
@request = request
|
47
|
-
end
|
48
|
-
|
49
|
-
def flash=(flash)
|
50
|
-
@flash = flash
|
51
|
-
end
|
52
|
-
|
53
|
-
def params=(params)
|
54
|
-
@params = params
|
55
|
-
end
|
56
|
-
|
57
|
-
def controller=(controller)
|
58
|
-
@controller = controller
|
59
|
-
end
|
45
|
+
attr_writer :session, :request, :flash, :params, :controller
|
60
46
|
|
61
47
|
private
|
62
48
|
attr_reader :session, :request, :flash, :params, :controller
|
@@ -113,7 +99,7 @@ module Spec
|
|
113
99
|
ActionView::Base.included_modules.reverse.each do |mod|
|
114
100
|
include mod if mod.parents.include?(ActionView::Helpers)
|
115
101
|
end
|
116
|
-
|
102
|
+
|
117
103
|
before(:each) do
|
118
104
|
@controller.request = @request
|
119
105
|
@controller.url = ActionController::UrlRewriter.new @request, {} # url_for
|