minitest-rails 0.2 → 0.5

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 (65) hide show
  1. data/.travis.yml +4 -4
  2. data/CHANGELOG.rdoc +11 -0
  3. data/LICENSE +1 -1
  4. data/Manifest.txt +16 -13
  5. data/README.rdoc +11 -29
  6. data/Rakefile +6 -4
  7. data/gemfiles/3.0.gemfile +1 -2
  8. data/gemfiles/3.0.gemfile.lock +37 -38
  9. data/gemfiles/3.1.gemfile +1 -2
  10. data/gemfiles/3.1.gemfile.lock +40 -41
  11. data/gemfiles/3.2.gemfile +1 -2
  12. data/gemfiles/3.2.gemfile.lock +45 -45
  13. data/gemfiles/4.0.gemfile +8 -0
  14. data/gemfiles/4.0.gemfile.lock +104 -0
  15. data/lib/autotest/minitest_rails.rb +2 -1
  16. data/lib/generators/mini_test/controller/templates/controller_test.rb +1 -1
  17. data/lib/generators/mini_test/helper/templates/helper_test.rb +2 -2
  18. data/lib/generators/mini_test/install/install_generator.rb +1 -1
  19. data/lib/generators/mini_test/install/templates/test/minitest_helper.rb +3 -9
  20. data/lib/generators/mini_test/integration/integration_generator.rb +2 -2
  21. data/lib/generators/mini_test/integration/templates/integration_spec.rb +2 -2
  22. data/lib/generators/mini_test/integration/templates/integration_test.rb +1 -1
  23. data/lib/generators/mini_test/mailer/templates/mailer_test.rb +1 -1
  24. data/lib/generators/mini_test/model/templates/model_test.rb +1 -1
  25. data/lib/generators/mini_test/scaffold/scaffold_generator.rb +15 -0
  26. data/lib/generators/mini_test/scaffold/templates/controller_spec.rb +6 -6
  27. data/lib/generators/mini_test/scaffold/templates/controller_test.rb +7 -7
  28. data/lib/generators/mini_test.rb +25 -12
  29. data/lib/minitest/rails/constant_lookup.rb +54 -0
  30. data/lib/minitest/rails/tasks/minitest.rake +22 -51
  31. data/lib/minitest/rails/test_case.rb +93 -0
  32. data/lib/minitest/rails/testing.rb +39 -0
  33. data/lib/minitest/rails/version.rb +5 -0
  34. data/lib/minitest/rails.rb +109 -20
  35. data/lib/minitest-rails.rb +1 -1
  36. data/minitest-rails.gemspec +16 -16
  37. data/tasks/gemfiles.rake +24 -0
  38. data/tasks/test.rake +26 -0
  39. data/test/generators/test_controller_generator.rb +10 -39
  40. data/test/generators/test_helper_generator.rb +8 -35
  41. data/test/generators/test_install_generator.rb +4 -27
  42. data/test/generators/test_mailer_generator.rb +5 -29
  43. data/test/generators/test_model_generator.rb +7 -32
  44. data/test/generators/test_scaffold_generator.rb +5 -29
  45. data/test/helper.rb +35 -0
  46. data/test/rails/action_controller/test_controllers.rb +4 -14
  47. data/test/rails/action_controller/test_spec_type.rb +3 -7
  48. data/test/rails/{test_action_dispatch_spec_type.rb → action_dispatch/test_spec_type.rb} +16 -11
  49. data/test/rails/action_mailer/test_mailers.rb +109 -0
  50. data/test/rails/{test_action_mailer_spec_type.rb → action_mailer/test_spec_type.rb} +3 -8
  51. data/test/rails/action_view/test_helpers.rb +73 -0
  52. data/test/rails/{test_action_view_spec_type.rb → action_view/test_spec_type.rb} +3 -10
  53. data/test/rails/{test_active_support_spec_type.rb → active_support/test_spec_type.rb} +2 -7
  54. data/test/rails/test_constant_lookup.rb +58 -0
  55. data/test/test_sanity.rb +1 -2
  56. metadata +54 -49
  57. data/gemfiles/minitest_tu_shim.rb +0 -4
  58. data/lib/minitest/rails/action_controller.rb +0 -61
  59. data/lib/minitest/rails/action_dispatch.rb +0 -36
  60. data/lib/minitest/rails/action_mailer.rb +0 -19
  61. data/lib/minitest/rails/action_view.rb +0 -20
  62. data/lib/minitest/rails/active_support.rb +0 -68
  63. data/lib/minitest/rails/declarative.rb +0 -27
  64. data/lib/minitest/rails/mochaing.rb +0 -11
  65. data/test/rails/action_controller/test_controller_lookup.rb +0 -49
@@ -0,0 +1,39 @@
1
+ require "rake/testtask"
2
+
3
+ module MiniTest
4
+ module Rails
5
+ module Testing
6
+ mattr_accessor :default_tasks
7
+ mattr_accessor :task_opts
8
+
9
+ self.default_tasks = %w(models helpers controllers mailers integration)
10
+ self.task_opts = { "performance" => "-- --benchmark" }
11
+
12
+ def self.all_tasks
13
+ Dir["test/*/"].map {|dir| /test\/(.+?)\//.match(dir)[1] }.select do |dir|
14
+ !Dir.glob("test/#{dir}/**/*_test.rb").empty?
15
+ end
16
+ end
17
+
18
+ def self.run_tests directories
19
+ errors = directories.collect do |dir|
20
+ task = "minitest:#{dir}"
21
+ begin
22
+ if Rake::Task.task_defined? task
23
+ Rake::Task[task].invoke
24
+ end
25
+ nil
26
+ rescue => e
27
+ { :task => task, :exception => e }
28
+ end
29
+ end.compact
30
+
31
+ if errors.any?
32
+ puts errors.map { |e| "Errors running #{e[:task]}! #{e[:exception].inspect}" }.join("\n")
33
+ abort
34
+ end
35
+ end
36
+
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,5 @@
1
+ module MiniTest
2
+ module Rails
3
+ VERSION = "0.5"
4
+ end
5
+ end
@@ -2,53 +2,142 @@
2
2
  # so fixtures aren't loaded into that environment
3
3
  abort("Abort testing: Your Rails environment is running in production mode!") if Rails.env.production?
4
4
 
5
- require "minitest/rails/active_support"
6
- require "minitest/rails/action_controller"
7
- require "minitest/rails/action_view"
8
- require "minitest/rails/action_mailer" if defined? ActionMailer
9
- require "minitest/rails/action_dispatch"
5
+ require "minitest/rails/test_case"
10
6
 
11
7
  # Enable turn if it is available
12
8
  begin
13
- require 'turn/autorun'
9
+ require "turn/autorun"
14
10
  rescue LoadError
15
11
  end
16
12
 
17
- module MiniTest
18
- module Rails
19
- def self.override_testunit!
20
- Kernel.silence_warnings do
21
- ::ActiveSupport.const_set :TestCase, MiniTest::Rails::ActiveSupport::TestCase
22
- ::ActionController.const_set :TestCase, MiniTest::Rails::ActionController::TestCase
23
- ::ActionView.const_set :TestCase, MiniTest::Rails::ActionView::TestCase
24
- ::ActionMailer.const_set :TestCase, MiniTest::Rails::ActionMailer::TestCase if defined? ActionMailer
25
- ::ActionDispatch.const_set :IntegrationTest, MiniTest::Rails::ActionDispatch::IntegrationTest
13
+ # Override the default ActiveSupport::TestCase to set the minitest dependency
14
+
15
+ require "active_support/test_case"
16
+ Kernel.silence_warnings do
17
+ ActiveSupport.const_set :TestCase, MiniTest::Rails::TestCase
18
+ end
19
+
20
+ # Add spec DSL integration
21
+
22
+ if defined?(ActiveRecord::Base)
23
+ class ActiveSupport::TestCase
24
+ # Use AS::TestCase for the base class when describing a model
25
+ register_spec_type(self) do |desc|
26
+ desc < ActiveRecord::Base if desc.is_a?(Class)
27
+ end
28
+ end
29
+ end
30
+
31
+ require "action_controller/test_case"
32
+ class ActionController::TestCase
33
+ # Use AC::TestCase for the base class when describing a controller
34
+ register_spec_type(self) do |desc|
35
+ Class === desc && desc < ActionController::Metal
36
+ end
37
+ register_spec_type(/Controller( ?Test)?\z/i, self)
38
+
39
+ # Resolve the controller from the test name when using the spec DSL
40
+ def self.determine_default_controller_class(name)
41
+ controller = determine_constant_from_test_name(name) do |constant|
42
+ Class === constant && constant < ActionController::Metal
43
+ end
44
+ raise NameError.new("Unable to resolve controller for #{name}") if controller.nil?
45
+ controller
46
+ end
47
+ end
48
+
49
+ require "action_view/test_case"
50
+ class ActionView::TestCase
51
+ # Use AV::TestCase for the base class for helpers and views
52
+ register_spec_type(/(Helper( ?Test)?| View Test)\z/i, self)
53
+
54
+ # Resolve the helper or view from the test name when using the spec DSL
55
+ def self.determine_default_helper_class(name)
56
+ determine_constant_from_test_name(name) do |constant|
57
+ Module === constant
58
+ end
59
+ end
60
+ end
61
+
62
+ if defined? ActionMailer
63
+ require "action_mailer/test_helper"
64
+ require "action_mailer/test_case"
65
+ class ActionMailer::TestCase
66
+ # Use AM::TestCase for the base class when describing a mailer
67
+ register_spec_type(self) do |desc|
68
+ desc < ActionMailer::Base if desc.is_a?(Class)
69
+ end
70
+ register_spec_type(/Mailer( ?Test)?\z/i, self)
71
+
72
+ # Resolve the mailer from the test name when using the spec DSL
73
+ def self.determine_default_mailer(name)
74
+ mailer = determine_constant_from_test_name(name) do |constant|
75
+ Class === constant && constant < ::ActionMailer::Base
26
76
  end
77
+ raise ActionMailer::NonInferrableMailerError.new(name) if mailer.nil?
78
+ mailer
27
79
  end
28
80
  end
29
81
  end
30
82
 
83
+ require "action_dispatch/testing/integration"
84
+ class ActionDispatch::IntegrationTest
85
+ # Register by name, consider Acceptance to be deprecated
86
+ register_spec_type(/(Integration|Acceptance)( ?Test)?\z/i, self)
87
+ end
88
+
89
+ # Default wiring for the tests. This was originaly done in the helper.
90
+
91
+ # Enable fixtures if appropriate
92
+
31
93
  if defined?(ActiveRecord::Base)
32
- class MiniTest::Rails::ActiveSupport::TestCase
94
+ class ActiveSupport::TestCase
33
95
  include ActiveRecord::TestFixtures
34
96
  self.fixture_path = "#{Rails.root}/test/fixtures/"
35
97
  end
36
98
 
37
- MiniTest::Rails::ActionDispatch::IntegrationTest.fixture_path = MiniTest::Rails::ActiveSupport::TestCase.fixture_path
99
+ ActionDispatch::IntegrationTest.fixture_path = ActiveSupport::TestCase.fixture_path
38
100
 
39
101
  def create_fixtures(*table_names, &block)
40
- ActiveRecord::Fixtures.create_fixtures(MiniTest::Rails::ActiveSupport::TestCase.fixture_path, table_names, {}, &block)
102
+ ActiveRecord::Fixtures.create_fixtures(ActiveSupport::TestCase.fixture_path, table_names, {}, &block)
41
103
  end
42
104
  end
43
105
 
44
- class MiniTest::Rails::ActionController::TestCase
106
+ # Setup the routes
107
+
108
+ class ActionController::TestCase
45
109
  setup do
46
110
  @routes = Rails.application.routes
47
111
  end
48
112
  end
49
113
 
50
- class MiniTest::Rails::ActionDispatch::IntegrationTest
114
+ class ActionDispatch::IntegrationTest
51
115
  setup do
52
116
  @routes = Rails.application.routes
53
117
  end
54
118
  end
119
+
120
+ # Deprecated, for backwards compatibility with older minitest-rails only
121
+
122
+ module MiniTest
123
+ module Rails
124
+ def self.override_testunit!
125
+ # noop
126
+ end
127
+ module ActiveSupport
128
+ TestCase = ::ActiveSupport::TestCase
129
+ end
130
+ module ActionController
131
+ TestCase = ::ActionController::TestCase
132
+ end
133
+ module ActionView
134
+ TestCase = ::ActionView::TestCase
135
+ end
136
+ module ActionMailer
137
+ TestCase = ::ActionMailer::TestCase if defined? ::ActionMailer
138
+ end
139
+ module ActionDispatch
140
+ IntegrationTest = ::ActionDispatch::IntegrationTest
141
+ end
142
+ end
143
+ end
@@ -1,9 +1,9 @@
1
+ require "minitest/rails/version"
1
2
  require "rails"
2
3
  require "minitest/unit"
3
4
 
4
5
  module MiniTest
5
6
  module Rails
6
- VERSION = "0.2"
7
7
  class Railtie < ::Rails::Railtie
8
8
  if ::Rails.version.to_f >= 3.1
9
9
  config.app_generators.integration_tool :mini_test
@@ -2,44 +2,44 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "minitest-rails"
5
- s.version = "0.2.20120919094008"
5
+ s.version = "0.5.20130110235401"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Mike Moore"]
9
- s.date = "2012-09-19"
10
- s.description = "Adds MiniTest as the default testing library in Rails 3.x"
9
+ s.date = "2013-01-11"
10
+ s.description = "Adds MiniTest as the default testing library in Rails 3 and 4"
11
11
  s.email = ["mike@blowmage.com"]
12
12
  s.extra_rdoc_files = ["CHANGELOG.rdoc", "Manifest.txt", "README.rdoc"]
13
- s.files = [".autotest", ".gemtest", ".travis.yml", "CHANGELOG.rdoc", "LICENSE", "Manifest.txt", "README.rdoc", "Rakefile", "gemfiles/3.0.gemfile", "gemfiles/3.0.gemfile.lock", "gemfiles/3.1.gemfile", "gemfiles/3.1.gemfile.lock", "gemfiles/3.2.gemfile", "gemfiles/3.2.gemfile.lock", "gemfiles/minitest_tu_shim.rb", "lib/autotest/discover.rb", "lib/autotest/fixtures.rb", "lib/autotest/migrate.rb", "lib/autotest/minitest_rails.rb", "lib/generators/mini_test.rb", "lib/generators/mini_test/controller/controller_generator.rb", "lib/generators/mini_test/controller/templates/controller_spec.rb", "lib/generators/mini_test/controller/templates/controller_test.rb", "lib/generators/mini_test/helper/helper_generator.rb", "lib/generators/mini_test/helper/templates/helper_spec.rb", "lib/generators/mini_test/helper/templates/helper_test.rb", "lib/generators/mini_test/install/install_generator.rb", "lib/generators/mini_test/install/templates/test/minitest_helper.rb", "lib/generators/mini_test/integration/integration_generator.rb", "lib/generators/mini_test/integration/templates/integration_spec.rb", "lib/generators/mini_test/integration/templates/integration_test.rb", "lib/generators/mini_test/mailer/mailer_generator.rb", "lib/generators/mini_test/mailer/templates/mailer_spec.rb", "lib/generators/mini_test/mailer/templates/mailer_test.rb", "lib/generators/mini_test/model/model_generator.rb", "lib/generators/mini_test/model/templates/fixtures.yml", "lib/generators/mini_test/model/templates/model_spec.rb", "lib/generators/mini_test/model/templates/model_test.rb", "lib/generators/mini_test/scaffold/scaffold_generator.rb", "lib/generators/mini_test/scaffold/templates/controller_spec.rb", "lib/generators/mini_test/scaffold/templates/controller_test.rb", "lib/minitest-rails.rb", "lib/minitest/rails.rb", "lib/minitest/rails/action_controller.rb", "lib/minitest/rails/action_dispatch.rb", "lib/minitest/rails/action_mailer.rb", "lib/minitest/rails/action_view.rb", "lib/minitest/rails/active_support.rb", "lib/minitest/rails/declarative.rb", "lib/minitest/rails/mochaing.rb", "lib/minitest/rails/tasks/minitest.rake", "lib/minitest/rails/tasks/sub_test_task.rb", "minitest-rails.gemspec", "test/generators/test_controller_generator.rb", "test/generators/test_helper_generator.rb", "test/generators/test_install_generator.rb", "test/generators/test_mailer_generator.rb", "test/generators/test_model_generator.rb", "test/generators/test_scaffold_generator.rb", "test/rails/action_controller/test_controller_lookup.rb", "test/rails/action_controller/test_controllers.rb", "test/rails/action_controller/test_spec_type.rb", "test/rails/test_action_dispatch_spec_type.rb", "test/rails/test_action_mailer_spec_type.rb", "test/rails/test_action_view_spec_type.rb", "test/rails/test_active_support_spec_type.rb", "test/test_sanity.rb"]
13
+ s.files = [".autotest", ".gemtest", ".travis.yml", "CHANGELOG.rdoc", "LICENSE", "Manifest.txt", "README.rdoc", "Rakefile", "gemfiles/3.0.gemfile", "gemfiles/3.0.gemfile.lock", "gemfiles/3.1.gemfile", "gemfiles/3.1.gemfile.lock", "gemfiles/3.2.gemfile", "gemfiles/3.2.gemfile.lock", "gemfiles/4.0.gemfile", "gemfiles/4.0.gemfile.lock", "lib/autotest/discover.rb", "lib/autotest/fixtures.rb", "lib/autotest/migrate.rb", "lib/autotest/minitest_rails.rb", "lib/generators/mini_test.rb", "lib/generators/mini_test/controller/controller_generator.rb", "lib/generators/mini_test/controller/templates/controller_spec.rb", "lib/generators/mini_test/controller/templates/controller_test.rb", "lib/generators/mini_test/helper/helper_generator.rb", "lib/generators/mini_test/helper/templates/helper_spec.rb", "lib/generators/mini_test/helper/templates/helper_test.rb", "lib/generators/mini_test/install/install_generator.rb", "lib/generators/mini_test/install/templates/test/minitest_helper.rb", "lib/generators/mini_test/integration/integration_generator.rb", "lib/generators/mini_test/integration/templates/integration_spec.rb", "lib/generators/mini_test/integration/templates/integration_test.rb", "lib/generators/mini_test/mailer/mailer_generator.rb", "lib/generators/mini_test/mailer/templates/mailer_spec.rb", "lib/generators/mini_test/mailer/templates/mailer_test.rb", "lib/generators/mini_test/model/model_generator.rb", "lib/generators/mini_test/model/templates/fixtures.yml", "lib/generators/mini_test/model/templates/model_spec.rb", "lib/generators/mini_test/model/templates/model_test.rb", "lib/generators/mini_test/scaffold/scaffold_generator.rb", "lib/generators/mini_test/scaffold/templates/controller_spec.rb", "lib/generators/mini_test/scaffold/templates/controller_test.rb", "lib/minitest-rails.rb", "lib/minitest/rails.rb", "lib/minitest/rails/constant_lookup.rb", "lib/minitest/rails/tasks/minitest.rake", "lib/minitest/rails/tasks/sub_test_task.rb", "lib/minitest/rails/test_case.rb", "lib/minitest/rails/testing.rb", "lib/minitest/rails/version.rb", "minitest-rails.gemspec", "tasks/gemfiles.rake", "tasks/test.rake", "test/generators/test_controller_generator.rb", "test/generators/test_helper_generator.rb", "test/generators/test_install_generator.rb", "test/generators/test_mailer_generator.rb", "test/generators/test_model_generator.rb", "test/generators/test_scaffold_generator.rb", "test/helper.rb", "test/rails/action_controller/test_controllers.rb", "test/rails/action_controller/test_spec_type.rb", "test/rails/action_dispatch/test_spec_type.rb", "test/rails/action_mailer/test_mailers.rb", "test/rails/action_mailer/test_spec_type.rb", "test/rails/action_view/test_helpers.rb", "test/rails/action_view/test_spec_type.rb", "test/rails/active_support/test_spec_type.rb", "test/rails/test_constant_lookup.rb", "test/test_sanity.rb"]
14
14
  s.homepage = "http://blowmage.com/minitest-rails"
15
15
  s.rdoc_options = ["--main", "README.rdoc"]
16
16
  s.require_paths = ["lib"]
17
17
  s.rubyforge_project = "minitest-rails"
18
- s.rubygems_version = "1.8.24"
19
- s.summary = "MiniTest integration for Rails 3.x"
20
- s.test_files = ["test/generators/test_controller_generator.rb", "test/generators/test_helper_generator.rb", "test/generators/test_install_generator.rb", "test/generators/test_mailer_generator.rb", "test/generators/test_model_generator.rb", "test/generators/test_scaffold_generator.rb", "test/rails/action_controller/test_controller_lookup.rb", "test/rails/action_controller/test_controllers.rb", "test/rails/action_controller/test_spec_type.rb", "test/rails/test_action_dispatch_spec_type.rb", "test/rails/test_action_mailer_spec_type.rb", "test/rails/test_action_view_spec_type.rb", "test/rails/test_active_support_spec_type.rb", "test/test_sanity.rb"]
18
+ s.rubygems_version = "1.8.23"
19
+ s.summary = "MiniTest integration for Rails 3 and 4"
20
+ s.test_files = ["test/generators/test_controller_generator.rb", "test/generators/test_helper_generator.rb", "test/generators/test_install_generator.rb", "test/generators/test_mailer_generator.rb", "test/generators/test_model_generator.rb", "test/generators/test_scaffold_generator.rb", "test/rails/action_controller/test_controllers.rb", "test/rails/action_controller/test_spec_type.rb", "test/rails/action_dispatch/test_spec_type.rb", "test/rails/action_mailer/test_mailers.rb", "test/rails/action_mailer/test_spec_type.rb", "test/rails/action_view/test_helpers.rb", "test/rails/action_view/test_spec_type.rb", "test/rails/active_support/test_spec_type.rb", "test/rails/test_constant_lookup.rb", "test/test_sanity.rb"]
21
21
 
22
22
  if s.respond_to? :specification_version then
23
23
  s.specification_version = 3
24
24
 
25
25
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
26
- s.add_runtime_dependency(%q<minitest>, ["~> 3.4"])
27
- s.add_runtime_dependency(%q<rails>, ["~> 3.0"])
26
+ s.add_runtime_dependency(%q<minitest>, ["~> 4.0"])
27
+ s.add_runtime_dependency(%q<rails>, [">= 3.0"])
28
28
  s.add_development_dependency(%q<rdoc>, ["~> 3.10"])
29
29
  s.add_development_dependency(%q<fakefs>, ["~> 0.4"])
30
- s.add_development_dependency(%q<hoe>, ["~> 3.0"])
30
+ s.add_development_dependency(%q<hoe>, ["~> 3.4"])
31
31
  else
32
- s.add_dependency(%q<minitest>, ["~> 3.4"])
33
- s.add_dependency(%q<rails>, ["~> 3.0"])
32
+ s.add_dependency(%q<minitest>, ["~> 4.0"])
33
+ s.add_dependency(%q<rails>, [">= 3.0"])
34
34
  s.add_dependency(%q<rdoc>, ["~> 3.10"])
35
35
  s.add_dependency(%q<fakefs>, ["~> 0.4"])
36
- s.add_dependency(%q<hoe>, ["~> 3.0"])
36
+ s.add_dependency(%q<hoe>, ["~> 3.4"])
37
37
  end
38
38
  else
39
- s.add_dependency(%q<minitest>, ["~> 3.4"])
40
- s.add_dependency(%q<rails>, ["~> 3.0"])
39
+ s.add_dependency(%q<minitest>, ["~> 4.0"])
40
+ s.add_dependency(%q<rails>, [">= 3.0"])
41
41
  s.add_dependency(%q<rdoc>, ["~> 3.10"])
42
42
  s.add_dependency(%q<fakefs>, ["~> 0.4"])
43
- s.add_dependency(%q<hoe>, ["~> 3.0"])
43
+ s.add_dependency(%q<hoe>, ["~> 3.4"])
44
44
  end
45
45
  end
@@ -0,0 +1,24 @@
1
+ namespace :gemfiles do
2
+ desc "Updates the gemfiles"
3
+ task :update do
4
+ `bundle --gemfile=gemfiles/3.0.gemfile`
5
+ `bundle --gemfile=gemfiles/3.1.gemfile`
6
+ `bundle --gemfile=gemfiles/3.2.gemfile`
7
+ `bundle --gemfile=gemfiles/4.0.gemfile`
8
+ end
9
+ desc "Clear the gemfile lock files"
10
+ task :clear do
11
+ `rm gemfiles/*.gemfile.lock`
12
+ end
13
+ end
14
+
15
+ # Building this in case it doesn't exist
16
+ # /me shakes fist at travis-ci
17
+ namespace :gem do
18
+ task :spec do
19
+ end
20
+ end
21
+
22
+ Rake::Task["gem:spec"].enhance do
23
+ Rake::Task["gemfiles:update"].invoke
24
+ end
data/tasks/test.rake ADDED
@@ -0,0 +1,26 @@
1
+ namespace :test do
2
+ desc "Run tests against the 3.0 gemfile"
3
+ task "3.0" do
4
+ ENV["BUNDLE_GEMFILE"] = "gemfiles/3.0.gemfile"
5
+ sh "bundle exec rake test"
6
+ end
7
+
8
+ desc "Run tests against the 3.1 gemfile"
9
+ task "3.1" do
10
+ ENV["BUNDLE_GEMFILE"] = "gemfiles/3.1.gemfile"
11
+ sh "bundle exec rake test"
12
+ end
13
+
14
+ desc "Run tests against the 3.2 gemfile"
15
+ task "3.2" do
16
+ ENV["BUNDLE_GEMFILE"] = "gemfiles/3.2.gemfile"
17
+ sh "bundle exec rake test"
18
+ end
19
+
20
+ desc "Run tests against the 4.0 gemfile"
21
+ task "4.0" do
22
+ ENV["BUNDLE_GEMFILE"] = "gemfiles/4.0.gemfile"
23
+ sh "bundle exec rake test"
24
+ end
25
+ end
26
+
@@ -1,71 +1,42 @@
1
- require "minitest/autorun"
2
- require "minitest-rails"
3
-
4
- require "rails"
5
- require "rails/generators"
6
-
1
+ require "helper"
7
2
  require "generators/mini_test/controller/controller_generator"
8
3
 
9
- require "fakefs/safe"
10
-
11
- class FakeFS::File
12
- def self.binread file
13
- File.open(file, "rb") { |f| f.read }
14
- end
15
- end
16
-
17
- class TestControllerGenerator < MiniTest::Unit::TestCase
18
- def setup
19
- Rails::Generators.no_color!
20
- FakeFS.activate!
21
- FakeFS::FileSystem.clone "lib/generators"
22
- end
23
-
24
- def teardown
25
- FakeFS::FileSystem.clear
26
- FakeFS.deactivate!
27
- end
4
+ class TestControllerGenerator < GeneratorTest
28
5
 
29
6
  def test_controller_generator
30
- out, err = capture_io do
7
+ assert_output(/create test\/controllers\/user_controller_test.rb/m) do
31
8
  MiniTest::Generators::ControllerGenerator.start ["user"]
32
9
  end
33
- assert_match(/create test\/controllers\/user_controller_test.rb/m, out)
34
10
  assert File.exists? "test/controllers/user_controller_test.rb"
35
11
  contents = File.read "test/controllers/user_controller_test.rb"
36
12
  assert_match(/class UserControllerTest/m, contents)
37
13
  end
38
14
 
39
15
  def test_namespaced_controller_generator
40
- out, err = capture_io do
16
+ assert_output(/create test\/controllers\/admin\/user_controller_test.rb/m) do
41
17
  MiniTest::Generators::ControllerGenerator.start ["admin/user"]
42
18
  end
43
- assert_match(/create test\/controllers\/admin\/user_controller_test.rb/m, out)
44
19
  assert File.exists? "test/controllers/admin/user_controller_test.rb"
45
20
  contents = File.read "test/controllers/admin/user_controller_test.rb"
46
21
  assert_match(/class Admin::UserControllerTest/m, contents)
47
22
  end
48
23
 
49
24
  def test_controller_generator_spec
50
- out, err = capture_io do
25
+ assert_output(/create test\/controllers\/user_controller_test.rb/m) do
51
26
  MiniTest::Generators::ControllerGenerator.start ["user", "--spec"]
52
27
  end
53
- assert_match(/create test\/controllers\/user_controller_test.rb/m, out)
54
28
  assert File.exists? "test/controllers/user_controller_test.rb"
55
29
  contents = File.read "test/controllers/user_controller_test.rb"
56
30
  assert_match(/describe UserController do/m, contents)
57
31
  end
58
32
 
59
33
  def test_namespaced_controller_generator_spec
60
- FakeFS do
61
- out, err = capture_io do
62
- MiniTest::Generators::ControllerGenerator.start ["admin/user", "--spec"]
63
- end
64
- assert_match(/create test\/controllers\/admin\/user_controller_test.rb/m, out)
65
- assert File.exists? "test/controllers/admin/user_controller_test.rb"
66
- contents = File.read "test/controllers/admin/user_controller_test.rb"
67
- assert_match(/describe Admin::UserController do/m, contents)
34
+ assert_output(/create test\/controllers\/admin\/user_controller_test.rb/m) do
35
+ MiniTest::Generators::ControllerGenerator.start ["admin/user", "--spec"]
68
36
  end
37
+ assert File.exists? "test/controllers/admin/user_controller_test.rb"
38
+ contents = File.read "test/controllers/admin/user_controller_test.rb"
39
+ assert_match(/describe Admin::UserController do/m, contents)
69
40
  end
70
41
 
71
42
  end
@@ -1,66 +1,39 @@
1
- require "minitest/autorun"
2
- require "minitest-rails"
3
-
4
- require "rails"
5
- require "rails/generators"
6
-
1
+ require "helper"
7
2
  require "generators/mini_test/helper/helper_generator"
8
3
 
9
- require "fakefs/safe"
10
-
11
- class FakeFS::File
12
- def self.binread file
13
- File.open(file, "rb") { |f| f.read }
14
- end
15
- end
16
-
17
- class TestHelperGenerator < MiniTest::Unit::TestCase
18
- def setup
19
- Rails::Generators.no_color!
20
- FakeFS.activate!
21
- FakeFS::FileSystem.clone "lib/generators"
22
- end
23
-
24
- def teardown
25
- FakeFS::FileSystem.clear
26
- FakeFS.deactivate!
27
- end
4
+ class TestHelperGenerator < GeneratorTest
28
5
 
29
6
  def test_helper_generator
30
- out, err = capture_io do
7
+ assert_output(/create test\/helpers\/user_helper_test.rb/m) do
31
8
  MiniTest::Generators::HelperGenerator.start ["user"]
32
9
  end
33
- assert_match(/create test\/helpers\/user_helper_test.rb/m, out)
34
10
  assert File.exists? "test/helpers/user_helper_test.rb"
35
11
  contents = File.read "test/helpers/user_helper_test.rb"
36
- assert_match(/class UserHelperTest < MiniTest::Rails::ActionView::TestCase/m, contents)
12
+ assert_match(/class UserHelperTest < ActionView::TestCase/m, contents)
37
13
  end
38
14
 
39
15
  def test_namespaced_helper_generator
40
- out, err = capture_io do
16
+ assert_output(/create test\/helpers\/admin\/user_helper_test.rb/m) do
41
17
  MiniTest::Generators::HelperGenerator.start ["admin/user"]
42
18
  end
43
- assert_match(/create test\/helpers\/admin\/user_helper_test.rb/m, out)
44
19
  assert File.exists? "test/helpers/admin/user_helper_test.rb"
45
20
  contents = File.read "test/helpers/admin/user_helper_test.rb"
46
- assert_match(/class Admin::UserHelperTest < MiniTest::Rails::ActionView::TestCase/m, contents)
21
+ assert_match(/class Admin::UserHelperTest < ActionView::TestCase/m, contents)
47
22
  end
48
23
 
49
24
  def test_helper_generator_spec
50
- out, err = capture_io do
25
+ assert_output(/create test\/helpers\/user_helper_test.rb/m) do
51
26
  MiniTest::Generators::HelperGenerator.start ["user", "--spec"]
52
27
  end
53
- assert_match(/create test\/helpers\/user_helper_test.rb/m, out)
54
28
  assert File.exists? "test/helpers/user_helper_test.rb"
55
29
  contents = File.read "test/helpers/user_helper_test.rb"
56
30
  assert_match(/describe UserHelper do/m, contents)
57
31
  end
58
32
 
59
33
  def test_namespaced_helper_generator_spec
60
- out, err = capture_io do
34
+ assert_output(/create test\/helpers\/admin\/user_helper_test.rb/m) do
61
35
  MiniTest::Generators::HelperGenerator.start ["admin/user", "--spec"]
62
36
  end
63
- assert_match(/create test\/helpers\/admin\/user_helper_test.rb/m, out)
64
37
  assert File.exists? "test/helpers/admin/user_helper_test.rb"
65
38
  contents = File.read "test/helpers/admin/user_helper_test.rb"
66
39
  assert_match(/describe Admin::UserHelper do/m, contents)
@@ -1,39 +1,16 @@
1
- require "minitest/autorun"
2
- require "minitest-rails"
3
-
4
- require "rails"
5
- require "rails/generators"
6
-
1
+ require "helper"
7
2
  require "generators/mini_test/install/install_generator"
8
3
 
9
- require "fakefs/safe"
10
-
11
- class FakeFS::File
12
- def self.binread file
13
- File.open(file, "rb") { |f| f.read }
14
- end
15
- end
16
-
17
- class TestInstallGenerator < MiniTest::Unit::TestCase
18
- def setup
19
- Rails::Generators.no_color!
20
- FakeFS.activate!
21
- FakeFS::FileSystem.clone "lib/generators"
22
- end
23
-
24
- def teardown
25
- FakeFS::FileSystem.clear
26
- FakeFS.deactivate!
27
- end
4
+ class TestInstallGenerator < GeneratorTest
28
5
 
29
6
  def test_install_generator
30
- out, err = capture_io do
7
+ assert_output(/create test\/minitest_helper.rb/m) do
31
8
  MiniTest::Generators::InstallGenerator.start
32
9
  end
33
- assert_match(/create test\/minitest_helper.rb/m, out)
34
10
  assert File.exists? "test/minitest_helper.rb"
35
11
  contents = File.read "test/minitest_helper.rb"
36
12
  assert_match(/require "minitest\/autorun"/m, contents)
37
13
  assert_match(/require "minitest\/rails"/m, contents)
38
14
  end
15
+
39
16
  end
@@ -1,48 +1,24 @@
1
- require "minitest/autorun"
2
- require "minitest-rails"
3
-
4
- require "rails"
5
- require "rails/generators"
6
-
1
+ require "helper"
7
2
  require "generators/mini_test/mailer/mailer_generator"
8
3
 
9
- require "fakefs/safe"
10
-
11
- class FakeFS::File
12
- def self.binread file
13
- File.open(file, "rb") { |f| f.read }
14
- end
15
- end
16
-
17
- class TestMailerGenerator < MiniTest::Unit::TestCase
18
- def setup
19
- Rails::Generators.no_color!
20
- FakeFS.activate!
21
- FakeFS::FileSystem.clone "lib/generators"
22
- end
23
-
24
- def teardown
25
- FakeFS::FileSystem.clear
26
- FakeFS.deactivate!
27
- end
4
+ class TestMailerGenerator < GeneratorTest
28
5
 
29
6
  def test_mailer_generator
30
- out, err = capture_io do
7
+ assert_output(/create test\/mailers\/notification_test.rb/m) do
31
8
  MiniTest::Generators::MailerGenerator.start ["notification"]
32
9
  end
33
- assert_match(/create test\/mailers\/notification_test.rb/m, out)
34
10
  assert File.exists? "test/mailers/notification_test.rb"
35
11
  contents = File.read "test/mailers/notification_test.rb"
36
12
  assert_match(/class NotificationTest/m, contents)
37
13
  end
38
14
 
39
15
  def test_mailer_generator_spec
40
- out, err = capture_io do
16
+ assert_output(/create test\/mailers\/notification_test.rb/m) do
41
17
  MiniTest::Generators::MailerGenerator.start ["notification", "welcome", "--spec"]
42
18
  end
43
- assert_match(/create test\/mailers\/notification_test.rb/m, out)
44
19
  assert File.exists? "test/mailers/notification_test.rb"
45
20
  contents = File.read "test/mailers/notification_test.rb"
46
21
  assert_match(/describe Notification do/m, contents)
47
22
  end
23
+
48
24
  end