dchelimsky-rspec-rails 1.1.12 → 1.1.99.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. data/History.txt +29 -2
  2. data/License.txt +1 -1
  3. data/Manifest.txt +7 -6
  4. data/README.txt +5 -4
  5. data/Rakefile +14 -2
  6. data/TODO.txt +1 -0
  7. data/Upgrade.txt +30 -0
  8. data/generators/rspec/templates/rspec.rake +12 -10
  9. data/generators/rspec/templates/script/spec_server +10 -111
  10. data/generators/rspec_controller/rspec_controller_generator.rb +1 -5
  11. data/generators/rspec_scaffold/rspec_scaffold_generator.rb +9 -13
  12. data/generators/rspec_scaffold/templates/controller_spec.rb +25 -25
  13. data/generators/rspec_scaffold/templates/edit_erb_spec.rb +1 -1
  14. data/generators/rspec_scaffold/templates/helper_spec.rb +1 -1
  15. data/generators/rspec_scaffold/templates/index_erb_spec.rb +1 -1
  16. data/generators/rspec_scaffold/templates/new_erb_spec.rb +1 -1
  17. data/generators/rspec_scaffold/templates/routing_spec.rb +24 -20
  18. data/generators/rspec_scaffold/templates/show_erb_spec.rb +1 -1
  19. data/lib/spec/rails/example/controller_example_group.rb +46 -16
  20. data/lib/spec/rails/example/functional_example_group.rb +7 -22
  21. data/lib/spec/rails/example/helper_example_group.rb +6 -9
  22. data/lib/spec/rails/example/model_example_group.rb +1 -1
  23. data/lib/spec/rails/example/render_observer.rb +0 -26
  24. data/lib/spec/rails/example/view_example_group.rb +32 -34
  25. data/lib/spec/rails/example.rb +0 -2
  26. data/lib/spec/rails/extensions/active_support/test_case.rb +7 -0
  27. data/lib/spec/rails/extensions/spec/runner/configuration.rb +12 -44
  28. data/lib/spec/rails/extensions.rb +1 -1
  29. data/lib/spec/rails/matchers/ar_be_valid.rb +3 -0
  30. data/lib/spec/rails/matchers/have_text.rb +1 -1
  31. data/lib/spec/rails/matchers/include_text.rb +2 -2
  32. data/lib/spec/rails/matchers/redirect_to.rb +6 -14
  33. data/lib/spec/rails/matchers/render_template.rb +5 -1
  34. data/lib/spec/rails/spec_server.rb +86 -0
  35. data/lib/spec/rails/version.rb +2 -2
  36. data/lib/spec/rails.rb +10 -9
  37. data/rspec-rails.gemspec +12 -9
  38. data/spec/resources/controllers/controller_spec_controller.rb +1 -1
  39. data/spec/resources/controllers/render_spec_controller.rb +1 -1
  40. data/spec/resources/controllers/rjs_spec_controller.rb +1 -1
  41. data/spec/spec/rails/example/configuration_spec.rb +15 -29
  42. data/spec/spec/rails/example/{controller_spec_spec.rb → controller_example_group_spec.rb} +84 -60
  43. data/spec/spec/rails/example/cookies_proxy_spec.rb +32 -36
  44. data/spec/spec/rails/example/example_group_factory_spec.rb +5 -5
  45. data/spec/spec/rails/example/{helper_spec_spec.rb → helper_example_group_spec.rb} +8 -2
  46. data/spec/spec/rails/example/{model_spec_spec.rb → model_example_group_spec.rb} +3 -1
  47. data/spec/spec/rails/example/{view_spec_spec.rb → view_example_group_spec.rb} +33 -15
  48. data/spec/spec/rails/matchers/ar_be_valid_spec.rb +10 -0
  49. data/spec/spec/rails/matchers/assert_select_spec.rb +1 -0
  50. data/spec/spec/rails/matchers/have_text_spec.rb +12 -4
  51. data/spec/spec/rails/matchers/include_text_spec.rb +11 -13
  52. data/spec/spec/rails/matchers/redirect_to_spec.rb +221 -210
  53. data/spec/spec/rails/matchers/render_template_spec.rb +161 -158
  54. data/spec/spec/rails/spec_server_spec.rb +18 -7
  55. data/spec/spec_helper.rb +20 -9
  56. metadata +21 -10
  57. data/lib/spec/rails/example/rails_example_group.rb +0 -28
  58. data/lib/spec/rails/extensions/action_controller/base.rb +0 -14
@@ -0,0 +1,86 @@
1
+ require 'drb/drb'
2
+ require 'rbconfig'
3
+
4
+ # This is based on Florian Weber's TDDMate
5
+ module Spec
6
+ module Rails
7
+ class SpecServer
8
+ class << self
9
+ def restart_test_server
10
+ puts "restarting"
11
+ config = ::Config::CONFIG
12
+ ruby = File::join(config['bindir'], config['ruby_install_name']) + config['EXEEXT']
13
+ command_line = [ruby, $0, ARGV].flatten.join(' ')
14
+ exec(command_line)
15
+ end
16
+
17
+ def daemonize(pid_file = nil)
18
+ return yield if $DEBUG
19
+ pid = Process.fork{
20
+ Process.setsid
21
+ Dir.chdir(RAILS_ROOT)
22
+ trap("SIGINT"){ exit! 0 }
23
+ trap("SIGTERM"){ exit! 0 }
24
+ trap("SIGHUP"){ restart_test_server }
25
+ File.open("/dev/null"){|f|
26
+ STDERR.reopen f
27
+ STDIN.reopen f
28
+ STDOUT.reopen f
29
+ }
30
+ run
31
+ }
32
+ puts "spec_server launched (PID: %d)" % pid
33
+ File.open(pid_file,"w"){|f| f.puts pid } if pid_file
34
+ exit! 0
35
+ end
36
+
37
+ def run
38
+ trap("USR2") { ::Spec::Rails::SpecServer.restart_test_server } if Signal.list.has_key?("USR2")
39
+ DRb.start_service("druby://127.0.0.1:8989", ::Spec::Rails::SpecServer.new)
40
+ DRb.thread.join
41
+ end
42
+ end
43
+
44
+ def run(argv, stderr, stdout)
45
+ $stdout = stdout
46
+ $stderr = stderr
47
+
48
+ require 'action_controller/dispatcher'
49
+ dispatcher = ::ActionController::Dispatcher.new($stdout)
50
+ dispatcher.respond_to?(:cleanup_application) ?
51
+ dispatcher.cleanup_application :
52
+ dispatcher.reload_application
53
+
54
+ if Object.const_defined?(:Fixtures) && Fixtures.respond_to?(:reset_cache)
55
+ Fixtures.reset_cache
56
+ end
57
+
58
+ ::ActiveSupport.const_defined?(:Dependencies) ?
59
+ ::ActiveSupport::Dependencies.mechanism = :load :
60
+ ::Dependencies.mechanism = :load
61
+
62
+ require_dependency('application.rb') unless Object.const_defined?(:ApplicationController)
63
+ load "#{RAILS_ROOT}/spec/spec_helper.rb"
64
+
65
+ if in_memory_database?
66
+ load "#{RAILS_ROOT}/db/schema.rb" # use db agnostic schema by default
67
+ ActiveRecord::Migrator.up('db/migrate') # use migrations
68
+ end
69
+
70
+ ::Spec::Runner::CommandLine.run(
71
+ ::Spec::Runner::OptionParser.parse(
72
+ argv,
73
+ $stderr,
74
+ $stdout
75
+ )
76
+ )
77
+ end
78
+
79
+ def in_memory_database?
80
+ ENV["RAILS_ENV"] == "test" and
81
+ ::ActiveRecord::Base.connection.class.to_s == "ActiveRecord::ConnectionAdapters::SQLite3Adapter" and
82
+ ::Rails::Configuration.new.database_configuration['test']['database'] == ':memory:'
83
+ end
84
+ end
85
+ end
86
+ end
@@ -4,8 +4,8 @@ module Spec
4
4
  unless defined? MAJOR
5
5
  MAJOR = 1
6
6
  MINOR = 1
7
- TINY = 12
8
- MINESCULE = nil
7
+ TINY = 99
8
+ MINESCULE = 1
9
9
 
10
10
  STRING = [MAJOR, MINOR, TINY, MINESCULE].compact.join('.')
11
11
 
data/lib/spec/rails.rb CHANGED
@@ -1,17 +1,18 @@
1
- silence_warnings { RAILS_ENV = "test" }
1
+ RAILS_ENV ||= "test"
2
2
 
3
3
  begin
4
4
  require_dependency 'application_controller'
5
5
  rescue MissingSourceFile
6
6
  require_dependency 'application'
7
7
  end
8
+ require 'rack/utils'
8
9
 
9
10
  require 'action_controller/test_process'
10
11
  require 'action_controller/integration'
12
+ require 'active_support/test_case'
11
13
  require 'active_record/fixtures' if defined?(ActiveRecord::Base)
12
- require 'test/unit'
13
14
 
14
- require 'spec'
15
+ require 'spec/test/unit'
15
16
 
16
17
  require 'spec/rails/matchers'
17
18
  require 'spec/rails/mocks'
@@ -19,9 +20,9 @@ require 'spec/rails/example'
19
20
  require 'spec/rails/extensions'
20
21
  require 'spec/rails/interop/testcase'
21
22
 
22
- if Rails::VERSION::STRING >= "2.0"
23
- # This is a temporary hack to get rspec's auto-runner functionality to not consider
24
- # ActionMailer::TestCase to be a spec waiting to run.
25
- require 'action_mailer/test_case'
26
- Spec::Example::ExampleGroupFactory.register(:ignore_for_now, ActionMailer::TestCase)
27
- end
23
+ Spec::Example::ExampleGroupFactory.default(ActiveSupport::TestCase)
24
+
25
+ if ActionView::Base.respond_to?(:cache_template_extension)
26
+ ActionView::Base.cache_template_extensions = false
27
+ end
28
+
data/rspec-rails.gemspec CHANGED
@@ -2,35 +2,38 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{rspec-rails}
5
- s.version = "1.1.12"
5
+ s.version = "1.1.99.1"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["RSpec Development Team"]
9
- s.date = %q{2009-01-11}
9
+ s.date = %q{2009-02-11}
10
10
  s.description = %q{Behaviour Driven Development for Ruby on Rails.}
11
11
  s.email = ["rspec-devel@rubyforge.org"]
12
- s.extra_rdoc_files = ["History.txt", "License.txt", "Manifest.txt", "README.txt", "TODO.txt", "generators/rspec/templates/previous_failures.txt"]
13
- s.files = ["History.txt", "License.txt", "Manifest.txt", "README.txt", "Rakefile", "TODO.txt", "features/step_definitions/people.rb", "features/support/env.rb", "features/transactions/transactions_should_rollback.feature", "generators/rspec/CHANGES", "generators/rspec/rspec_generator.rb", "generators/rspec/templates/previous_failures.txt", "generators/rspec/templates/rcov.opts", "generators/rspec/templates/rspec.rake", "generators/rspec/templates/script/autospec", "generators/rspec/templates/script/spec", "generators/rspec/templates/script/spec_server", "generators/rspec/templates/spec.opts", "generators/rspec/templates/spec_helper.rb", "generators/rspec_controller/USAGE", "generators/rspec_controller/rspec_controller_generator.rb", "generators/rspec_controller/templates/controller_spec.rb", "generators/rspec_controller/templates/helper_spec.rb", "generators/rspec_controller/templates/view_spec.rb", "generators/rspec_default_values.rb", "generators/rspec_model/USAGE", "generators/rspec_model/rspec_model_generator.rb", "generators/rspec_model/templates/model_spec.rb", "generators/rspec_scaffold/rspec_scaffold_generator.rb", "generators/rspec_scaffold/templates/controller_spec.rb", "generators/rspec_scaffold/templates/edit_erb_spec.rb", "generators/rspec_scaffold/templates/helper_spec.rb", "generators/rspec_scaffold/templates/index_erb_spec.rb", "generators/rspec_scaffold/templates/new_erb_spec.rb", "generators/rspec_scaffold/templates/routing_spec.rb", "generators/rspec_scaffold/templates/show_erb_spec.rb", "init.rb", "lib/autotest/discover.rb", "lib/autotest/rails_rspec.rb", "lib/spec/rails.rb", "lib/spec/rails/example.rb", "lib/spec/rails/example/assigns_hash_proxy.rb", "lib/spec/rails/example/controller_example_group.rb", "lib/spec/rails/example/cookies_proxy.rb", "lib/spec/rails/example/functional_example_group.rb", "lib/spec/rails/example/helper_example_group.rb", "lib/spec/rails/example/model_example_group.rb", "lib/spec/rails/example/rails_example_group.rb", "lib/spec/rails/example/render_observer.rb", "lib/spec/rails/example/view_example_group.rb", "lib/spec/rails/extensions.rb", "lib/spec/rails/extensions/action_controller/base.rb", "lib/spec/rails/extensions/action_controller/rescue.rb", "lib/spec/rails/extensions/action_controller/test_response.rb", "lib/spec/rails/extensions/action_view/base.rb", "lib/spec/rails/extensions/active_record/base.rb", "lib/spec/rails/extensions/spec/matchers/have.rb", "lib/spec/rails/extensions/spec/runner/configuration.rb", "lib/spec/rails/interop/testcase.rb", "lib/spec/rails/matchers.rb", "lib/spec/rails/matchers/ar_be_valid.rb", "lib/spec/rails/matchers/assert_select.rb", "lib/spec/rails/matchers/change.rb", "lib/spec/rails/matchers/have_text.rb", "lib/spec/rails/matchers/include_text.rb", "lib/spec/rails/matchers/redirect_to.rb", "lib/spec/rails/matchers/render_template.rb", "lib/spec/rails/mocks.rb", "lib/spec/rails/story_adapter.rb", "lib/spec/rails/version.rb", "rspec-rails.gemspec", "spec/autotest/mappings_spec.rb", "spec/rails_suite.rb", "spec/resources/controllers/action_view_base_spec_controller.rb", "spec/resources/controllers/application.rb", "spec/resources/controllers/controller_spec_controller.rb", "spec/resources/controllers/redirect_spec_controller.rb", "spec/resources/controllers/render_spec_controller.rb", "spec/resources/controllers/rjs_spec_controller.rb", "spec/resources/helpers/addition_helper.rb", "spec/resources/helpers/explicit_helper.rb", "spec/resources/helpers/more_explicit_helper.rb", "spec/resources/helpers/plugin_application_helper.rb", "spec/resources/helpers/view_spec_helper.rb", "spec/resources/models/animal.rb", "spec/resources/models/person.rb", "spec/resources/models/thing.rb", "spec/resources/views/controller_spec/_partial.rhtml", "spec/resources/views/controller_spec/action_setting_flash_after_session_reset.rhtml", "spec/resources/views/controller_spec/action_setting_flash_before_session_reset.rhtml", "spec/resources/views/controller_spec/action_setting_the_assigns_hash.rhtml", "spec/resources/views/controller_spec/action_with_errors_in_template.rhtml", "spec/resources/views/controller_spec/action_with_template.rhtml", "spec/resources/views/layouts/application.rhtml", "spec/resources/views/layouts/simple.rhtml", "spec/resources/views/objects/_object.html.erb", "spec/resources/views/render_spec/_a_partial.rhtml", "spec/resources/views/render_spec/action_with_alternate_layout.rhtml", "spec/resources/views/render_spec/some_action.html.erb", "spec/resources/views/render_spec/some_action.js.rjs", "spec/resources/views/render_spec/some_action.rjs", "spec/resources/views/rjs_spec/_replacement_partial.rhtml", "spec/resources/views/rjs_spec/hide_div.rjs", "spec/resources/views/rjs_spec/hide_page_element.rjs", "spec/resources/views/rjs_spec/insert_html.rjs", "spec/resources/views/rjs_spec/replace.rjs", "spec/resources/views/rjs_spec/replace_html.rjs", "spec/resources/views/rjs_spec/replace_html_with_partial.rjs", "spec/resources/views/rjs_spec/visual_effect.rjs", "spec/resources/views/rjs_spec/visual_toggle_effect.rjs", "spec/resources/views/tag_spec/no_tags.rhtml", "spec/resources/views/tag_spec/single_div_with_no_attributes.rhtml", "spec/resources/views/tag_spec/single_div_with_one_attribute.rhtml", "spec/resources/views/view_spec/_partial.rhtml", "spec/resources/views/view_spec/_partial_used_twice.rhtml", "spec/resources/views/view_spec/_partial_with_local_variable.rhtml", "spec/resources/views/view_spec/_partial_with_sub_partial.rhtml", "spec/resources/views/view_spec/_spacer.rhtml", "spec/resources/views/view_spec/accessor.rhtml", "spec/resources/views/view_spec/block_helper.rhtml", "spec/resources/views/view_spec/entry_form.rhtml", "spec/resources/views/view_spec/explicit_helper.rhtml", "spec/resources/views/view_spec/foo/show.rhtml", "spec/resources/views/view_spec/implicit_helper.rhtml", "spec/resources/views/view_spec/multiple_helpers.rhtml", "spec/resources/views/view_spec/path_params.html.erb", "spec/resources/views/view_spec/should_not_receive.rhtml", "spec/resources/views/view_spec/template_with_partial.rhtml", "spec/resources/views/view_spec/template_with_partial_using_collection.rhtml", "spec/resources/views/view_spec/template_with_partial_with_array.rhtml", "spec/spec/rails/example/assigns_hash_proxy_spec.rb", "spec/spec/rails/example/configuration_spec.rb", "spec/spec/rails/example/controller_isolation_spec.rb", "spec/spec/rails/example/controller_spec_spec.rb", "spec/spec/rails/example/cookies_proxy_spec.rb", "spec/spec/rails/example/example_group_factory_spec.rb", "spec/spec/rails/example/helper_spec_spec.rb", "spec/spec/rails/example/model_spec_spec.rb", "spec/spec/rails/example/shared_behaviour_spec.rb", "spec/spec/rails/example/test_unit_assertion_accessibility_spec.rb", "spec/spec/rails/example/view_spec_spec.rb", "spec/spec/rails/extensions/action_controller_rescue_action_spec.rb", "spec/spec/rails/extensions/action_view_base_spec.rb", "spec/spec/rails/extensions/active_record_spec.rb", "spec/spec/rails/interop/testcase_spec.rb", "spec/spec/rails/matchers/ar_be_valid_spec.rb", "spec/spec/rails/matchers/assert_select_spec.rb", "spec/spec/rails/matchers/errors_on_spec.rb", "spec/spec/rails/matchers/have_text_spec.rb", "spec/spec/rails/matchers/include_text_spec.rb", "spec/spec/rails/matchers/redirect_to_spec.rb", "spec/spec/rails/matchers/render_template_spec.rb", "spec/spec/rails/matchers/should_change_spec.rb", "spec/spec/rails/mocks/ar_classes.rb", "spec/spec/rails/mocks/mock_model_spec.rb", "spec/spec/rails/mocks/stub_model_spec.rb", "spec/spec/rails/sample_modified_fixture.rb", "spec/spec/rails/sample_spec.rb", "spec/spec/rails/spec_server_spec.rb", "spec/spec/rails/spec_spec.rb", "spec/spec_helper.rb"]
12
+ s.extra_rdoc_files = ["History.txt", "License.txt", "Manifest.txt", "README.txt", "TODO.txt", "Upgrade.txt", "generators/rspec/templates/previous_failures.txt"]
13
+ s.files = ["History.txt", "License.txt", "Manifest.txt", "README.txt", "Rakefile", "TODO.txt", "Upgrade.txt", "features/step_definitions/people.rb", "features/support/env.rb", "features/transactions/transactions_should_rollback.feature", "generators/rspec/CHANGES", "generators/rspec/rspec_generator.rb", "generators/rspec/templates/previous_failures.txt", "generators/rspec/templates/rcov.opts", "generators/rspec/templates/rspec.rake", "generators/rspec/templates/script/autospec", "generators/rspec/templates/script/spec", "generators/rspec/templates/script/spec_server", "generators/rspec/templates/spec.opts", "generators/rspec/templates/spec_helper.rb", "generators/rspec_controller/USAGE", "generators/rspec_controller/rspec_controller_generator.rb", "generators/rspec_controller/templates/controller_spec.rb", "generators/rspec_controller/templates/helper_spec.rb", "generators/rspec_controller/templates/view_spec.rb", "generators/rspec_default_values.rb", "generators/rspec_model/USAGE", "generators/rspec_model/rspec_model_generator.rb", "generators/rspec_model/templates/model_spec.rb", "generators/rspec_scaffold/rspec_scaffold_generator.rb", "generators/rspec_scaffold/templates/controller_spec.rb", "generators/rspec_scaffold/templates/edit_erb_spec.rb", "generators/rspec_scaffold/templates/helper_spec.rb", "generators/rspec_scaffold/templates/index_erb_spec.rb", "generators/rspec_scaffold/templates/new_erb_spec.rb", "generators/rspec_scaffold/templates/routing_spec.rb", "generators/rspec_scaffold/templates/show_erb_spec.rb", "init.rb", "lib/autotest/discover.rb", "lib/autotest/rails_rspec.rb", "lib/spec/rails.rb", "lib/spec/rails/example.rb", "lib/spec/rails/example/assigns_hash_proxy.rb", "lib/spec/rails/example/controller_example_group.rb", "lib/spec/rails/example/cookies_proxy.rb", "lib/spec/rails/example/functional_example_group.rb", "lib/spec/rails/example/helper_example_group.rb", "lib/spec/rails/example/model_example_group.rb", "lib/spec/rails/example/render_observer.rb", "lib/spec/rails/example/view_example_group.rb", "lib/spec/rails/extensions.rb", "lib/spec/rails/extensions/action_controller/rescue.rb", "lib/spec/rails/extensions/action_controller/test_response.rb", "lib/spec/rails/extensions/action_view/base.rb", "lib/spec/rails/extensions/active_record/base.rb", "lib/spec/rails/extensions/active_support/test_case.rb", "lib/spec/rails/extensions/spec/matchers/have.rb", "lib/spec/rails/extensions/spec/runner/configuration.rb", "lib/spec/rails/interop/testcase.rb", "lib/spec/rails/matchers.rb", "lib/spec/rails/matchers/ar_be_valid.rb", "lib/spec/rails/matchers/assert_select.rb", "lib/spec/rails/matchers/change.rb", "lib/spec/rails/matchers/have_text.rb", "lib/spec/rails/matchers/include_text.rb", "lib/spec/rails/matchers/redirect_to.rb", "lib/spec/rails/matchers/render_template.rb", "lib/spec/rails/mocks.rb", "lib/spec/rails/spec_server.rb", "lib/spec/rails/story_adapter.rb", "lib/spec/rails/version.rb", "rspec-rails.gemspec", "spec/autotest/mappings_spec.rb", "spec/rails_suite.rb", "spec/resources/controllers/action_view_base_spec_controller.rb", "spec/resources/controllers/application.rb", "spec/resources/controllers/controller_spec_controller.rb", "spec/resources/controllers/redirect_spec_controller.rb", "spec/resources/controllers/render_spec_controller.rb", "spec/resources/controllers/rjs_spec_controller.rb", "spec/resources/helpers/addition_helper.rb", "spec/resources/helpers/explicit_helper.rb", "spec/resources/helpers/more_explicit_helper.rb", "spec/resources/helpers/plugin_application_helper.rb", "spec/resources/helpers/view_spec_helper.rb", "spec/resources/models/animal.rb", "spec/resources/models/person.rb", "spec/resources/models/thing.rb", "spec/resources/views/controller_spec/_partial.rhtml", "spec/resources/views/controller_spec/action_setting_flash_after_session_reset.rhtml", "spec/resources/views/controller_spec/action_setting_flash_before_session_reset.rhtml", "spec/resources/views/controller_spec/action_setting_the_assigns_hash.rhtml", "spec/resources/views/controller_spec/action_with_errors_in_template.rhtml", "spec/resources/views/controller_spec/action_with_template.rhtml", "spec/resources/views/layouts/application.rhtml", "spec/resources/views/layouts/simple.rhtml", "spec/resources/views/objects/_object.html.erb", "spec/resources/views/render_spec/_a_partial.rhtml", "spec/resources/views/render_spec/action_with_alternate_layout.rhtml", "spec/resources/views/render_spec/some_action.html.erb", "spec/resources/views/render_spec/some_action.js.rjs", "spec/resources/views/render_spec/some_action.rjs", "spec/resources/views/rjs_spec/_replacement_partial.rhtml", "spec/resources/views/rjs_spec/hide_div.rjs", "spec/resources/views/rjs_spec/hide_page_element.rjs", "spec/resources/views/rjs_spec/insert_html.rjs", "spec/resources/views/rjs_spec/replace.rjs", "spec/resources/views/rjs_spec/replace_html.rjs", "spec/resources/views/rjs_spec/replace_html_with_partial.rjs", "spec/resources/views/rjs_spec/visual_effect.rjs", "spec/resources/views/rjs_spec/visual_toggle_effect.rjs", "spec/resources/views/tag_spec/no_tags.rhtml", "spec/resources/views/tag_spec/single_div_with_no_attributes.rhtml", "spec/resources/views/tag_spec/single_div_with_one_attribute.rhtml", "spec/resources/views/view_spec/_partial.rhtml", "spec/resources/views/view_spec/_partial_used_twice.rhtml", "spec/resources/views/view_spec/_partial_with_local_variable.rhtml", "spec/resources/views/view_spec/_partial_with_sub_partial.rhtml", "spec/resources/views/view_spec/_spacer.rhtml", "spec/resources/views/view_spec/accessor.rhtml", "spec/resources/views/view_spec/block_helper.rhtml", "spec/resources/views/view_spec/entry_form.rhtml", "spec/resources/views/view_spec/explicit_helper.rhtml", "spec/resources/views/view_spec/foo/show.rhtml", "spec/resources/views/view_spec/implicit_helper.rhtml", "spec/resources/views/view_spec/multiple_helpers.rhtml", "spec/resources/views/view_spec/path_params.html.erb", "spec/resources/views/view_spec/should_not_receive.rhtml", "spec/resources/views/view_spec/template_with_partial.rhtml", "spec/resources/views/view_spec/template_with_partial_using_collection.rhtml", "spec/resources/views/view_spec/template_with_partial_with_array.rhtml", "spec/spec/rails/example/assigns_hash_proxy_spec.rb", "spec/spec/rails/example/configuration_spec.rb", "spec/spec/rails/example/controller_example_group_spec.rb", "spec/spec/rails/example/controller_isolation_spec.rb", "spec/spec/rails/example/cookies_proxy_spec.rb", "spec/spec/rails/example/example_group_factory_spec.rb", "spec/spec/rails/example/helper_example_group_spec.rb", "spec/spec/rails/example/model_example_group_spec.rb", "spec/spec/rails/example/shared_behaviour_spec.rb", "spec/spec/rails/example/test_unit_assertion_accessibility_spec.rb", "spec/spec/rails/example/view_example_group_spec.rb", "spec/spec/rails/extensions/action_controller_rescue_action_spec.rb", "spec/spec/rails/extensions/action_view_base_spec.rb", "spec/spec/rails/extensions/active_record_spec.rb", "spec/spec/rails/interop/testcase_spec.rb", "spec/spec/rails/matchers/ar_be_valid_spec.rb", "spec/spec/rails/matchers/assert_select_spec.rb", "spec/spec/rails/matchers/errors_on_spec.rb", "spec/spec/rails/matchers/have_text_spec.rb", "spec/spec/rails/matchers/include_text_spec.rb", "spec/spec/rails/matchers/redirect_to_spec.rb", "spec/spec/rails/matchers/render_template_spec.rb", "spec/spec/rails/matchers/should_change_spec.rb", "spec/spec/rails/mocks/ar_classes.rb", "spec/spec/rails/mocks/mock_model_spec.rb", "spec/spec/rails/mocks/stub_model_spec.rb", "spec/spec/rails/sample_modified_fixture.rb", "spec/spec/rails/sample_spec.rb", "spec/spec/rails/spec_server_spec.rb", "spec/spec/rails/spec_spec.rb", "spec/spec_helper.rb"]
14
14
  s.has_rdoc = true
15
15
  s.homepage = %q{http://rspec.info/}
16
16
  s.rdoc_options = ["--main", "README.txt"]
17
17
  s.require_paths = ["lib"]
18
18
  s.rubyforge_project = %q{rspec}
19
19
  s.rubygems_version = %q{1.3.1}
20
- s.summary = %q{rspec-rails 1.1.12}
20
+ s.summary = %q{rspec-rails 1.1.99.1}
21
21
 
22
22
  if s.respond_to? :specification_version then
23
23
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
24
24
  s.specification_version = 2
25
25
 
26
26
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
27
- s.add_runtime_dependency(%q<rspec>, ["= 1.1.12"])
27
+ s.add_runtime_dependency(%q<rspec>, ["= 1.1.99.1"])
28
+ s.add_runtime_dependency(%q<rack>, [">= 0.4.0"])
28
29
  s.add_development_dependency(%q<cucumber>, [">= 0.1.13"])
29
- s.add_development_dependency(%q<hoe>, [">= 1.8.2"])
30
+ s.add_development_dependency(%q<hoe>, [">= 1.8.3"])
30
31
  else
31
- s.add_dependency(%q<rspec>, ["= 1.1.12"])
32
+ s.add_dependency(%q<rspec>, ["= 1.1.99.1"])
33
+ s.add_dependency(%q<rack>, [">= 0.4.0"])
32
34
  end
33
35
  else
34
- s.add_dependency(%q<rspec>, ["= 1.1.12"])
36
+ s.add_dependency(%q<rspec>, ["= 1.1.99.1"])
37
+ s.add_dependency(%q<rack>, [">= 0.4.0"])
35
38
  end
36
39
  end
@@ -7,7 +7,7 @@ class ControllerSpecController < ActionController::Base
7
7
 
8
8
  skip_before_filter :raise_error
9
9
 
10
- set_view_path File.join(File.dirname(__FILE__), "..", "views")
10
+ prepend_view_path File.join(File.dirname(__FILE__), "..", "views")
11
11
 
12
12
  def some_action
13
13
  render :template => "template/that/does/not/actually/exist"
@@ -1,5 +1,5 @@
1
1
  class RenderSpecController < ApplicationController
2
- set_view_path File.join(File.dirname(__FILE__), "..", "views")
2
+ prepend_view_path File.join(File.dirname(__FILE__), "..", "views")
3
3
 
4
4
  def some_action
5
5
  respond_to do |format|
@@ -1,5 +1,5 @@
1
1
  class RjsSpecController < ApplicationController
2
- set_view_path File.join(File.dirname(__FILE__), "..", "views")
2
+ prepend_view_path File.join(File.dirname(__FILE__), "..", "views")
3
3
 
4
4
  def replace_html
5
5
  end
@@ -9,41 +9,33 @@ module Spec
9
9
  end
10
10
 
11
11
  describe "#use_transactional_fixtures" do
12
- it "should return #{Spec::Runner::Configuration::TEST_CASE}.use_transactional_fixtures" do
13
- config.use_transactional_fixtures.should == Spec::Runner::Configuration::TEST_CASE.use_transactional_fixtures
12
+ it "should return ActiveSupport::TestCase.use_transactional_fixtures" do
13
+ config.use_transactional_fixtures.should == ActiveSupport::TestCase.use_transactional_fixtures
14
14
  end
15
15
 
16
- it "should set #{Spec::Runner::Configuration::TEST_CASE}.use_transactional_fixtures to false" do
17
- Configuration::EXAMPLE_GROUP_CLASSES.each do |example_group|
18
- example_group.should_receive(:use_transactional_fixtures=).with(false)
19
- end
16
+ it "should set ActiveSupport::TestCase.use_transactional_fixtures to false" do
17
+ ActiveSupport::TestCase.should_receive(:use_transactional_fixtures=).with(false)
20
18
  config.use_transactional_fixtures = false
21
19
  end
22
20
 
23
- it "should set #{Spec::Runner::Configuration::TEST_CASE}.use_transactional_fixtures to true" do
24
- Configuration::EXAMPLE_GROUP_CLASSES.each do |example_group|
25
- example_group.should_receive(:use_transactional_fixtures=).with(true)
26
- end
21
+ it "should set ActiveSupport::TestCase.use_transactional_fixtures to true" do
22
+ ActiveSupport::TestCase.should_receive(:use_transactional_fixtures=).with(true)
27
23
  config.use_transactional_fixtures = true
28
24
  end
29
25
  end
30
26
 
31
27
  describe "#use_instantiated_fixtures" do
32
- it "should return #{Spec::Runner::Configuration::TEST_CASE}.use_transactional_fixtures" do
33
- config.use_instantiated_fixtures.should == Spec::Runner::Configuration::TEST_CASE.use_instantiated_fixtures
28
+ it "should return ActiveSupport::TestCase.use_transactional_fixtures" do
29
+ config.use_instantiated_fixtures.should == ActiveSupport::TestCase.use_instantiated_fixtures
34
30
  end
35
31
 
36
- it "should set #{Spec::Runner::Configuration::TEST_CASE}.use_instantiated_fixtures to false" do
37
- Configuration::EXAMPLE_GROUP_CLASSES.each do |example_group|
38
- example_group.should_receive(:use_instantiated_fixtures=).with(false)
39
- end
32
+ it "should set ActiveSupport::TestCase.use_instantiated_fixtures to false" do
33
+ ActiveSupport::TestCase.should_receive(:use_instantiated_fixtures=).with(false)
40
34
  config.use_instantiated_fixtures = false
41
35
  end
42
36
 
43
- it "should set #{Spec::Runner::Configuration::TEST_CASE}.use_instantiated_fixtures to true" do
44
- Configuration::EXAMPLE_GROUP_CLASSES.each do |example_group|
45
- example_group.should_receive(:use_instantiated_fixtures=).with(true)
46
- end
37
+ it "should set ActiveSupport::TestCase.use_instantiated_fixtures to true" do
38
+ ActiveSupport::TestCase.should_receive(:use_instantiated_fixtures=).with(true)
47
39
  config.use_instantiated_fixtures = true
48
40
  end
49
41
  end
@@ -51,25 +43,19 @@ module Spec
51
43
  describe "#fixture_path" do
52
44
  it "should default to RAILS_ROOT + '/spec/fixtures'" do
53
45
  config.fixture_path.should == RAILS_ROOT + '/spec/fixtures'
54
- Configuration::EXAMPLE_GROUP_CLASSES.each do |example_group|
55
- example_group.fixture_path.should == RAILS_ROOT + '/spec/fixtures'
56
- end
46
+ ActiveSupport::TestCase.fixture_path.should == RAILS_ROOT + '/spec/fixtures'
57
47
  end
58
48
 
59
49
  it "should set fixture_path" do
60
50
  config.fixture_path = "/new/path"
61
51
  config.fixture_path.should == "/new/path"
62
- Configuration::EXAMPLE_GROUP_CLASSES.each do |example_group|
63
- example_group.fixture_path.should == "/new/path"
64
- end
52
+ ActiveSupport::TestCase.fixture_path.should == "/new/path"
65
53
  end
66
54
  end
67
55
 
68
56
  describe "#global_fixtures" do
69
57
  it "should set fixtures on TestCase" do
70
- Configuration::EXAMPLE_GROUP_CLASSES.each do |example_group|
71
- example_group.should_receive(:fixtures).with(:blah)
72
- end
58
+ ActiveSupport::TestCase.should_receive(:fixtures).with(:blah)
73
59
  config.global_fixtures = [:blah]
74
60
  end
75
61
  end
@@ -5,6 +5,20 @@ require 'controller_spec_controller'
5
5
  describe "A controller example running in #{mode} mode", :type => :controller do
6
6
  controller_name :controller_spec
7
7
  integrate_views if mode == 'integration'
8
+
9
+ accesses_configured_helper_methods
10
+
11
+ it "should use the controller as the implicit subject" do
12
+ subject.should == controller
13
+ end
14
+
15
+ describe "with a specified subject" do
16
+ subject { 'specified' }
17
+
18
+ it "should use the specified subject instead of the controller" do
19
+ subject.should == 'specified'
20
+ end
21
+ end
8
22
 
9
23
  it "should provide controller.session as session" do
10
24
  get 'action_with_template'
@@ -101,22 +115,6 @@ require 'controller_spec_controller'
101
115
  end
102
116
  end
103
117
 
104
- describe "handling deprecated expect_render" do
105
- it "should warn" do
106
- Kernel.should_receive(:warn).with(/expect_render is deprecated/)
107
- controller.expect_render(:template => "controller_spec/action_with_template")
108
- get :action_with_template
109
- end
110
- end
111
-
112
- describe "handling deprecated stub_render" do
113
- it "should warn" do
114
- Kernel.should_receive(:warn).with(/stub_render is deprecated/)
115
- controller.stub_render(:template => "controller_spec/action_with_template")
116
- get :action_with_template
117
- end
118
- end
119
-
120
118
  describe "setting cookies in the request" do
121
119
 
122
120
  it "should support a String key" do
@@ -129,11 +127,9 @@ require 'controller_spec_controller'
129
127
  get 'action_which_gets_cookie', :expected => "cookie value"
130
128
  end
131
129
 
132
- if Rails::VERSION::STRING >= "2.0.0"
133
- it "should support a Hash value" do
134
- cookies[:cookie_key] = {'value' => 'cookie value', 'path' => '/not/default'}
135
- get 'action_which_gets_cookie', :expected => {'value' => 'cookie value', 'path' => '/not/default'}
136
- end
130
+ it "should support a Hash value" do
131
+ cookies[:cookie_key] = {'value' => 'cookie value', 'path' => '/not/default'}
132
+ get 'action_which_gets_cookie', :expected => {'value' => 'cookie value', 'path' => '/not/default'}
137
133
  end
138
134
 
139
135
  end
@@ -170,80 +166,107 @@ require 'controller_spec_controller'
170
166
  end
171
167
  context "with rails' error handling" do
172
168
  it "does not raise the error" do
173
- controller.use_rails_error_handling!
174
- lambda do
175
- get 'other_error_action'
176
- end.should_not raise_error
169
+ pending "deal with use_rails_error_handling" do
170
+ controller.use_rails_error_handling!
171
+ lambda do
172
+ get 'other_error_action'
173
+ end.should_not raise_error
174
+ end
177
175
  end
178
176
  end
179
177
  end
180
178
 
181
- if Rails::VERSION::MAJOR >= 2
182
- describe "with an error that is rescued in the controller" do
183
- context "without rails' error handling" do
184
- it "does not raise error" do
185
- lambda do
186
- get 'rescued_error_action'
187
- end.should_not raise_error
188
- end
189
-
190
- it "executes rescue_from" do
179
+ describe "with an error that is rescued in the controller" do
180
+ context "without rails' error handling" do
181
+ it "does not raise error" do
182
+ lambda do
191
183
  get 'rescued_error_action'
192
- response.body.should == 'Rescued!'
193
- end
184
+ end.should_not raise_error
194
185
  end
195
186
 
196
- context "with rails' error handling" do
197
- before(:each) do
198
- controller.use_rails_error_handling!
199
- end
200
- it "does not raise error" do
201
- lambda do
202
- get 'rescued_error_action'
203
- end.should_not raise_error
204
- end
187
+ it "executes rescue_from" do
188
+ get 'rescued_error_action'
189
+ response.body.should == 'Rescued!'
190
+ end
191
+ end
205
192
 
206
- it "executes rescue_from" do
193
+ context "with rails' error handling" do
194
+ before(:each) do
195
+ controller.use_rails_error_handling!
196
+ end
197
+ it "does not raise error" do
198
+ lambda do
207
199
  get 'rescued_error_action'
208
- response.body.should == 'Rescued!'
209
- end
200
+ end.should_not raise_error
201
+ end
202
+
203
+ it "executes rescue_from" do
204
+ get 'rescued_error_action'
205
+ response.body.should == 'Rescued!'
210
206
  end
211
207
  end
212
208
  end
213
209
 
210
+ class CustomRouteSpecController < ActionController::Base; end
211
+ class RspecOnRailsSpecsController < ActionController::Base; end
212
+
214
213
  it "should support custom routes" do
215
- route_for(:controller => "custom_route_spec", :action => "custom_route").should == "/custom_route"
214
+ route_for(:controller => "custom_route_spec", :action => "custom_route").
215
+ should == "/custom_route"
216
216
  end
217
217
 
218
218
  it "should support existing routes" do
219
- route_for(:controller => "controller_spec", :action => "some_action").should == "/controller_spec/some_action"
219
+ route_for(:controller => "controller_spec", :action => "some_action").
220
+ should == "/controller_spec/some_action"
220
221
  end
221
222
 
222
- it "should generate params for custom routes" do
223
- params_from(:get, '/custom_route').should == {:controller => "custom_route_spec", :action => "custom_route"}
223
+ it "should support existing routes with additional parameters" do
224
+ route_for(:controller => "controller_spec", :action => "some_action", :param => '1').
225
+ should == "/controller_spec/some_action?param=1"
224
226
  end
225
227
 
228
+ it "recognizes routes with methods besides :get" do
229
+ route_for(:controller => "rspec_on_rails_specs", :action => "update", :id => "37").
230
+ should == {:path => "/rspec_on_rails_specs/37", :method => :put}
231
+ end
232
+
233
+ it "should generate params for custom routes" do
234
+ params_from(:get, '/custom_route').
235
+ should == {:controller => "custom_route_spec", :action => "custom_route"}
236
+ end
237
+
226
238
  it "should generate params for existing routes" do
227
- params_from(:get, '/controller_spec/some_action').should == {:controller => "controller_spec", :action => "some_action"}
239
+ params_from(:get, '/controller_spec/some_action').
240
+ should == {:controller => "controller_spec", :action => "some_action"}
228
241
  end
229
-
242
+
243
+ it "should generate params for an existing route with a query parameter" do
244
+ params_from(:get, '/controller_spec/some_action?param=1').
245
+ should == {:controller => "controller_spec", :action => "some_action", :param => '1'}
246
+ end
247
+
248
+ it "should generate params for an existing route with multiple query parameters" do
249
+ params_from(:get, '/controller_spec/some_action?param1=1&param2=2').
250
+ should == {:controller => "controller_spec", :action => "some_action", :param1 => '1', :param2 => '2' }
251
+ end
252
+
230
253
  it "should expose instance vars through the assigns hash" do
231
254
  get 'action_setting_the_assigns_hash'
232
255
  assigns[:indirect_assigns_key].should == :indirect_assigns_key_value
233
256
  end
234
-
257
+
235
258
  it "should expose instance vars through the assigns hash that are set to false" do
236
259
  get 'action_that_assigns_false_to_a_variable'
237
260
  assigns[:a_variable].should be_false
238
261
  end
239
-
262
+
240
263
  it "should NOT complain when calling should_receive with arguments other than :render" do
241
264
  controller.should_receive(:anything_besides_render)
242
265
  lambda {
243
266
  controller.rspec_verify
244
267
  }.should raise_error(Exception, /expected :anything_besides_render/)
245
268
  end
246
-
269
+
247
270
  it "should not run a skipped before_filter" do
248
271
  lambda {
249
272
  get 'action_with_skipped_before_filter'
@@ -301,9 +324,10 @@ end
301
324
  end
302
325
  end
303
326
 
304
-
327
+ # # FIXME - not sure why this fails against 2.0.5, since generated controller
328
+ # # specs that use the implicit controller pass.
305
329
  describe ControllerSpecController, :type => :controller do
306
- it "should not require naming the controller if describe is passed a type" do
330
+ it "should use the controller passed to #describe" do
307
331
  end
308
332
  end
309
333