rspec-rails 1.3.2 → 7.0.2
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.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +0 -0
- data/.document +4 -6
- data/.yardopts +11 -0
- data/Capybara.md +28 -0
- data/Changelog.md +1343 -0
- data/LICENSE.md +25 -0
- data/README.md +383 -0
- data/lib/generators/rspec/channel/channel_generator.rb +12 -0
- data/lib/generators/rspec/channel/templates/channel_spec.rb.erb +7 -0
- data/lib/generators/rspec/controller/controller_generator.rb +51 -0
- data/lib/generators/rspec/controller/templates/controller_spec.rb +16 -0
- data/lib/generators/rspec/controller/templates/request_spec.rb +19 -0
- data/lib/generators/rspec/controller/templates/routing_spec.rb +13 -0
- data/lib/generators/rspec/controller/templates/view_spec.rb +5 -0
- data/lib/generators/rspec/feature/feature_generator.rb +29 -0
- data/lib/generators/rspec/feature/templates/feature_singular_spec.rb +5 -0
- data/lib/generators/rspec/feature/templates/feature_spec.rb +5 -0
- data/lib/generators/rspec/generator/generator_generator.rb +24 -0
- data/lib/generators/rspec/generator/templates/generator_spec.rb +5 -0
- data/lib/generators/rspec/helper/helper_generator.rb +16 -0
- data/lib/generators/rspec/helper/templates/helper_spec.rb +17 -0
- data/lib/generators/rspec/install/install_generator.rb +80 -0
- data/lib/generators/rspec/install/templates/spec/rails_helper.rb +89 -0
- data/lib/generators/rspec/job/job_generator.rb +13 -0
- data/lib/generators/rspec/job/templates/job_spec.rb.erb +7 -0
- data/lib/generators/rspec/mailbox/mailbox_generator.rb +14 -0
- data/lib/generators/rspec/mailbox/templates/mailbox_spec.rb.erb +7 -0
- data/lib/generators/rspec/mailer/mailer_generator.rb +30 -0
- data/lib/generators/rspec/mailer/templates/fixture +3 -0
- data/lib/generators/rspec/mailer/templates/mailer_spec.rb +25 -0
- data/lib/generators/rspec/mailer/templates/preview.rb +13 -0
- data/lib/generators/rspec/model/model_generator.rb +37 -0
- data/lib/generators/rspec/model/templates/fixtures.yml +19 -0
- data/lib/generators/rspec/model/templates/model_spec.rb +7 -0
- data/lib/generators/rspec/request/request_generator.rb +17 -0
- data/lib/generators/rspec/request/templates/request_spec.rb +10 -0
- data/lib/generators/rspec/scaffold/scaffold_generator.rb +136 -0
- data/lib/generators/rspec/scaffold/templates/api_controller_spec.rb +129 -0
- data/lib/generators/rspec/scaffold/templates/api_request_spec.rb +131 -0
- data/lib/generators/rspec/scaffold/templates/controller_spec.rb +145 -0
- data/lib/generators/rspec/scaffold/templates/edit_spec.rb +27 -0
- data/lib/generators/rspec/scaffold/templates/index_spec.rb +26 -0
- data/lib/generators/rspec/scaffold/templates/new_spec.rb +22 -0
- data/lib/generators/rspec/scaffold/templates/request_spec.rb +138 -0
- data/lib/generators/rspec/scaffold/templates/routing_spec.rb +46 -0
- data/lib/generators/rspec/scaffold/templates/show_spec.rb +21 -0
- data/lib/generators/rspec/system/system_generator.rb +24 -0
- data/lib/generators/rspec/system/templates/system_spec.rb +9 -0
- data/lib/generators/rspec/view/templates/view_spec.rb +5 -0
- data/lib/generators/rspec/view/view_generator.rb +22 -0
- data/lib/generators/rspec.rb +56 -0
- data/lib/rspec/rails/active_record.rb +25 -0
- data/lib/rspec/rails/adapters.rb +196 -0
- data/lib/rspec/rails/configuration.rb +222 -0
- data/lib/rspec/rails/example/channel_example_group.rb +93 -0
- data/lib/rspec/rails/example/controller_example_group.rb +217 -0
- data/lib/rspec/rails/example/feature_example_group.rb +53 -0
- data/lib/rspec/rails/example/helper_example_group.rb +42 -0
- data/lib/rspec/rails/example/job_example_group.rb +23 -0
- data/lib/rspec/rails/example/mailbox_example_group.rb +80 -0
- data/lib/rspec/rails/example/mailer_example_group.rb +38 -0
- data/lib/rspec/rails/example/model_example_group.rb +11 -0
- data/lib/rspec/rails/example/rails_example_group.rb +23 -0
- data/lib/rspec/rails/example/request_example_group.rb +27 -0
- data/lib/rspec/rails/example/routing_example_group.rb +61 -0
- data/lib/rspec/rails/example/system_example_group.rb +180 -0
- data/lib/rspec/rails/example/view_example_group.rb +214 -0
- data/lib/rspec/rails/example.rb +13 -0
- data/lib/rspec/rails/extensions/active_record/proxy.rb +11 -0
- data/lib/rspec/rails/extensions.rb +1 -0
- data/lib/rspec/rails/feature_check.rb +51 -0
- data/lib/rspec/rails/file_fixture_support.rb +18 -0
- data/lib/rspec/rails/fixture_file_upload_support.rb +45 -0
- data/lib/rspec/rails/fixture_support.rb +88 -0
- data/lib/rspec/rails/matchers/action_cable/have_broadcasted_to.rb +173 -0
- data/lib/rspec/rails/matchers/action_cable/have_streams.rb +58 -0
- data/lib/rspec/rails/matchers/action_cable.rb +65 -0
- data/lib/rspec/rails/matchers/action_mailbox.rb +73 -0
- data/lib/rspec/rails/matchers/active_job.rb +517 -0
- data/lib/rspec/rails/matchers/base_matcher.rb +179 -0
- data/lib/rspec/rails/matchers/be_a_new.rb +83 -0
- data/lib/rspec/rails/matchers/be_new_record.rb +30 -0
- data/lib/rspec/rails/matchers/be_valid.rb +49 -0
- data/lib/rspec/rails/matchers/have_enqueued_mail.rb +258 -0
- data/lib/rspec/rails/matchers/have_http_status.rb +381 -0
- data/lib/rspec/rails/matchers/have_rendered.rb +64 -0
- data/lib/rspec/rails/matchers/redirect_to.rb +38 -0
- data/lib/rspec/rails/matchers/relation_match_array.rb +3 -0
- data/lib/rspec/rails/matchers/routing_matchers.rb +125 -0
- data/lib/rspec/rails/matchers/send_email.rb +122 -0
- data/lib/rspec/rails/matchers.rb +36 -0
- data/lib/rspec/rails/tasks/rspec.rake +49 -0
- data/lib/rspec/rails/vendor/capybara.rb +32 -0
- data/lib/rspec/rails/version.rb +9 -0
- data/lib/rspec/rails/view_assigns.rb +27 -0
- data/lib/rspec/rails/view_path_builder.rb +29 -0
- data/lib/rspec/rails/view_rendering.rb +166 -0
- data/lib/rspec/rails/view_spec_methods.rb +56 -0
- data/lib/rspec/rails.rb +18 -0
- data/lib/rspec-rails.rb +97 -0
- data.tar.gz.sig +0 -0
- metadata +307 -261
- metadata.gz.sig +0 -0
- data/Contribute.rdoc +0 -4
- data/History.rdoc +0 -302
- data/License.txt +0 -33
- data/Manifest.txt +0 -165
- data/README.rdoc +0 -45
- data/Rakefile +0 -72
- data/TODO.txt +0 -17
- data/Upgrade.rdoc +0 -148
- data/generators/integration_spec/integration_spec_generator.rb +0 -10
- data/generators/integration_spec/templates/integration_spec.rb +0 -4
- data/generators/rspec/CHANGES +0 -1
- data/generators/rspec/rspec_generator.rb +0 -72
- data/generators/rspec/templates/previous_failures.txt +0 -0
- data/generators/rspec/templates/rcov.opts +0 -2
- data/generators/rspec/templates/rspec.rake +0 -144
- data/generators/rspec/templates/script/autospec +0 -6
- data/generators/rspec/templates/script/spec +0 -10
- data/generators/rspec/templates/spec.opts +0 -4
- data/generators/rspec/templates/spec_helper.rb +0 -54
- data/generators/rspec_controller/USAGE +0 -33
- data/generators/rspec_controller/rspec_controller_generator.rb +0 -47
- data/generators/rspec_controller/templates/controller_spec.rb +0 -25
- data/generators/rspec_controller/templates/helper_spec.rb +0 -11
- data/generators/rspec_controller/templates/view_spec.rb +0 -12
- data/generators/rspec_default_values.rb +0 -28
- data/generators/rspec_model/USAGE +0 -18
- data/generators/rspec_model/rspec_model_generator.rb +0 -35
- data/generators/rspec_model/templates/model_spec.rb +0 -13
- data/generators/rspec_scaffold/rspec_scaffold_generator.rb +0 -154
- data/generators/rspec_scaffold/templates/controller_spec.rb +0 -131
- data/generators/rspec_scaffold/templates/edit_erb_spec.rb +0 -25
- data/generators/rspec_scaffold/templates/helper_spec.rb +0 -11
- data/generators/rspec_scaffold/templates/index_erb_spec.rb +0 -27
- data/generators/rspec_scaffold/templates/new_erb_spec.rb +0 -25
- data/generators/rspec_scaffold/templates/routing_spec.rb +0 -33
- data/generators/rspec_scaffold/templates/show_erb_spec.rb +0 -22
- data/init.rb +0 -9
- data/lib/autotest/discover.rb +0 -5
- data/lib/autotest/rails_rspec.rb +0 -76
- data/lib/spec/rails/example/assigns_hash_proxy.rb +0 -39
- data/lib/spec/rails/example/controller_example_group.rb +0 -285
- data/lib/spec/rails/example/cookies_proxy.rb +0 -29
- data/lib/spec/rails/example/functional_example_group.rb +0 -106
- data/lib/spec/rails/example/helper_example_group.rb +0 -153
- data/lib/spec/rails/example/integration_example_group.rb +0 -16
- data/lib/spec/rails/example/model_example_group.rb +0 -15
- data/lib/spec/rails/example/render_observer.rb +0 -80
- data/lib/spec/rails/example/routing_example_group.rb +0 -13
- data/lib/spec/rails/example/routing_helpers.rb +0 -66
- data/lib/spec/rails/example/view_example_group.rb +0 -199
- data/lib/spec/rails/example.rb +0 -48
- data/lib/spec/rails/extensions/action_controller/rescue.rb +0 -42
- data/lib/spec/rails/extensions/action_controller/test_case.rb +0 -16
- data/lib/spec/rails/extensions/action_controller/test_response.rb +0 -21
- data/lib/spec/rails/extensions/action_view/base.rb +0 -33
- data/lib/spec/rails/extensions/active_record/base.rb +0 -45
- data/lib/spec/rails/extensions/active_support/test_case.rb +0 -7
- data/lib/spec/rails/extensions/spec/matchers/have.rb +0 -23
- data/lib/spec/rails/extensions/spec/runner/configuration.rb +0 -44
- data/lib/spec/rails/extensions.rb +0 -11
- data/lib/spec/rails/interop/testcase.rb +0 -14
- data/lib/spec/rails/matchers/ar_be_valid.rb +0 -27
- data/lib/spec/rails/matchers/assert_select.rb +0 -180
- data/lib/spec/rails/matchers/change.rb +0 -13
- data/lib/spec/rails/matchers/have_text.rb +0 -57
- data/lib/spec/rails/matchers/include_text.rb +0 -54
- data/lib/spec/rails/matchers/redirect_to.rb +0 -126
- data/lib/spec/rails/matchers/render_template.rb +0 -129
- data/lib/spec/rails/matchers/route_to.rb +0 -149
- data/lib/spec/rails/matchers.rb +0 -32
- data/lib/spec/rails/mocks.rb +0 -136
- data/lib/spec/rails/version.rb +0 -16
- data/lib/spec/rails.rb +0 -26
- data/spec/autotest/mappings_spec.rb +0 -86
- data/spec/rails_suite.rb +0 -7
- data/spec/resources/controllers/action_view_base_spec_controller.rb +0 -2
- data/spec/resources/controllers/application.rb +0 -9
- data/spec/resources/controllers/controller_spec_controller.rb +0 -127
- data/spec/resources/controllers/example.txt +0 -1
- data/spec/resources/controllers/redirect_spec_controller.rb +0 -70
- data/spec/resources/controllers/render_spec_controller.rb +0 -34
- data/spec/resources/controllers/rjs_spec_controller.rb +0 -58
- data/spec/resources/helpers/addition_helper.rb +0 -5
- data/spec/resources/helpers/explicit_helper.rb +0 -46
- data/spec/resources/helpers/more_explicit_helper.rb +0 -5
- data/spec/resources/helpers/plugin_application_helper.rb +0 -6
- data/spec/resources/helpers/view_spec_helper.rb +0 -13
- data/spec/resources/models/animal.rb +0 -4
- data/spec/resources/models/person.rb +0 -18
- data/spec/resources/models/thing.rb +0 -3
- data/spec/resources/views/controller_spec/_partial.html.erb +0 -0
- data/spec/resources/views/controller_spec/action_setting_flash_after_session_reset.html.erb +0 -1
- data/spec/resources/views/controller_spec/action_setting_flash_before_session_reset.html.erb +0 -1
- data/spec/resources/views/controller_spec/action_setting_the_assigns_hash.html.erb +0 -0
- data/spec/resources/views/controller_spec/action_with_errors_in_template.html.erb +0 -1
- data/spec/resources/views/controller_spec/action_with_template.html.erb +0 -1
- data/spec/resources/views/layouts/application.html.erb +0 -0
- data/spec/resources/views/layouts/simple.html.erb +0 -0
- data/spec/resources/views/objects/_object.html.erb +0 -1
- data/spec/resources/views/render_spec/_a_partial.html.erb +0 -0
- data/spec/resources/views/render_spec/action_with_alternate_layout.html.erb +0 -0
- data/spec/resources/views/render_spec/some_action.html.erb +0 -0
- data/spec/resources/views/render_spec/some_action.js.rjs +0 -1
- data/spec/resources/views/rjs_spec/_replacement_partial.html.erb +0 -1
- data/spec/resources/views/rjs_spec/hide_div.js.rjs +0 -1
- data/spec/resources/views/rjs_spec/hide_page_element.js.rjs +0 -1
- data/spec/resources/views/rjs_spec/insert_html.js.rjs +0 -1
- data/spec/resources/views/rjs_spec/replace.js.rjs +0 -1
- data/spec/resources/views/rjs_spec/replace_html.js.rjs +0 -1
- data/spec/resources/views/rjs_spec/replace_html_with_partial.js.rjs +0 -1
- data/spec/resources/views/rjs_spec/visual_effect.js.rjs +0 -1
- data/spec/resources/views/rjs_spec/visual_toggle_effect.js.rjs +0 -1
- data/spec/resources/views/tag_spec/no_tags.html.erb +0 -1
- data/spec/resources/views/tag_spec/single_div_with_no_attributes.html.erb +0 -1
- data/spec/resources/views/tag_spec/single_div_with_one_attribute.html.erb +0 -1
- data/spec/resources/views/view_spec/_partial.html.erb +0 -2
- data/spec/resources/views/view_spec/_partial_used_twice.html.erb +0 -0
- data/spec/resources/views/view_spec/_partial_with_local_variable.html.erb +0 -1
- data/spec/resources/views/view_spec/_partial_with_sub_partial.html.erb +0 -1
- data/spec/resources/views/view_spec/_spacer.html.erb +0 -1
- data/spec/resources/views/view_spec/accessor.html.erb +0 -6
- data/spec/resources/views/view_spec/block_helper.html.erb +0 -3
- data/spec/resources/views/view_spec/entry_form.html.erb +0 -2
- data/spec/resources/views/view_spec/explicit_helper.html.erb +0 -2
- data/spec/resources/views/view_spec/foo/show.html.erb +0 -1
- data/spec/resources/views/view_spec/implicit_helper.html.erb +0 -2
- data/spec/resources/views/view_spec/multiple_helpers.html.erb +0 -3
- data/spec/resources/views/view_spec/path_params.html.erb +0 -1
- data/spec/resources/views/view_spec/should_not_receive.html.erb +0 -3
- data/spec/resources/views/view_spec/template_with_partial.html.erb +0 -5
- data/spec/resources/views/view_spec/template_with_partial_using_collection.html.erb +0 -3
- data/spec/resources/views/view_spec/template_with_partial_with_array.html.erb +0 -1
- data/spec/resources/views/view_spec/view_helpers.html.erb +0 -1
- data/spec/spec/rails/example/assigns_hash_proxy_spec.rb +0 -109
- data/spec/spec/rails/example/configuration_spec.rb +0 -65
- data/spec/spec/rails/example/controller_example_group_spec.rb +0 -307
- data/spec/spec/rails/example/controller_isolation_spec.rb +0 -75
- data/spec/spec/rails/example/cookies_proxy_spec.rb +0 -87
- data/spec/spec/rails/example/error_handling_spec.rb +0 -90
- data/spec/spec/rails/example/example_group_factory_spec.rb +0 -112
- data/spec/spec/rails/example/helper_example_group_spec.rb +0 -233
- data/spec/spec/rails/example/model_example_group_spec.rb +0 -32
- data/spec/spec/rails/example/routing_example_group_spec.rb +0 -10
- data/spec/spec/rails/example/shared_routing_example_group_examples.rb +0 -237
- data/spec/spec/rails/example/test_unit_assertion_accessibility_spec.rb +0 -33
- data/spec/spec/rails/example/view_example_group_spec.rb +0 -346
- data/spec/spec/rails/extensions/action_view_base_spec.rb +0 -74
- data/spec/spec/rails/extensions/active_record_spec.rb +0 -14
- data/spec/spec/rails/interop/testcase_spec.rb +0 -70
- data/spec/spec/rails/matchers/ar_be_valid_spec.rb +0 -19
- data/spec/spec/rails/matchers/assert_select_spec.rb +0 -835
- data/spec/spec/rails/matchers/errors_on_spec.rb +0 -37
- data/spec/spec/rails/matchers/have_text_spec.rb +0 -69
- data/spec/spec/rails/matchers/include_text_spec.rb +0 -62
- data/spec/spec/rails/matchers/redirect_to_spec.rb +0 -253
- data/spec/spec/rails/matchers/render_template_spec.rb +0 -208
- data/spec/spec/rails/matchers/should_change_spec.rb +0 -15
- data/spec/spec/rails/mocks/ar_classes.rb +0 -10
- data/spec/spec/rails/mocks/mock_model_spec.rb +0 -109
- data/spec/spec/rails/mocks/stub_model_spec.rb +0 -80
- data/spec/spec/rails/sample_modified_fixture.rb +0 -8
- data/spec/spec/rails/sample_spec.rb +0 -8
- data/spec/spec/rails/spec_spec.rb +0 -11
- data/spec/spec_helper.rb +0 -78
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
Spec::Runner.configuration.global_fixtures = :people
|
|
3
|
-
|
|
4
|
-
describe ExplicitHelper, :type => :helper do
|
|
5
|
-
include ExplicitHelper
|
|
6
|
-
|
|
7
|
-
it "should not require naming the helper if describe is passed a type" do
|
|
8
|
-
method_in_explicit_helper.should match(/text from a method/)
|
|
9
|
-
helper.method_in_explicit_helper.should match(/text from a method/)
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
module Spec
|
|
14
|
-
module Rails
|
|
15
|
-
module Example
|
|
16
|
-
describe HelperExampleGroup, :type => :helper do
|
|
17
|
-
helper_name :explicit
|
|
18
|
-
|
|
19
|
-
accesses_configured_helper_methods
|
|
20
|
-
|
|
21
|
-
it "DEPRECATED should have direct access to methods defined in helpers" do
|
|
22
|
-
method_in_explicit_helper.should =~ /text from a method/
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
it "should expose the helper with the #helper method" do
|
|
26
|
-
helper.method_in_explicit_helper.should =~ /text from a method/
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
it "should have access to named routes" do
|
|
30
|
-
rspec_on_rails_specs_url.should == "http://test.host/rspec_on_rails_specs"
|
|
31
|
-
rspec_on_rails_specs_path.should == "/rspec_on_rails_specs"
|
|
32
|
-
|
|
33
|
-
helper.named_url.should == "http://test.host/rspec_on_rails_specs"
|
|
34
|
-
helper.named_path.should == "/rspec_on_rails_specs"
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
it "should fail if the helper method deson't exist" do
|
|
38
|
-
lambda { non_existent_helper_method }.should raise_error(NameError)
|
|
39
|
-
lambda { helper.non_existent_helper_method }.should raise_error(NameError)
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
it "should have access to session" do
|
|
43
|
-
session[:foo] = 'bar'
|
|
44
|
-
session_foo.should == 'bar'
|
|
45
|
-
helper.session_foo.should == 'bar'
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
it "should have access to params" do
|
|
49
|
-
params[:foo] = 'bar'
|
|
50
|
-
params_foo.should == 'bar'
|
|
51
|
-
helper.params_foo.should == 'bar'
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
it "should have access to request" do
|
|
55
|
-
request.stub!(:thing).and_return('bar')
|
|
56
|
-
request_thing.should == 'bar'
|
|
57
|
-
helper.request_thing.should == 'bar'
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
it "should have access to flash" do
|
|
61
|
-
flash[:thing] = 'camera'
|
|
62
|
-
flash_thing.should == 'camera'
|
|
63
|
-
helper.flash_thing.should == 'camera'
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
describe HelperExampleGroup, "#eval_erb", :type => :helper do
|
|
68
|
-
helper_name :explicit
|
|
69
|
-
|
|
70
|
-
it "should support methods that accept blocks" do
|
|
71
|
-
eval_erb("<% prepend 'foo' do %>bar<% end %>").should == "foobar"
|
|
72
|
-
end
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
describe HelperExampleGroup, ".fixtures", :type => :helper do
|
|
76
|
-
helper_name :explicit
|
|
77
|
-
fixtures :animals
|
|
78
|
-
|
|
79
|
-
it "should load fixtures" do
|
|
80
|
-
pig = animals(:pig)
|
|
81
|
-
pig.class.should == Animal
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
it "should load global fixtures" do
|
|
85
|
-
lachie = people(:lachie)
|
|
86
|
-
lachie.class.should == Person
|
|
87
|
-
end
|
|
88
|
-
end
|
|
89
|
-
|
|
90
|
-
describe "methods from standard helpers", :type => :helper do
|
|
91
|
-
helper_name :explicit
|
|
92
|
-
it "should be exposed to the helper" do
|
|
93
|
-
helper.link_to("Foo","http://bar").should have_tag("a")
|
|
94
|
-
end
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
describe HelperExampleGroup, "included modules", :type => :helper do
|
|
98
|
-
helpers = [
|
|
99
|
-
ActionView::Helpers::ActiveRecordHelper,
|
|
100
|
-
ActionView::Helpers::AssetTagHelper,
|
|
101
|
-
ActionView::Helpers::BenchmarkHelper,
|
|
102
|
-
ActionView::Helpers::CacheHelper,
|
|
103
|
-
ActionView::Helpers::CaptureHelper,
|
|
104
|
-
ActionView::Helpers::DateHelper,
|
|
105
|
-
ActionView::Helpers::DebugHelper,
|
|
106
|
-
ActionView::Helpers::FormHelper,
|
|
107
|
-
ActionView::Helpers::FormOptionsHelper,
|
|
108
|
-
ActionView::Helpers::FormTagHelper,
|
|
109
|
-
ActionView::Helpers::JavaScriptHelper,
|
|
110
|
-
ActionView::Helpers::NumberHelper,
|
|
111
|
-
ActionView::Helpers::PrototypeHelper,
|
|
112
|
-
ActionView::Helpers::ScriptaculousHelper,
|
|
113
|
-
ActionView::Helpers::TagHelper,
|
|
114
|
-
ActionView::Helpers::TextHelper,
|
|
115
|
-
ActionView::Helpers::UrlHelper
|
|
116
|
-
]
|
|
117
|
-
helpers.each do |helper_module|
|
|
118
|
-
it "should include #{helper_module}" do
|
|
119
|
-
self.class.ancestors.should include(helper_module)
|
|
120
|
-
helper.class.ancestors.should include(helper_module)
|
|
121
|
-
end
|
|
122
|
-
end
|
|
123
|
-
end
|
|
124
|
-
|
|
125
|
-
# TODO: BT - Helper Examples should proxy method_missing to a Rails View instance.
|
|
126
|
-
# When that is done, remove this method
|
|
127
|
-
describe HelperExampleGroup, "#protect_against_forgery?", :type => :helper do
|
|
128
|
-
it "should return false" do
|
|
129
|
-
protect_against_forgery?.should be_false
|
|
130
|
-
helper.protect_against_forgery?.should be_false
|
|
131
|
-
end
|
|
132
|
-
end
|
|
133
|
-
|
|
134
|
-
describe HelperExampleGroup, "#assigns", :type => :helper do
|
|
135
|
-
helper_name :addition
|
|
136
|
-
it "should expose variables to helper" do
|
|
137
|
-
assigns[:addend] = 3
|
|
138
|
-
helper.plus(4).should == 7
|
|
139
|
-
end
|
|
140
|
-
|
|
141
|
-
it "should make helper ivars available in example" do
|
|
142
|
-
assigns[:addend] = 3
|
|
143
|
-
assigns[:addend].should == 3
|
|
144
|
-
end
|
|
145
|
-
end
|
|
146
|
-
|
|
147
|
-
describe HelperExampleGroup, "using a helper that uses output_buffer inside helper", :type => :helper do
|
|
148
|
-
helper_name :explicit
|
|
149
|
-
|
|
150
|
-
before(:each) do
|
|
151
|
-
if ::Rails::VERSION::STRING < "2.2"
|
|
152
|
-
pending("need to get this new feature working against pre 2.2 versions of rails")
|
|
153
|
-
end
|
|
154
|
-
end
|
|
155
|
-
|
|
156
|
-
it "should not raise an error" do
|
|
157
|
-
lambda { method_using_output_buffer }.should_not raise_error
|
|
158
|
-
end
|
|
159
|
-
|
|
160
|
-
it "should put the output in the output_buffer" do
|
|
161
|
-
method_using_output_buffer
|
|
162
|
-
output_buffer.should == "the_text_from_concat"
|
|
163
|
-
end
|
|
164
|
-
end
|
|
165
|
-
|
|
166
|
-
describe HelperExampleGroup, "using a helper that tries to access @template", :type => :helper do
|
|
167
|
-
helper_name :explicit
|
|
168
|
-
|
|
169
|
-
it "should not raise an error" do
|
|
170
|
-
lambda { method_using_template }.should_not raise_error
|
|
171
|
-
end
|
|
172
|
-
|
|
173
|
-
it "should have the correct output" do
|
|
174
|
-
method_using_template.should have_text(/#some_id/)
|
|
175
|
-
end
|
|
176
|
-
end
|
|
177
|
-
|
|
178
|
-
end
|
|
179
|
-
end
|
|
180
|
-
end
|
|
181
|
-
|
|
182
|
-
module Bug11223
|
|
183
|
-
# see http://rubyforge.org/tracker/index.php?func=detail&aid=11223&group_id=797&atid=3149
|
|
184
|
-
describe 'Accessing flash from helper spec', :type => :helper do
|
|
185
|
-
it 'should not raise an error' do
|
|
186
|
-
lambda { flash['test'] }.should_not raise_error
|
|
187
|
-
end
|
|
188
|
-
end
|
|
189
|
-
end
|
|
190
|
-
|
|
191
|
-
module Spec
|
|
192
|
-
module Rails
|
|
193
|
-
module Example
|
|
194
|
-
describe HelperExampleGroup do
|
|
195
|
-
it "should clear its name from the description" do
|
|
196
|
-
group = describe("foo", :type => :helper) do
|
|
197
|
-
$nested_group = describe("bar") do
|
|
198
|
-
end
|
|
199
|
-
end
|
|
200
|
-
group.description.to_s.should == "foo"
|
|
201
|
-
$nested_group.description.to_s.should == "foo bar"
|
|
202
|
-
end
|
|
203
|
-
end
|
|
204
|
-
end
|
|
205
|
-
end
|
|
206
|
-
end
|
|
207
|
-
|
|
208
|
-
module Bug719
|
|
209
|
-
# see http://rspec.lighthouseapp.com/projects/5645/tickets/719
|
|
210
|
-
# FIXME - helper and example provided in ticket. The example did
|
|
211
|
-
# fail initially, so running it now shows that the bug is fixed,
|
|
212
|
-
# but this doesn't serve as a good internal example.
|
|
213
|
-
module ImagesHelper
|
|
214
|
-
def hide_images_button
|
|
215
|
-
content_tag :div, :class => :hide_images_button do
|
|
216
|
-
button_to_function "Hide Images", :id => :hide_images_button do |page|
|
|
217
|
-
page[:more_images_button].toggle
|
|
218
|
-
page[:image_browser].toggle
|
|
219
|
-
end
|
|
220
|
-
end
|
|
221
|
-
end
|
|
222
|
-
end
|
|
223
|
-
|
|
224
|
-
describe ImagesHelper, :type => :helper do
|
|
225
|
-
it "should render a hide_images_button" do
|
|
226
|
-
helper.hide_images_button.should have_tag('div[class=?]','hide_images_button') do
|
|
227
|
-
with_tag('input[id=?][type=?][value=?][onclick^=?]',
|
|
228
|
-
'hide_images_button', 'button', 'Hide Images',
|
|
229
|
-
"$("more_images_button").toggle();\n$("image_browser").toggle();;")
|
|
230
|
-
end
|
|
231
|
-
end
|
|
232
|
-
end
|
|
233
|
-
end
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
module Spec
|
|
4
|
-
module Rails
|
|
5
|
-
module Example
|
|
6
|
-
describe ModelExampleGroup do
|
|
7
|
-
accesses_configured_helper_methods
|
|
8
|
-
|
|
9
|
-
if defined?(ActiveRecord::TestCase)
|
|
10
|
-
it "derives from ActiveRecord::TestCase" do
|
|
11
|
-
group = describe("foo", :type => :model) do; end
|
|
12
|
-
group.ancestors.should include(ActiveRecord::TestCase)
|
|
13
|
-
end
|
|
14
|
-
else
|
|
15
|
-
it "derives from ActiveSupport::TestCase" do
|
|
16
|
-
group = describe("foo", :type => :model) do; end
|
|
17
|
-
group.ancestors.should include(ActiveSupport::TestCase)
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
it "clears its name from the description" do
|
|
22
|
-
group = describe("foo", :type => :model) do
|
|
23
|
-
$nested_group = describe("bar") do
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
group.description.to_s.should == "foo"
|
|
27
|
-
$nested_group.description.to_s.should == "foo bar"
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
require 'controller_spec_controller'
|
|
3
|
-
require File.join(File.dirname(__FILE__), "/shared_routing_example_group_examples.rb")
|
|
4
|
-
|
|
5
|
-
describe "Routing Examples", :type => :routing do
|
|
6
|
-
|
|
7
|
-
include RoutingExampleGroupSpec
|
|
8
|
-
include RouteToExampleGroupSpec
|
|
9
|
-
include BeRoutableExampleGroupSpec
|
|
10
|
-
end
|
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
class CustomRouteSpecController < ActionController::Base; end
|
|
2
|
-
class RspecOnRailsSpecsController < ActionController::Base; end
|
|
3
|
-
|
|
4
|
-
share_as :RoutingExampleGroupSpec do
|
|
5
|
-
describe "using backward compatible route_for()" do
|
|
6
|
-
it "translates GET-only paths to be explicit" do
|
|
7
|
-
self.should_receive(:assert_routing).with(hash_including(:method => :get), anything, {}, anything)
|
|
8
|
-
route_for(:controller => "controller_spec", :action => "some_action").
|
|
9
|
-
should == "/controller_spec/some_action"
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
it "uses assert_routing to specify that the :controller and :action are involved" do
|
|
13
|
-
@route = { :controller => "controller_spec", :action => "some_action" }
|
|
14
|
-
self.should_receive(:assert_routing).with(anything, @route, {}, anything)
|
|
15
|
-
route_for(@route).
|
|
16
|
-
should == "/controller_spec/some_action"
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
it "passes extra args through to assert_routing" do
|
|
20
|
-
@route = { :controller => "controller_spec", :action => "some_action" }
|
|
21
|
-
self.should_receive(:assert_routing).with(anything, anything, {}, { :a => "1", :b => "2" } )
|
|
22
|
-
route_for(@route).
|
|
23
|
-
should == "/controller_spec/some_action?a=1&b=2"
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
it "passes with an existing route" do
|
|
27
|
-
route_for(:controller => "controller_spec", :action => "some_action").
|
|
28
|
-
should == "/controller_spec/some_action"
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
it "passes with an existing route with additional parameters" do
|
|
32
|
-
route_for(:controller => "controller_spec", :action => "some_action", :param => '1').
|
|
33
|
-
should == "/controller_spec/some_action?param=1"
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
it "recognizes routes with methods besides :get" do
|
|
37
|
-
should_receive(:assert_routing).with(hash_including(:method => :put), anything, {}, anything)
|
|
38
|
-
|
|
39
|
-
route_for(:controller => "rspec_on_rails_specs", :action => "update", :id => "37").
|
|
40
|
-
should == {:path => "/rspec_on_rails_specs/37", :method => :put}
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
describe "failing due to bad path:" do
|
|
44
|
-
it "raises routing error and suggests should_not be_routeable()" do
|
|
45
|
-
lambda {
|
|
46
|
-
route_for(:controller => "rspec_on_rails_specs", :action => "nonexistent", :id => "37") ==
|
|
47
|
-
{:path => "/rspec_on_rails_specs/bad_route/37", :method => :put}
|
|
48
|
-
}.should raise_error( ActionController::RoutingError, /suggest.*should_not be_routable/ )
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
describe "failing due to params mismatch:" do
|
|
53
|
-
it "re-raises assertion and suggests should_not be_routeable()" do
|
|
54
|
-
lambda {
|
|
55
|
-
route_for(:controller => "rspec_on_rails_specs", :action => "nonexistent", :id => "37") ==
|
|
56
|
-
{:path => "/rspec_on_rails_specs/37", :method => :put}
|
|
57
|
-
}.should raise_error( ::Test::Unit::AssertionFailedError, /suggest.*should_not be_routable/ )
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
describe "failing due to wrong HTTP method" do
|
|
62
|
-
it "raises method error and suggest should_not be_routable()" do
|
|
63
|
-
lambda {
|
|
64
|
-
route_for(:controller => "rspec_on_rails_specs", :action => "update", :id => "37").
|
|
65
|
-
should == {:path => "/rspec_on_rails_specs/37", :method => :post}
|
|
66
|
-
}.should raise_error(ActionController::MethodNotAllowed) { |error| error.should_not =~ /should_not be_routable/ }
|
|
67
|
-
end
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
it "generates params for custom routes" do
|
|
71
|
-
# redundant, deprecated
|
|
72
|
-
params_from(:get, '/custom_route').
|
|
73
|
-
should == {:controller => "custom_route_spec", :action => "custom_route"}
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
it "generates params for existing routes" do
|
|
77
|
-
# redundant, deprecated
|
|
78
|
-
params_from(:get, '/controller_spec/some_action').
|
|
79
|
-
should == {:controller => "controller_spec", :action => "some_action"}
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
it "generates params for existing routes with a query parameters" do
|
|
83
|
-
# redundant, deprecated
|
|
84
|
-
params_from(:get, '/controller_spec/some_action?param=1').
|
|
85
|
-
should == {:controller => "controller_spec", :action => "some_action", :param => '1'}
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
it "generates params for existing routes with multiple query parameters" do
|
|
89
|
-
# redundant, deprecated
|
|
90
|
-
params_from(:get, '/controller_spec/some_action?param1=1¶m2=2').
|
|
91
|
-
should == {:controller => "controller_spec", :action => "some_action", :param1 => '1', :param2 => '2' }
|
|
92
|
-
end
|
|
93
|
-
end
|
|
94
|
-
end
|
|
95
|
-
|
|
96
|
-
share_as :BeRoutableExampleGroupSpec do
|
|
97
|
-
describe "using should_not be_routable()" do
|
|
98
|
-
it "passes for a bad route" do
|
|
99
|
-
{ :put => "/rspec_on_rails_specs/bad_route/37" }.
|
|
100
|
-
should_not be_routable
|
|
101
|
-
end
|
|
102
|
-
it "passes for a bad route having an arg" do
|
|
103
|
-
{ :put => "/rspec_on_rails_specs/bad_route/37?some_arg=1" }.
|
|
104
|
-
should_not be_routable
|
|
105
|
-
end
|
|
106
|
-
describe "when assert_recognizes throws exceptions:" do
|
|
107
|
-
[ ActionController::RoutingError, ActionController::MethodNotAllowed ].each do |e|
|
|
108
|
-
it "passes on #{e}" do
|
|
109
|
-
self.stub!( :assert_recognizes ).and_return { raise e, "stubbed exception" }
|
|
110
|
-
{ :get => "/rspec_on_rails_spec/bad_route/37" }.should_not be_routable
|
|
111
|
-
end
|
|
112
|
-
it "should be_routable on usual Test::Unit::AssertionFailedError" do
|
|
113
|
-
# <{}> is predictable because of the way we call assert_recognizes during be_routable().
|
|
114
|
-
self.stub!( :assert_recognizes ).and_return { raise ::Test::Unit::AssertionFailedError, "<{a}> did not match <{}>" }
|
|
115
|
-
{ :get => "/rspec_on_rails_spec/arguably_bad_route" }.should be_routable
|
|
116
|
-
end
|
|
117
|
-
it "should re-raise on unusual Test::Unit::AssertionFailedError" do
|
|
118
|
-
self.stub!( :assert_recognizes ).and_return { raise ::Test::Unit::AssertionFailedError, "some other message" }
|
|
119
|
-
expect { { :get => "/rspec_on_rails_spec/weird_case_route/" }.should be_routable }.
|
|
120
|
-
to raise_error
|
|
121
|
-
end
|
|
122
|
-
end
|
|
123
|
-
end
|
|
124
|
-
it "test should be_routable" do
|
|
125
|
-
{ :get => "/custom_route" }.
|
|
126
|
-
should be_routable
|
|
127
|
-
end
|
|
128
|
-
|
|
129
|
-
it "recommends route_to() on failure with should()" do
|
|
130
|
-
lambda {
|
|
131
|
-
{ :get => "/nonexisting_route" }.
|
|
132
|
-
should be_routable
|
|
133
|
-
}.should raise_error( /route_to\(/)
|
|
134
|
-
end
|
|
135
|
-
|
|
136
|
-
it "shows actual route that was generated on failure with should_not()" do
|
|
137
|
-
begin
|
|
138
|
-
{ :get => "/custom_route" }.should_not be_routable
|
|
139
|
-
rescue Exception => e
|
|
140
|
-
ensure
|
|
141
|
-
# Different versions of ruby order these differently
|
|
142
|
-
e.message.should =~ /"action"=>"custom_route"/
|
|
143
|
-
e.message.should =~ /"controller"=>"custom_route_spec"/
|
|
144
|
-
end
|
|
145
|
-
end
|
|
146
|
-
|
|
147
|
-
it "works with routeable (alternate spelling)" do
|
|
148
|
-
{ :put => "/nonexisting_route" }.
|
|
149
|
-
should_not be_routeable
|
|
150
|
-
end
|
|
151
|
-
end
|
|
152
|
-
end
|
|
153
|
-
|
|
154
|
-
share_as :RouteToExampleGroupSpec do
|
|
155
|
-
describe "using should[_not] route_to()" do
|
|
156
|
-
it "supports existing routes" do
|
|
157
|
-
{ :get => "/controller_spec/some_action" }.
|
|
158
|
-
should route_to( :controller => "controller_spec", :action => "some_action" )
|
|
159
|
-
end
|
|
160
|
-
|
|
161
|
-
it "translates GET-only paths to be explicit, when matching against a string (for parity with route_for().should == '/path')" do
|
|
162
|
-
self.should_receive(:assert_routing).with(hash_including(:method => :get), anything, {}, anything)
|
|
163
|
-
"/controller_spec/some_action".
|
|
164
|
-
should route_to({})
|
|
165
|
-
end
|
|
166
|
-
|
|
167
|
-
it "asserts, using assert_routing, that the :controller and :action are involved" do
|
|
168
|
-
@route = { :controller => "controller_spec", :action => "some_action" }
|
|
169
|
-
self.should_receive(:assert_routing).with(anything, @route, {}, anything)
|
|
170
|
-
"/controller_spec/some_action".
|
|
171
|
-
should route_to(@route)
|
|
172
|
-
end
|
|
173
|
-
|
|
174
|
-
it "sends extra args through" do
|
|
175
|
-
@route = { :controller => "controller_spec", :action => "some_action" }
|
|
176
|
-
self.should_receive(:assert_routing).with(anything, anything, {}, { :a => "1", :b => "2" } )
|
|
177
|
-
"/controller_spec/some_action?a=1&b=2".
|
|
178
|
-
should route_to( @route )
|
|
179
|
-
end
|
|
180
|
-
|
|
181
|
-
it "supports routes with additional parameters" do
|
|
182
|
-
{ :get => "/controller_spec/some_action?param=1" }.
|
|
183
|
-
should route_to( :controller => "controller_spec", :action => "some_action", :param => '1' )
|
|
184
|
-
end
|
|
185
|
-
|
|
186
|
-
it "recognizes routes with methods besides :get" do
|
|
187
|
-
self.should_receive(:assert_routing).with(hash_including(:method => :put), anything, {}, anything)
|
|
188
|
-
{ :put => "/rspec_on_rails_specs/37" }.
|
|
189
|
-
should route_to(:controller => "rspec_on_rails_specs", :action => "update", :id => "37")
|
|
190
|
-
end
|
|
191
|
-
|
|
192
|
-
it "allows only one key/value in the path - :method => path" do
|
|
193
|
-
lambda {
|
|
194
|
-
{ :a => "b" ,:c => "d" }.
|
|
195
|
-
should route_to("anything")
|
|
196
|
-
}.should raise_error( ArgumentError, /usage/ )
|
|
197
|
-
end
|
|
198
|
-
|
|
199
|
-
describe "failing due to bad path" do
|
|
200
|
-
it "raises routing error, and suggests should_not be_routeable()" do
|
|
201
|
-
lambda {
|
|
202
|
-
{ :put => "/rspec_on_rails_specs/nonexistent/37" }.
|
|
203
|
-
should route_to(:controller => "rspec_on_rails_specs", :action => "nonexistent", :id => "37")
|
|
204
|
-
}.should raise_error( ActionController::RoutingError, /suggest.*nonexistent.*should_not be_routable/ )
|
|
205
|
-
end
|
|
206
|
-
end
|
|
207
|
-
|
|
208
|
-
describe "failing due to params mismatch" do
|
|
209
|
-
it "raises assertion, and suggests should_not be_routeable()" do
|
|
210
|
-
lambda {
|
|
211
|
-
{ :put => "/rspec_on_rails_specs/37" }.
|
|
212
|
-
should route_to(:controller => "rspec_on_rails_specs", :action => "nonexistent", :id => "37")
|
|
213
|
-
}.should raise_error( ::Test::Unit::AssertionFailedError, /suggest.*rspec_on_rails_specs\/37.*should_not be_routable/ )
|
|
214
|
-
end
|
|
215
|
-
end
|
|
216
|
-
|
|
217
|
-
describe "passing when expected failure" do
|
|
218
|
-
it "suggests should_not be_routable()" do
|
|
219
|
-
self.stub!(:assert_routing).and_return true
|
|
220
|
-
lambda {
|
|
221
|
-
{ :put => "/rspec_on_rails_specs/37" }.
|
|
222
|
-
should_not route_to(:controller => "rspec_on_rails_specs", :action => "update", :id => "37")
|
|
223
|
-
}.should raise_error( /expected a routing error.*be_routable/im )
|
|
224
|
-
end
|
|
225
|
-
end
|
|
226
|
-
|
|
227
|
-
describe "failing due to wrong HTTP method" do
|
|
228
|
-
it "raises method error and suggests should_not be_routable()" do
|
|
229
|
-
self.stub!(:assert_routing) { raise ActionController::MethodNotAllowed }
|
|
230
|
-
lambda {
|
|
231
|
-
{ :post => "/rspec_on_rails_specs/37" }.
|
|
232
|
-
should route_to(:controller => "rspec_on_rails_specs", :action => "update", :id => "37" )
|
|
233
|
-
}.should raise_error(ActionController::MethodNotAllowed, /rspec_on_rails_specs\/37.*should_not be_routable/ )
|
|
234
|
-
end
|
|
235
|
-
end
|
|
236
|
-
end
|
|
237
|
-
end
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe "assert_equal", :shared => true do
|
|
4
|
-
it "like assert_equal" do
|
|
5
|
-
assert_equal 1, 1
|
|
6
|
-
lambda {
|
|
7
|
-
assert_equal 1, 2
|
|
8
|
-
}.should raise_error(::Test::Unit::AssertionFailedError)
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
describe "A model spec should be able to access 'test/unit' assertions", :type => :model do
|
|
13
|
-
it_should_behave_like "assert_equal"
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
describe "A view spec should be able to access 'test/unit' assertions", :type => :view do
|
|
17
|
-
it_should_behave_like "assert_equal"
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
describe "A helper spec should be able to access 'test/unit' assertions", :type => :helper do
|
|
21
|
-
it_should_behave_like "assert_equal"
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
describe "A controller spec with integrated views should be able to access 'test/unit' assertions", :type => :controller do
|
|
25
|
-
controller_name :controller_spec
|
|
26
|
-
integrate_views
|
|
27
|
-
it_should_behave_like "assert_equal"
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
describe "A controller spec should be able to access 'test/unit' assertions", :type => :controller do
|
|
31
|
-
controller_name :controller_spec
|
|
32
|
-
it_should_behave_like "assert_equal"
|
|
33
|
-
end
|