cavalle-rspec-rails 1.2.2.0.1

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.
Files changed (168) hide show
  1. data/.document +7 -0
  2. data/History.rdoc +207 -0
  3. data/License.txt +33 -0
  4. data/Manifest.txt +167 -0
  5. data/README.rdoc +45 -0
  6. data/Rakefile +79 -0
  7. data/TODO.txt +1 -0
  8. data/Upgrade.rdoc +103 -0
  9. data/features/step_definitions/people.rb +6 -0
  10. data/features/support/env.rb +13 -0
  11. data/features/transactions/transactions_should_rollback.feature +16 -0
  12. data/generators/rspec/CHANGES +1 -0
  13. data/generators/rspec/rspec_generator.rb +54 -0
  14. data/generators/rspec/templates/previous_failures.txt +0 -0
  15. data/generators/rspec/templates/rcov.opts +2 -0
  16. data/generators/rspec/templates/rspec.rake +165 -0
  17. data/generators/rspec/templates/script/autospec +6 -0
  18. data/generators/rspec/templates/script/spec +10 -0
  19. data/generators/rspec/templates/script/spec_server +9 -0
  20. data/generators/rspec/templates/spec.opts +4 -0
  21. data/generators/rspec/templates/spec_helper.rb +47 -0
  22. data/generators/rspec_controller/USAGE +33 -0
  23. data/generators/rspec_controller/rspec_controller_generator.rb +45 -0
  24. data/generators/rspec_controller/templates/controller_spec.rb +25 -0
  25. data/generators/rspec_controller/templates/helper_spec.rb +11 -0
  26. data/generators/rspec_controller/templates/view_spec.rb +12 -0
  27. data/generators/rspec_default_values.rb +19 -0
  28. data/generators/rspec_model/USAGE +18 -0
  29. data/generators/rspec_model/rspec_model_generator.rb +35 -0
  30. data/generators/rspec_model/templates/model_spec.rb +15 -0
  31. data/generators/rspec_scaffold/rspec_scaffold_generator.rb +150 -0
  32. data/generators/rspec_scaffold/templates/controller_spec.rb +171 -0
  33. data/generators/rspec_scaffold/templates/edit_erb_spec.rb +27 -0
  34. data/generators/rspec_scaffold/templates/helper_spec.rb +11 -0
  35. data/generators/rspec_scaffold/templates/index_erb_spec.rb +28 -0
  36. data/generators/rspec_scaffold/templates/new_erb_spec.rb +27 -0
  37. data/generators/rspec_scaffold/templates/routing_spec.rb +63 -0
  38. data/generators/rspec_scaffold/templates/show_erb_spec.rb +23 -0
  39. data/init.rb +9 -0
  40. data/lib/autotest/discover.rb +1 -0
  41. data/lib/autotest/rails_rspec.rb +76 -0
  42. data/lib/spec/rails/example/assigns_hash_proxy.rb +39 -0
  43. data/lib/spec/rails/example/controller_example_group.rb +247 -0
  44. data/lib/spec/rails/example/cookies_proxy.rb +29 -0
  45. data/lib/spec/rails/example/functional_example_group.rb +84 -0
  46. data/lib/spec/rails/example/helper_example_group.rb +153 -0
  47. data/lib/spec/rails/example/model_example_group.rb +14 -0
  48. data/lib/spec/rails/example/render_observer.rb +67 -0
  49. data/lib/spec/rails/example/routing_example_group.rb +13 -0
  50. data/lib/spec/rails/example/routing_helpers.rb +70 -0
  51. data/lib/spec/rails/example/view_example_group.rb +186 -0
  52. data/lib/spec/rails/example.rb +47 -0
  53. data/lib/spec/rails/extensions/action_controller/rescue.rb +42 -0
  54. data/lib/spec/rails/extensions/action_controller/test_case.rb +16 -0
  55. data/lib/spec/rails/extensions/action_controller/test_response.rb +21 -0
  56. data/lib/spec/rails/extensions/action_view/base.rb +33 -0
  57. data/lib/spec/rails/extensions/active_record/base.rb +45 -0
  58. data/lib/spec/rails/extensions/active_support/test_case.rb +7 -0
  59. data/lib/spec/rails/extensions/spec/matchers/have.rb +23 -0
  60. data/lib/spec/rails/extensions/spec/runner/configuration.rb +44 -0
  61. data/lib/spec/rails/extensions.rb +11 -0
  62. data/lib/spec/rails/interop/testcase.rb +14 -0
  63. data/lib/spec/rails/matchers/ar_be_valid.rb +44 -0
  64. data/lib/spec/rails/matchers/assert_select.rb +146 -0
  65. data/lib/spec/rails/matchers/change.rb +11 -0
  66. data/lib/spec/rails/matchers/have_text.rb +57 -0
  67. data/lib/spec/rails/matchers/include_text.rb +54 -0
  68. data/lib/spec/rails/matchers/redirect_to.rb +126 -0
  69. data/lib/spec/rails/matchers/render_template.rb +114 -0
  70. data/lib/spec/rails/matchers.rb +32 -0
  71. data/lib/spec/rails/mocks.rb +135 -0
  72. data/lib/spec/rails/spec_server.rb +127 -0
  73. data/lib/spec/rails/story_adapter.rb +79 -0
  74. data/lib/spec/rails/version.rb +15 -0
  75. data/lib/spec/rails.rb +28 -0
  76. data/rspec-rails.gemspec +57 -0
  77. data/spec/autotest/mappings_spec.rb +86 -0
  78. data/spec/rails_suite.rb +7 -0
  79. data/spec/resources/controllers/action_view_base_spec_controller.rb +2 -0
  80. data/spec/resources/controllers/application.rb +9 -0
  81. data/spec/resources/controllers/controller_spec_controller.rb +120 -0
  82. data/spec/resources/controllers/example.txt +1 -0
  83. data/spec/resources/controllers/redirect_spec_controller.rb +70 -0
  84. data/spec/resources/controllers/render_spec_controller.rb +30 -0
  85. data/spec/resources/controllers/rjs_spec_controller.rb +58 -0
  86. data/spec/resources/helpers/addition_helper.rb +5 -0
  87. data/spec/resources/helpers/explicit_helper.rb +46 -0
  88. data/spec/resources/helpers/more_explicit_helper.rb +5 -0
  89. data/spec/resources/helpers/plugin_application_helper.rb +6 -0
  90. data/spec/resources/helpers/view_spec_helper.rb +13 -0
  91. data/spec/resources/models/animal.rb +4 -0
  92. data/spec/resources/models/person.rb +18 -0
  93. data/spec/resources/models/thing.rb +3 -0
  94. data/spec/resources/views/controller_spec/_partial.html.erb +0 -0
  95. data/spec/resources/views/controller_spec/action_setting_flash_after_session_reset.html.erb +1 -0
  96. data/spec/resources/views/controller_spec/action_setting_flash_before_session_reset.html.erb +1 -0
  97. data/spec/resources/views/controller_spec/action_setting_the_assigns_hash.html.erb +0 -0
  98. data/spec/resources/views/controller_spec/action_with_errors_in_template.html.erb +1 -0
  99. data/spec/resources/views/controller_spec/action_with_template.html.erb +1 -0
  100. data/spec/resources/views/layouts/application.html.erb +0 -0
  101. data/spec/resources/views/layouts/simple.html.erb +0 -0
  102. data/spec/resources/views/objects/_object.html.erb +1 -0
  103. data/spec/resources/views/render_spec/_a_partial.html.erb +0 -0
  104. data/spec/resources/views/render_spec/action_with_alternate_layout.html.erb +0 -0
  105. data/spec/resources/views/render_spec/some_action.html.erb +0 -0
  106. data/spec/resources/views/render_spec/some_action.js.rjs +1 -0
  107. data/spec/resources/views/rjs_spec/_replacement_partial.html.erb +1 -0
  108. data/spec/resources/views/rjs_spec/hide_div.js.rjs +1 -0
  109. data/spec/resources/views/rjs_spec/hide_page_element.js.rjs +1 -0
  110. data/spec/resources/views/rjs_spec/insert_html.js.rjs +1 -0
  111. data/spec/resources/views/rjs_spec/replace.js.rjs +1 -0
  112. data/spec/resources/views/rjs_spec/replace_html.js.rjs +1 -0
  113. data/spec/resources/views/rjs_spec/replace_html_with_partial.js.rjs +1 -0
  114. data/spec/resources/views/rjs_spec/visual_effect.js.rjs +1 -0
  115. data/spec/resources/views/rjs_spec/visual_toggle_effect.js.rjs +1 -0
  116. data/spec/resources/views/tag_spec/no_tags.html.erb +1 -0
  117. data/spec/resources/views/tag_spec/single_div_with_no_attributes.html.erb +1 -0
  118. data/spec/resources/views/tag_spec/single_div_with_one_attribute.html.erb +1 -0
  119. data/spec/resources/views/view_spec/_partial.html.erb +2 -0
  120. data/spec/resources/views/view_spec/_partial_used_twice.html.erb +0 -0
  121. data/spec/resources/views/view_spec/_partial_with_local_variable.html.erb +1 -0
  122. data/spec/resources/views/view_spec/_partial_with_sub_partial.html.erb +1 -0
  123. data/spec/resources/views/view_spec/_spacer.html.erb +1 -0
  124. data/spec/resources/views/view_spec/accessor.html.erb +5 -0
  125. data/spec/resources/views/view_spec/block_helper.html.erb +3 -0
  126. data/spec/resources/views/view_spec/entry_form.html.erb +2 -0
  127. data/spec/resources/views/view_spec/explicit_helper.html.erb +2 -0
  128. data/spec/resources/views/view_spec/foo/show.html.erb +1 -0
  129. data/spec/resources/views/view_spec/implicit_helper.html.erb +2 -0
  130. data/spec/resources/views/view_spec/multiple_helpers.html.erb +3 -0
  131. data/spec/resources/views/view_spec/path_params.html.erb +1 -0
  132. data/spec/resources/views/view_spec/should_not_receive.html.erb +3 -0
  133. data/spec/resources/views/view_spec/template_with_partial.html.erb +5 -0
  134. data/spec/resources/views/view_spec/template_with_partial_using_collection.html.erb +3 -0
  135. data/spec/resources/views/view_spec/template_with_partial_with_array.html.erb +1 -0
  136. data/spec/spec/rails/example/assigns_hash_proxy_spec.rb +109 -0
  137. data/spec/spec/rails/example/configuration_spec.rb +65 -0
  138. data/spec/spec/rails/example/controller_example_group_spec.rb +299 -0
  139. data/spec/spec/rails/example/controller_isolation_spec.rb +56 -0
  140. data/spec/spec/rails/example/cookies_proxy_spec.rb +87 -0
  141. data/spec/spec/rails/example/error_handling_spec.rb +90 -0
  142. data/spec/spec/rails/example/example_group_factory_spec.rb +112 -0
  143. data/spec/spec/rails/example/helper_example_group_spec.rb +233 -0
  144. data/spec/spec/rails/example/model_example_group_spec.rb +20 -0
  145. data/spec/spec/rails/example/routing_example_group_spec.rb +9 -0
  146. data/spec/spec/rails/example/shared_routing_example_group_examples.rb +44 -0
  147. data/spec/spec/rails/example/test_unit_assertion_accessibility_spec.rb +33 -0
  148. data/spec/spec/rails/example/view_example_group_spec.rb +335 -0
  149. data/spec/spec/rails/extensions/action_view_base_spec.rb +48 -0
  150. data/spec/spec/rails/extensions/active_record_spec.rb +14 -0
  151. data/spec/spec/rails/interop/testcase_spec.rb +70 -0
  152. data/spec/spec/rails/matchers/ar_be_valid_spec.rb +45 -0
  153. data/spec/spec/rails/matchers/assert_select_spec.rb +809 -0
  154. data/spec/spec/rails/matchers/errors_on_spec.rb +25 -0
  155. data/spec/spec/rails/matchers/have_text_spec.rb +70 -0
  156. data/spec/spec/rails/matchers/include_text_spec.rb +62 -0
  157. data/spec/spec/rails/matchers/redirect_to_spec.rb +253 -0
  158. data/spec/spec/rails/matchers/render_template_spec.rb +191 -0
  159. data/spec/spec/rails/matchers/should_change_spec.rb +15 -0
  160. data/spec/spec/rails/mocks/ar_classes.rb +10 -0
  161. data/spec/spec/rails/mocks/mock_model_spec.rb +106 -0
  162. data/spec/spec/rails/mocks/stub_model_spec.rb +80 -0
  163. data/spec/spec/rails/sample_modified_fixture.rb +8 -0
  164. data/spec/spec/rails/sample_spec.rb +8 -0
  165. data/spec/spec/rails/spec_server_spec.rb +107 -0
  166. data/spec/spec/rails/spec_spec.rb +11 -0
  167. data/spec/spec_helper.rb +79 -0
  168. metadata +277 -0
@@ -0,0 +1,106 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper'
2
+ require File.dirname(__FILE__) + '/ar_classes'
3
+
4
+ describe "mock_model" do
5
+ describe "responding to interrogation" do
6
+ before(:each) do
7
+ @model = mock_model(SubMockableModel)
8
+ end
9
+ it "should say it is_a? if it is" do
10
+ @model.is_a?(SubMockableModel).should be(true)
11
+ end
12
+ it "should say it is_a? if it's ancestor is" do
13
+ @model.is_a?(MockableModel).should be(true)
14
+ end
15
+ it "should say it is kind_of? if it is" do
16
+ @model.kind_of?(SubMockableModel).should be(true)
17
+ end
18
+ it "should say it is kind_of? if it's ancestor is" do
19
+ @model.kind_of?(MockableModel).should be(true)
20
+ end
21
+ it "should say it is instance_of? if it is" do
22
+ @model.instance_of?(SubMockableModel).should be(true)
23
+ end
24
+ it "should not say it instance_of? if it isn't, even if it's ancestor is" do
25
+ @model.instance_of?(MockableModel).should be(false)
26
+ end
27
+ end
28
+
29
+ describe "with params" do
30
+ it "should not mutate its parameters" do
31
+ params = {:a => 'b'}
32
+ model = mock_model(MockableModel, params)
33
+ params.should == {:a => 'b'}
34
+ end
35
+ end
36
+
37
+ describe "with #id stubbed", :type => :view do
38
+ before(:each) do
39
+ @model = mock_model(MockableModel, :id => 1)
40
+ end
41
+ it "should be named using the stubbed id value" do
42
+ @model.instance_variable_get(:@name).should == "MockableModel_1"
43
+ end
44
+ it "should return string of id value for to_param" do
45
+ @model.to_param.should == "1"
46
+ end
47
+ end
48
+
49
+ describe "as association", :type => :view do
50
+ before(:each) do
51
+ @real = AssociatedModel.create!
52
+ @mock_model = mock_model(MockableModel)
53
+ @real.mockable_model = @mock_model
54
+ end
55
+
56
+ it "should pass associated_model == mock" do
57
+ @mock_model.should == @real.mockable_model
58
+ end
59
+
60
+ it "should pass mock == associated_model" do
61
+ @real.mockable_model.should == @mock_model
62
+ end
63
+ end
64
+
65
+ describe "with :null_object => true", :type => :view do
66
+ before(:each) do
67
+ @model = mock_model(MockableModel, :null_object => true, :mocked_method => "mocked")
68
+ end
69
+
70
+ it "should be able to mock methods" do
71
+ @model.mocked_method.should == "mocked"
72
+ end
73
+ it "should return itself to unmocked methods" do
74
+ @model.unmocked_method.should equal(@model)
75
+ end
76
+ end
77
+
78
+ describe "#as_null_object", :type => :view do
79
+ before(:each) do
80
+ @model = mock_model(MockableModel, :mocked_method => "mocked").as_null_object
81
+ end
82
+
83
+ it "should be able to mock methods" do
84
+ @model.mocked_method.should == "mocked"
85
+ end
86
+ it "should return itself to unmocked methods" do
87
+ @model.unmocked_method.should equal(@model)
88
+ end
89
+ end
90
+
91
+ describe "#as_new_record" do
92
+ it "should say it is a new record" do
93
+ mock_model(MockableModel).as_new_record.should be_new_record
94
+ end
95
+
96
+ it "should have a nil id" do
97
+ mock_model(MockableModel).as_new_record.id.should be(nil)
98
+ end
99
+
100
+ it "should return nil for #to_param" do
101
+ mock_model(MockableModel).as_new_record.to_param.should be(nil)
102
+ end
103
+ end
104
+ end
105
+
106
+
@@ -0,0 +1,80 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper'
2
+ require File.dirname(__FILE__) + '/ar_classes'
3
+
4
+ describe "stub_model" do
5
+ describe "defaults" do
6
+ it "should have an id" do
7
+ stub_model(MockableModel).id.should be > 0
8
+ end
9
+
10
+ it "should say it is not a new record" do
11
+ stub_model(MockableModel).should_not be_new_record
12
+ end
13
+ end
14
+
15
+ it "should accept a stub id" do
16
+ stub_model(MockableModel, :id => 37).id.should == 37
17
+ end
18
+
19
+ it "should say it is a new record when id is set to nil" do
20
+ stub_model(MockableModel, :id => nil).should be_new_record
21
+ end
22
+
23
+ it "should accept any arbitrary stub" do
24
+ stub_model(MockableModel, :foo => "bar").foo.should == "bar"
25
+ end
26
+
27
+ it "should accept a stub for save" do
28
+ stub_model(MockableModel, :save => false).save.should be(false)
29
+ end
30
+
31
+ describe "#as_new_record" do
32
+ it "should say it is a new record" do
33
+ stub_model(MockableModel).as_new_record.should be_new_record
34
+ end
35
+
36
+ it "should have a nil id" do
37
+ stub_model(MockableModel).as_new_record.id.should be(nil)
38
+ end
39
+ end
40
+
41
+ it "should raise when hitting the db" do
42
+ lambda do
43
+ model = stub_model(MockableModel, :changed => true, :attributes_with_quotes => {'this' => 'that'})
44
+ model.save
45
+ end.should raise_error(Spec::Rails::IllegalDataAccessException, /stubbed models are not allowed to access the database/)
46
+ end
47
+
48
+ it "should increment the id" do
49
+ first = stub_model(MockableModel)
50
+ second = stub_model(MockableModel)
51
+ second.id.should == (first.id + 1)
52
+ end
53
+
54
+ describe "as association" do
55
+ before(:each) do
56
+ @real = AssociatedModel.create!
57
+ @stub_model = stub_model(MockableModel)
58
+ @real.mockable_model = @stub_model
59
+ end
60
+
61
+ it "should pass associated_model == mock" do
62
+ @stub_model.should == @real.mockable_model
63
+ end
64
+
65
+ it "should pass mock == associated_model" do
66
+ @real.mockable_model.should == @stub_model
67
+ end
68
+ end
69
+
70
+ describe "with a block" do
71
+ it "should yield the model" do
72
+ model = stub_model(MockableModel) do |block_arg|
73
+ @block_arg = block_arg
74
+ end
75
+ model.should be(@block_arg)
76
+ end
77
+ end
78
+ end
79
+
80
+
@@ -0,0 +1,8 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ describe "A sample spec", :type => :model do
4
+ fixtures :animals
5
+ it "should pass" do
6
+ animals(:pig).name.should == "Piggy"
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ describe "A sample spec", :type => :model do
4
+ fixtures :animals
5
+ it "should pass" do
6
+ animals(:pig).name.should == "Pig"
7
+ end
8
+ end
@@ -0,0 +1,107 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ shared_examples_for "script/spec_server file" do
4
+ attr_accessor :tmbundle_install_directory, :tmbundle_source_directory
5
+ attr_reader :animals_yml_path, :original_animals_content
6
+
7
+ before do
8
+ @animals_yml_path = File.expand_path("#{RAILS_ROOT}/spec/fixtures/animals.yml")
9
+ @original_animals_content = File.read(animals_yml_path)
10
+ end
11
+
12
+ after do
13
+ File.open(animals_yml_path, "w") do |f|
14
+ f.write original_animals_content
15
+ end
16
+ end
17
+
18
+ after(:each) do
19
+ system "lsof -i tcp:8989 | sed /COMMAND/d | awk '{print $2}' | xargs kill"
20
+ end
21
+
22
+ it "runs a spec" do
23
+ dir = File.expand_path(File.dirname(__FILE__))
24
+ output = ""
25
+ Timeout.timeout(20) do
26
+ loop do
27
+ output = `#{RAILS_ROOT}/script/spec #{dir}/sample_spec.rb --drb 2>&1`
28
+ break unless output.include?("No server is running")
29
+ end
30
+ end
31
+
32
+ if $?.exitstatus != 0 || output !~ /0 failures/
33
+ flunk "command 'script/spec spec/sample_spec' failed\n#{output}"
34
+ end
35
+
36
+ fixtures = YAML.load(@original_animals_content)
37
+ fixtures['pig']['name'] = "Piggy"
38
+
39
+ File.open(animals_yml_path, "w") do |f|
40
+ f.write YAML.dump(fixtures)
41
+ end
42
+
43
+ Timeout.timeout(20) do
44
+ loop do
45
+ output = `#{RAILS_ROOT}/script/spec #{dir}/sample_modified_fixture.rb --drb 2>&1`
46
+ break unless output.include?("No server is running")
47
+ end
48
+ end
49
+
50
+ if $?.exitstatus != 0 || output !~ /0 failures/
51
+ flunk "command 'script/spec spec/sample_modified_fixture' failed\n#{output}"
52
+ end
53
+ end
54
+
55
+ def start_spec_server
56
+ dir = File.dirname(__FILE__)
57
+ Thread.start do
58
+ system "cd #{RAILS_ROOT}; script/spec_server"
59
+ end
60
+
61
+ file_content = ""
62
+ end
63
+ end
64
+
65
+ describe "script/spec_server file without TextMate bundle" do
66
+ it_should_behave_like "script/spec_server file"
67
+ before(:each) do
68
+ start_spec_server
69
+ end
70
+ end
71
+
72
+ describe "script/spec_server file with TextMate bundle" do
73
+ it_should_behave_like "script/spec_server file"
74
+ def tmbundle_directory
75
+ current_directory = File.expand_path("#{File.dirname(__FILE__)}/../../../../../../")
76
+ directories = current_directory.split('/')
77
+ while directories.any?
78
+ current_directory = File.join(*directories)
79
+ bundle_directory = File.join(current_directory, @bundle_name)
80
+ return bundle_directory if File.directory?(bundle_directory)
81
+ directories.pop
82
+ end
83
+ end
84
+
85
+ before(:each) do
86
+ @tmbundle_install_directory = File.expand_path("#{Dir.tmpdir}/Library/Application Support/TextMate/Bundles")
87
+ @bundle_name = "RSpec.tmbundle"
88
+ @tmbundle_source_directory = tmbundle_directory
89
+
90
+ FileUtils.mkdir_p(tmbundle_install_directory)
91
+ File.directory?(tmbundle_source_directory).should be_true
92
+ unless system(%Q|ln -s #{tmbundle_source_directory} "#{tmbundle_install_directory}"|)
93
+ raise "Creating link to Textmate Bundle"
94
+ end
95
+ start_spec_server
96
+ end
97
+
98
+ after(:each) do
99
+ bundle_file_to_remove = "#{tmbundle_install_directory}/#{@bundle_name}"
100
+ if bundle_file_to_remove == "/"
101
+ raise "bundle file path resolved to '/' - could not call rm"
102
+ end
103
+ unless system(%Q|rm "#{bundle_file_to_remove}"|)
104
+ raise "Removing Textmate bundle link failed"
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,11 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ describe "script/spec file" do
4
+ it "should run a spec" do
5
+ dir = File.dirname(__FILE__)
6
+ output = `#{RAILS_ROOT}/script/spec #{dir}/sample_spec.rb`
7
+ unless $?.exitstatus == 0
8
+ flunk "command 'script/spec spec/sample_spec' failed\n#{output}"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,79 @@
1
+ dir = File.dirname(__FILE__)
2
+ $LOAD_PATH.unshift(File.expand_path("#{dir}/../rspec/lib"))
3
+ $LOAD_PATH.unshift(File.expand_path("#{dir}/resources/controllers"))
4
+ $LOAD_PATH.unshift(File.expand_path("#{dir}/resources/helpers"))
5
+ require File.expand_path("#{dir}/../../../../spec/spec_helper")
6
+ require File.expand_path("#{dir}/resources/controllers/application")
7
+ require File.expand_path("#{dir}/resources/controllers/render_spec_controller")
8
+ require File.expand_path("#{dir}/resources/controllers/controller_spec_controller")
9
+ require File.expand_path("#{dir}/resources/controllers/rjs_spec_controller")
10
+ require File.expand_path("#{dir}/resources/controllers/redirect_spec_controller")
11
+ require File.expand_path("#{dir}/resources/controllers/action_view_base_spec_controller")
12
+ require File.expand_path("#{dir}/resources/helpers/addition_helper")
13
+ require File.expand_path("#{dir}/resources/helpers/explicit_helper")
14
+ require File.expand_path("#{dir}/resources/helpers/more_explicit_helper")
15
+ require File.expand_path("#{dir}/resources/helpers/view_spec_helper")
16
+ require File.expand_path("#{dir}/resources/helpers/plugin_application_helper")
17
+
18
+ require File.expand_path("#{dir}/resources/models/animal")
19
+ require File.expand_path("#{dir}/resources/models/person")
20
+ require File.expand_path("#{dir}/resources/models/thing")
21
+
22
+ extra_controller_paths = File.expand_path("#{dir}/resources/controllers")
23
+
24
+ unless ActionController::Routing.controller_paths.include?(extra_controller_paths)
25
+ ActionController::Routing.instance_eval {@possible_controllers = nil}
26
+ ActionController::Routing.controller_paths << extra_controller_paths
27
+ end
28
+
29
+ module Spec
30
+ module Rails
31
+ module Example
32
+ class ViewExampleGroupController
33
+ prepend_view_path File.join(File.dirname(__FILE__), "..", "spec", "resources", "views")
34
+ end
35
+ end
36
+ end
37
+ end
38
+
39
+ def fail()
40
+ raise_error(Spec::Expectations::ExpectationNotMetError)
41
+ end
42
+
43
+ def fail_with(message)
44
+ raise_error(Spec::Expectations::ExpectationNotMetError,message)
45
+ end
46
+
47
+ class Proc
48
+ def should_pass
49
+ lambda { self.call }.should_not raise_error
50
+ end
51
+ end
52
+
53
+ ActionController::Routing::Routes.draw do |map|
54
+ map.connect 'action_with_method_restriction', :controller => 'redirect_spec', :action => 'action_with_method_restriction', :conditions => { :method => :get }
55
+ map.connect 'action_to_redirect_to_action_with_method_restriction', :controller => 'redirect_spec', :action => 'action_to_redirect_to_action_with_method_restriction'
56
+
57
+ map.resources :rspec_on_rails_specs
58
+ map.custom_route 'custom_route', :controller => 'custom_route_spec', :action => 'custom_route'
59
+ map.connect ":controller/:action/:id"
60
+ end
61
+
62
+ module HelperMethods
63
+ def method_in_module_included_in_configuration
64
+ end
65
+ end
66
+
67
+ module HelperMacros
68
+ def accesses_configured_helper_methods
69
+ it "has access to methods in modules included in configuration" do
70
+ method_in_module_included_in_configuration
71
+ end
72
+ end
73
+ end
74
+
75
+ Spec::Runner.configure do |config|
76
+ config.include HelperMethods
77
+ config.extend HelperMacros
78
+ end
79
+
metadata ADDED
@@ -0,0 +1,277 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cavalle-rspec-rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.2.0.1
5
+ platform: ruby
6
+ authors:
7
+ - RSpec Development Team
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-04-13 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rspec
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - "="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.2.2
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: rack
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.4.0
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: cucumber
37
+ type: :development
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 0.1.16
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: hoe
47
+ type: :development
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.12.1
54
+ version:
55
+ description: Behaviour Driven Development for Ruby on Rails.
56
+ email:
57
+ - rspec-devel@rubyforge.org
58
+ executables: []
59
+
60
+ extensions: []
61
+
62
+ extra_rdoc_files:
63
+ - License.txt
64
+ - Manifest.txt
65
+ - TODO.txt
66
+ - generators/rspec/templates/previous_failures.txt
67
+ files:
68
+ - .document
69
+ - History.rdoc
70
+ - License.txt
71
+ - Manifest.txt
72
+ - README.rdoc
73
+ - Rakefile
74
+ - TODO.txt
75
+ - Upgrade.rdoc
76
+ - features/step_definitions/people.rb
77
+ - features/support/env.rb
78
+ - features/transactions/transactions_should_rollback.feature
79
+ - generators/rspec/CHANGES
80
+ - generators/rspec/rspec_generator.rb
81
+ - generators/rspec/templates/previous_failures.txt
82
+ - generators/rspec/templates/rcov.opts
83
+ - generators/rspec/templates/rspec.rake
84
+ - generators/rspec/templates/script/autospec
85
+ - generators/rspec/templates/script/spec
86
+ - generators/rspec/templates/script/spec_server
87
+ - generators/rspec/templates/spec.opts
88
+ - generators/rspec/templates/spec_helper.rb
89
+ - generators/rspec_controller/USAGE
90
+ - generators/rspec_controller/rspec_controller_generator.rb
91
+ - generators/rspec_controller/templates/controller_spec.rb
92
+ - generators/rspec_controller/templates/helper_spec.rb
93
+ - generators/rspec_controller/templates/view_spec.rb
94
+ - generators/rspec_default_values.rb
95
+ - generators/rspec_model/USAGE
96
+ - generators/rspec_model/rspec_model_generator.rb
97
+ - generators/rspec_model/templates/model_spec.rb
98
+ - generators/rspec_scaffold/rspec_scaffold_generator.rb
99
+ - generators/rspec_scaffold/templates/controller_spec.rb
100
+ - generators/rspec_scaffold/templates/edit_erb_spec.rb
101
+ - generators/rspec_scaffold/templates/helper_spec.rb
102
+ - generators/rspec_scaffold/templates/index_erb_spec.rb
103
+ - generators/rspec_scaffold/templates/new_erb_spec.rb
104
+ - generators/rspec_scaffold/templates/routing_spec.rb
105
+ - generators/rspec_scaffold/templates/show_erb_spec.rb
106
+ - init.rb
107
+ - lib/autotest/discover.rb
108
+ - lib/autotest/rails_rspec.rb
109
+ - lib/spec/rails.rb
110
+ - lib/spec/rails/example.rb
111
+ - lib/spec/rails/example/assigns_hash_proxy.rb
112
+ - lib/spec/rails/example/controller_example_group.rb
113
+ - lib/spec/rails/example/cookies_proxy.rb
114
+ - lib/spec/rails/example/functional_example_group.rb
115
+ - lib/spec/rails/example/helper_example_group.rb
116
+ - lib/spec/rails/example/model_example_group.rb
117
+ - lib/spec/rails/example/render_observer.rb
118
+ - lib/spec/rails/example/routing_example_group.rb
119
+ - lib/spec/rails/example/routing_helpers.rb
120
+ - lib/spec/rails/example/view_example_group.rb
121
+ - lib/spec/rails/extensions.rb
122
+ - lib/spec/rails/extensions/action_controller/rescue.rb
123
+ - lib/spec/rails/extensions/action_controller/test_case.rb
124
+ - lib/spec/rails/extensions/action_controller/test_response.rb
125
+ - lib/spec/rails/extensions/action_view/base.rb
126
+ - lib/spec/rails/extensions/active_record/base.rb
127
+ - lib/spec/rails/extensions/active_support/test_case.rb
128
+ - lib/spec/rails/extensions/spec/matchers/have.rb
129
+ - lib/spec/rails/extensions/spec/runner/configuration.rb
130
+ - lib/spec/rails/interop/testcase.rb
131
+ - lib/spec/rails/matchers.rb
132
+ - lib/spec/rails/matchers/ar_be_valid.rb
133
+ - lib/spec/rails/matchers/assert_select.rb
134
+ - lib/spec/rails/matchers/change.rb
135
+ - lib/spec/rails/matchers/have_text.rb
136
+ - lib/spec/rails/matchers/include_text.rb
137
+ - lib/spec/rails/matchers/redirect_to.rb
138
+ - lib/spec/rails/matchers/render_template.rb
139
+ - lib/spec/rails/mocks.rb
140
+ - lib/spec/rails/spec_server.rb
141
+ - lib/spec/rails/story_adapter.rb
142
+ - lib/spec/rails/version.rb
143
+ - rspec-rails.gemspec
144
+ - spec/autotest/mappings_spec.rb
145
+ - spec/rails_suite.rb
146
+ - spec/resources/controllers/action_view_base_spec_controller.rb
147
+ - spec/resources/controllers/application.rb
148
+ - spec/resources/controllers/controller_spec_controller.rb
149
+ - spec/resources/controllers/example.txt
150
+ - spec/resources/controllers/redirect_spec_controller.rb
151
+ - spec/resources/controllers/render_spec_controller.rb
152
+ - spec/resources/controllers/rjs_spec_controller.rb
153
+ - spec/resources/helpers/addition_helper.rb
154
+ - spec/resources/helpers/explicit_helper.rb
155
+ - spec/resources/helpers/more_explicit_helper.rb
156
+ - spec/resources/helpers/plugin_application_helper.rb
157
+ - spec/resources/helpers/view_spec_helper.rb
158
+ - spec/resources/models/animal.rb
159
+ - spec/resources/models/person.rb
160
+ - spec/resources/models/thing.rb
161
+ - spec/resources/views/controller_spec/_partial.html.erb
162
+ - spec/resources/views/controller_spec/action_setting_flash_after_session_reset.html.erb
163
+ - spec/resources/views/controller_spec/action_setting_flash_before_session_reset.html.erb
164
+ - spec/resources/views/controller_spec/action_setting_the_assigns_hash.html.erb
165
+ - spec/resources/views/controller_spec/action_with_errors_in_template.html.erb
166
+ - spec/resources/views/controller_spec/action_with_template.html.erb
167
+ - spec/resources/views/layouts/application.html.erb
168
+ - spec/resources/views/layouts/simple.html.erb
169
+ - spec/resources/views/objects/_object.html.erb
170
+ - spec/resources/views/render_spec/_a_partial.html.erb
171
+ - spec/resources/views/render_spec/action_with_alternate_layout.html.erb
172
+ - spec/resources/views/render_spec/some_action.html.erb
173
+ - spec/resources/views/render_spec/some_action.js.rjs
174
+ - spec/resources/views/rjs_spec/_replacement_partial.html.erb
175
+ - spec/resources/views/rjs_spec/hide_div.js.rjs
176
+ - spec/resources/views/rjs_spec/hide_page_element.js.rjs
177
+ - spec/resources/views/rjs_spec/insert_html.js.rjs
178
+ - spec/resources/views/rjs_spec/replace.js.rjs
179
+ - spec/resources/views/rjs_spec/replace_html.js.rjs
180
+ - spec/resources/views/rjs_spec/replace_html_with_partial.js.rjs
181
+ - spec/resources/views/rjs_spec/visual_effect.js.rjs
182
+ - spec/resources/views/rjs_spec/visual_toggle_effect.js.rjs
183
+ - spec/resources/views/tag_spec/no_tags.html.erb
184
+ - spec/resources/views/tag_spec/single_div_with_no_attributes.html.erb
185
+ - spec/resources/views/tag_spec/single_div_with_one_attribute.html.erb
186
+ - spec/resources/views/view_spec/_partial.html.erb
187
+ - spec/resources/views/view_spec/_partial_used_twice.html.erb
188
+ - spec/resources/views/view_spec/_partial_with_local_variable.html.erb
189
+ - spec/resources/views/view_spec/_partial_with_sub_partial.html.erb
190
+ - spec/resources/views/view_spec/_spacer.html.erb
191
+ - spec/resources/views/view_spec/accessor.html.erb
192
+ - spec/resources/views/view_spec/block_helper.html.erb
193
+ - spec/resources/views/view_spec/entry_form.html.erb
194
+ - spec/resources/views/view_spec/explicit_helper.html.erb
195
+ - spec/resources/views/view_spec/foo/show.html.erb
196
+ - spec/resources/views/view_spec/implicit_helper.html.erb
197
+ - spec/resources/views/view_spec/multiple_helpers.html.erb
198
+ - spec/resources/views/view_spec/path_params.html.erb
199
+ - spec/resources/views/view_spec/should_not_receive.html.erb
200
+ - spec/resources/views/view_spec/template_with_partial.html.erb
201
+ - spec/resources/views/view_spec/template_with_partial_using_collection.html.erb
202
+ - spec/resources/views/view_spec/template_with_partial_with_array.html.erb
203
+ - spec/spec/rails/example/assigns_hash_proxy_spec.rb
204
+ - spec/spec/rails/example/configuration_spec.rb
205
+ - spec/spec/rails/example/controller_example_group_spec.rb
206
+ - spec/spec/rails/example/controller_isolation_spec.rb
207
+ - spec/spec/rails/example/cookies_proxy_spec.rb
208
+ - spec/spec/rails/example/error_handling_spec.rb
209
+ - spec/spec/rails/example/example_group_factory_spec.rb
210
+ - spec/spec/rails/example/helper_example_group_spec.rb
211
+ - spec/spec/rails/example/model_example_group_spec.rb
212
+ - spec/spec/rails/example/routing_example_group_spec.rb
213
+ - spec/spec/rails/example/shared_routing_example_group_examples.rb
214
+ - spec/spec/rails/example/test_unit_assertion_accessibility_spec.rb
215
+ - spec/spec/rails/example/view_example_group_spec.rb
216
+ - spec/spec/rails/extensions/action_view_base_spec.rb
217
+ - spec/spec/rails/extensions/active_record_spec.rb
218
+ - spec/spec/rails/interop/testcase_spec.rb
219
+ - spec/spec/rails/matchers/ar_be_valid_spec.rb
220
+ - spec/spec/rails/matchers/assert_select_spec.rb
221
+ - spec/spec/rails/matchers/errors_on_spec.rb
222
+ - spec/spec/rails/matchers/have_text_spec.rb
223
+ - spec/spec/rails/matchers/include_text_spec.rb
224
+ - spec/spec/rails/matchers/redirect_to_spec.rb
225
+ - spec/spec/rails/matchers/render_template_spec.rb
226
+ - spec/spec/rails/matchers/should_change_spec.rb
227
+ - spec/spec/rails/mocks/ar_classes.rb
228
+ - spec/spec/rails/mocks/mock_model_spec.rb
229
+ - spec/spec/rails/mocks/stub_model_spec.rb
230
+ - spec/spec/rails/sample_modified_fixture.rb
231
+ - spec/spec/rails/sample_spec.rb
232
+ - spec/spec/rails/spec_server_spec.rb
233
+ - spec/spec/rails/spec_spec.rb
234
+ - spec/spec_helper.rb
235
+ has_rdoc: true
236
+ homepage: http://rspec.info
237
+ post_install_message: |
238
+ **************************************************
239
+
240
+ Thank you for installing rspec-rails-1.2.2
241
+
242
+ If you are upgrading, do this in each of your rails apps
243
+ that you want to upgrade:
244
+
245
+ $ ruby script/generate rspec
246
+
247
+ Please be sure to read History.rdoc and Upgrade.rdoc
248
+ for useful information about this release.
249
+
250
+ **************************************************
251
+
252
+ rdoc_options:
253
+ - --main
254
+ - README.rdoc
255
+ require_paths:
256
+ - lib
257
+ required_ruby_version: !ruby/object:Gem::Requirement
258
+ requirements:
259
+ - - ">="
260
+ - !ruby/object:Gem::Version
261
+ version: "0"
262
+ version:
263
+ required_rubygems_version: !ruby/object:Gem::Requirement
264
+ requirements:
265
+ - - ">="
266
+ - !ruby/object:Gem::Version
267
+ version: "0"
268
+ version:
269
+ requirements: []
270
+
271
+ rubyforge_project: rspec
272
+ rubygems_version: 1.2.0
273
+ signing_key:
274
+ specification_version: 2
275
+ summary: rspec-rails 1.2.2
276
+ test_files: []
277
+