minitest-rails 0.1 → 0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.travis.yml +19 -0
- data/CHANGELOG.rdoc +33 -1
- data/Manifest.txt +29 -7
- data/README.rdoc +27 -4
- data/Rakefile +6 -4
- data/gemfiles/3.0.gemfile +9 -0
- data/gemfiles/3.0.gemfile.lock +92 -0
- data/gemfiles/3.1.gemfile +9 -0
- data/gemfiles/3.1.gemfile.lock +103 -0
- data/gemfiles/3.2.gemfile +9 -0
- data/gemfiles/3.2.gemfile.lock +101 -0
- data/gemfiles/minitest_tu_shim.rb +4 -0
- data/lib/autotest/discover.rb +5 -0
- data/lib/autotest/fixtures.rb +7 -0
- data/lib/autotest/migrate.rb +5 -0
- data/lib/autotest/minitest_rails.rb +62 -0
- data/lib/generators/mini_test.rb +15 -0
- data/lib/minitest/rails/action_controller.rb +43 -1
- data/lib/minitest/rails/action_dispatch.rb +6 -6
- data/lib/minitest/rails/action_mailer.rb +3 -1
- data/lib/minitest/rails/action_view.rb +7 -5
- data/lib/minitest/rails/active_support.rb +8 -8
- data/lib/minitest/rails/declarative.rb +27 -0
- data/lib/minitest/rails/mochaing.rb +11 -0
- data/lib/minitest/rails/tasks/minitest.rake +48 -13
- data/lib/minitest/rails/tasks/sub_test_task.rb +14 -0
- data/lib/minitest/rails.rb +2 -2
- data/lib/minitest-rails.rb +1 -1
- data/minitest-rails.gemspec +12 -9
- data/test/{test_controller_generator.rb → generators/test_controller_generator.rb} +34 -27
- data/test/{test_helper_generator.rb → generators/test_helper_generator.rb} +32 -27
- data/test/{test_install_generator.rb → generators/test_install_generator.rb} +20 -9
- data/test/{test_mailer_generator.rb → generators/test_mailer_generator.rb} +23 -14
- data/test/{test_model_generator.rb → generators/test_model_generator.rb} +28 -24
- data/test/generators/test_scaffold_generator.rb +48 -0
- data/test/rails/action_controller/test_controller_lookup.rb +49 -0
- data/test/rails/action_controller/test_controllers.rb +223 -0
- data/test/rails/action_controller/test_spec_type.rb +41 -0
- data/test/rails/test_action_dispatch_spec_type.rb +48 -0
- data/test/rails/test_action_mailer_spec_type.rb +42 -0
- data/test/rails/test_action_view_spec_type.rb +42 -0
- data/test/rails/test_active_support_spec_type.rb +27 -0
- metadata +65 -20
- data/test/test_scaffold_generator.rb +0 -39
- /data/test/{test_minitest.rb → test_sanity.rb} +0 -0
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
require 'minitest/rails/active_support'
|
|
2
2
|
require 'action_dispatch/testing/integration'
|
|
3
|
+
require 'action_controller/test_case'
|
|
4
|
+
require 'action_dispatch/routing/url_for'
|
|
3
5
|
|
|
4
6
|
module MiniTest
|
|
5
7
|
module Rails
|
|
@@ -24,13 +26,11 @@ module MiniTest
|
|
|
24
26
|
def app
|
|
25
27
|
super || ::ActionDispatch::IntegrationTest.app
|
|
26
28
|
end
|
|
29
|
+
|
|
30
|
+
# Register by name
|
|
31
|
+
register_spec_type(/Acceptance ?Test\z/i, self)
|
|
32
|
+
register_spec_type(/Integration ?Test\z/i, self)
|
|
27
33
|
end
|
|
28
34
|
end
|
|
29
35
|
end
|
|
30
36
|
end
|
|
31
|
-
|
|
32
|
-
# Register by name
|
|
33
|
-
MiniTest::Spec.register_spec_type(/AcceptanceTest$/, MiniTest::Rails::ActionDispatch::IntegrationTest)
|
|
34
|
-
MiniTest::Spec.register_spec_type(/Acceptance Test$/, MiniTest::Rails::ActionDispatch::IntegrationTest)
|
|
35
|
-
MiniTest::Spec.register_spec_type(/IntegrationTest$/, MiniTest::Rails::ActionDispatch::IntegrationTest)
|
|
36
|
-
MiniTest::Spec.register_spec_type(/Integration Test$/, MiniTest::Rails::ActionDispatch::IntegrationTest)
|
|
@@ -7,9 +7,11 @@ module MiniTest
|
|
|
7
7
|
class TestCase < MiniTest::Rails::ActiveSupport::TestCase
|
|
8
8
|
# Use AM::TestCase for the base class when describing a mailer
|
|
9
9
|
register_spec_type(self) do |desc|
|
|
10
|
-
desc < ::ActionMailer::Base
|
|
10
|
+
desc < ::ActionMailer::Base if desc.is_a?(Class)
|
|
11
11
|
end
|
|
12
12
|
|
|
13
|
+
register_spec_type(/Mailer( ?Test)?\z/i, self)
|
|
14
|
+
|
|
13
15
|
include ::ActionMailer::TestCase::Behavior
|
|
14
16
|
end
|
|
15
17
|
end
|
|
@@ -6,13 +6,15 @@ module MiniTest
|
|
|
6
6
|
module ActionView
|
|
7
7
|
class TestCase < MiniTest::Rails::ActiveSupport::TestCase
|
|
8
8
|
TestController = ::ActionView::TestCase::TestController
|
|
9
|
+
|
|
10
|
+
# Register by name, because Helpers are just modules
|
|
11
|
+
register_spec_type(/Helper( ?Test)?\z/i, self)
|
|
12
|
+
|
|
13
|
+
# View specs
|
|
14
|
+
register_spec_type(/View( ?Test)?\z/i, self)
|
|
15
|
+
|
|
9
16
|
include ::ActionView::TestCase::Behavior
|
|
10
17
|
end
|
|
11
18
|
end
|
|
12
19
|
end
|
|
13
20
|
end
|
|
14
|
-
|
|
15
|
-
# Register by name, because Helpers are just modules
|
|
16
|
-
MiniTest::Spec.register_spec_type(/Helper$/, MiniTest::Rails::ActionView::TestCase)
|
|
17
|
-
MiniTest::Spec.register_spec_type(/HelperTest$/, MiniTest::Rails::ActionView::TestCase)
|
|
18
|
-
MiniTest::Spec.register_spec_type(/Helper Test$/, MiniTest::Rails::ActionView::TestCase)
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
require 'minitest/spec'
|
|
2
|
+
|
|
3
|
+
# I hate this! Be sure you have installed minitest_tu_shim
|
|
4
|
+
require "test/unit" if RUBY_VERSION < "1.9"
|
|
5
|
+
|
|
2
6
|
require 'active_support/testing/setup_and_teardown'
|
|
3
7
|
require 'active_support/testing/assertions'
|
|
4
8
|
require 'active_support/testing/deprecation'
|
|
5
|
-
require '
|
|
9
|
+
require 'minitest/rails/declarative'
|
|
6
10
|
require 'active_support/testing/pending'
|
|
7
11
|
require 'active_support/testing/isolation'
|
|
8
|
-
require '
|
|
12
|
+
require 'minitest/rails/mochaing'
|
|
9
13
|
require 'active_support/core_ext/kernel/reporting'
|
|
10
14
|
|
|
11
15
|
module MiniTest
|
|
@@ -23,7 +27,7 @@ module MiniTest
|
|
|
23
27
|
if defined?(ActiveRecord::Base)
|
|
24
28
|
# Use AS::TestCase for the base class when describing a model
|
|
25
29
|
register_spec_type(self) do |desc|
|
|
26
|
-
desc < ActiveRecord::Base
|
|
30
|
+
desc < ActiveRecord::Base if desc.is_a?(Class)
|
|
27
31
|
end
|
|
28
32
|
end
|
|
29
33
|
|
|
@@ -42,15 +46,11 @@ module MiniTest
|
|
|
42
46
|
yield if $tags[tag]
|
|
43
47
|
end
|
|
44
48
|
|
|
45
|
-
def describe(*args, &block)
|
|
46
|
-
Kernel.describe(args, block)
|
|
47
|
-
end
|
|
48
|
-
|
|
49
49
|
include ::ActiveSupport::Testing::SetupAndTeardown
|
|
50
50
|
include ::ActiveSupport::Testing::Assertions
|
|
51
51
|
include ::ActiveSupport::Testing::Deprecation
|
|
52
52
|
include ::ActiveSupport::Testing::Pending
|
|
53
|
-
extend
|
|
53
|
+
extend Testing::Declarative
|
|
54
54
|
|
|
55
55
|
# test/unit backwards compatibility methods
|
|
56
56
|
alias :assert_raise :assert_raises
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
module MiniTest
|
|
2
|
+
module Rails
|
|
3
|
+
module ActiveSupport
|
|
4
|
+
module Testing
|
|
5
|
+
module Declarative
|
|
6
|
+
|
|
7
|
+
# test "verify something" do
|
|
8
|
+
# ...
|
|
9
|
+
# end
|
|
10
|
+
def test(name, &block)
|
|
11
|
+
test_name = "test_#{name.gsub(/\s+/,'_')}".to_sym
|
|
12
|
+
defined = instance_method(test_name) rescue false
|
|
13
|
+
raise "#{test_name} is already defined in #{self}" if defined
|
|
14
|
+
if block_given?
|
|
15
|
+
define_method(test_name, &block)
|
|
16
|
+
else
|
|
17
|
+
define_method(test_name) do
|
|
18
|
+
flunk "No implementation provided for #{name}"
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
begin
|
|
2
|
+
require 'active_support/testing/mochaing'
|
|
3
|
+
rescue LoadError
|
|
4
|
+
begin
|
|
5
|
+
silence_warnings { require 'mocha' }
|
|
6
|
+
rescue LoadError
|
|
7
|
+
# Fake Mocha::ExpectationError so we can rescue it in #run. Bleh.
|
|
8
|
+
Object.const_set :Mocha, Module.new
|
|
9
|
+
Mocha.const_set :ExpectationError, Class.new(StandardError)
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -1,32 +1,61 @@
|
|
|
1
1
|
require 'rake/testtask'
|
|
2
|
-
require 'rails/
|
|
2
|
+
require 'minitest/rails/tasks/sub_test_task'
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
MINITEST_TASKS =
|
|
4
|
+
# The default tests to run, update this list to change behavior
|
|
5
|
+
MINITEST_TASKS = %w(models helpers controllers mailers acceptance) #views
|
|
6
|
+
|
|
7
|
+
def all_directories_under_test
|
|
8
|
+
Dir['test/*/'].map {|dir| /test\/(.+?)\//.match(dir)[1] }
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def all_minitest_directories
|
|
12
|
+
(MINITEST_TASKS + all_directories_under_test).uniq
|
|
13
|
+
end
|
|
6
14
|
|
|
7
15
|
desc "Runs minitest"
|
|
8
16
|
task :test do
|
|
17
|
+
# Add to existing task if exists, or create new task otherwise
|
|
9
18
|
Rake::Task['minitest'].invoke
|
|
10
19
|
end
|
|
11
20
|
|
|
21
|
+
namespace 'test' do
|
|
22
|
+
task :prepare do
|
|
23
|
+
# Define here in case test_unit isn't loaded
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
12
27
|
desc "Runs #{MINITEST_TASKS.join(", ")} together"
|
|
13
28
|
task :minitest do
|
|
14
|
-
Rake::Task['minitest:
|
|
29
|
+
Rake::Task['minitest:default'].invoke
|
|
15
30
|
end
|
|
16
31
|
|
|
17
32
|
namespace 'minitest' do
|
|
18
33
|
|
|
19
|
-
|
|
20
|
-
|
|
34
|
+
# Only run the default tasks defined in MINITEST_TASKS
|
|
35
|
+
task :default do
|
|
36
|
+
errors = MINITEST_TASKS.collect do |task|
|
|
37
|
+
begin
|
|
38
|
+
Rake::Task["minitest:#{task}"].invoke
|
|
39
|
+
nil
|
|
40
|
+
rescue => e
|
|
41
|
+
{ :task => "minitest:#{task}", :exception => e }
|
|
42
|
+
end
|
|
43
|
+
end.compact
|
|
44
|
+
|
|
45
|
+
if errors.any?
|
|
46
|
+
puts errors.map { |e| "Errors running #{e[:task]}! #{e[:exception].inspect}" }.join("\n")
|
|
47
|
+
abort
|
|
48
|
+
end
|
|
21
49
|
end
|
|
22
50
|
|
|
23
|
-
|
|
24
|
-
|
|
51
|
+
# Run all tests in all the test directories
|
|
52
|
+
task :all do
|
|
53
|
+
errors = all_minitest_directories.collect do |task|
|
|
25
54
|
begin
|
|
26
|
-
Rake::Task[task].invoke
|
|
55
|
+
Rake::Task["minitest:#{task}"].invoke
|
|
27
56
|
nil
|
|
28
57
|
rescue => e
|
|
29
|
-
{ :task => task, :exception => e }
|
|
58
|
+
{ :task => "minitest:#{task}", :exception => e }
|
|
30
59
|
end
|
|
31
60
|
end.compact
|
|
32
61
|
|
|
@@ -36,11 +65,17 @@ namespace 'minitest' do
|
|
|
36
65
|
end
|
|
37
66
|
end
|
|
38
67
|
|
|
39
|
-
|
|
40
|
-
Rails::SubTestTask.new(
|
|
68
|
+
all_minitest_directories.each do |task|
|
|
69
|
+
MiniTest::Rails::Tasks::SubTestTask.new(task => 'test:prepare') do |t|
|
|
41
70
|
t.libs.push 'test'
|
|
42
|
-
t.pattern = "test/#{
|
|
71
|
+
t.pattern = "test/#{task}/**/*_test.rb"
|
|
43
72
|
end
|
|
44
73
|
end
|
|
45
74
|
|
|
46
75
|
end
|
|
76
|
+
|
|
77
|
+
# Override the default task
|
|
78
|
+
task :default => [] # Just in case it hasn't already been set
|
|
79
|
+
Rake::Task[:default].clear
|
|
80
|
+
desc "Runs minitest"
|
|
81
|
+
task :default => "minitest"
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
require 'rake/testtask'
|
|
2
|
+
|
|
3
|
+
module MiniTest
|
|
4
|
+
module Rails
|
|
5
|
+
module Tasks
|
|
6
|
+
# Silence the default description to cut down on `rake -T` noise.
|
|
7
|
+
class SubTestTask < Rake::TestTask
|
|
8
|
+
def desc(string)
|
|
9
|
+
# Ignore the description.
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
data/lib/minitest/rails.rb
CHANGED
|
@@ -5,7 +5,7 @@ abort("Abort testing: Your Rails environment is running in production mode!") if
|
|
|
5
5
|
require "minitest/rails/active_support"
|
|
6
6
|
require "minitest/rails/action_controller"
|
|
7
7
|
require "minitest/rails/action_view"
|
|
8
|
-
require "minitest/rails/action_mailer"
|
|
8
|
+
require "minitest/rails/action_mailer" if defined? ActionMailer
|
|
9
9
|
require "minitest/rails/action_dispatch"
|
|
10
10
|
|
|
11
11
|
# Enable turn if it is available
|
|
@@ -21,7 +21,7 @@ module MiniTest
|
|
|
21
21
|
::ActiveSupport.const_set :TestCase, MiniTest::Rails::ActiveSupport::TestCase
|
|
22
22
|
::ActionController.const_set :TestCase, MiniTest::Rails::ActionController::TestCase
|
|
23
23
|
::ActionView.const_set :TestCase, MiniTest::Rails::ActionView::TestCase
|
|
24
|
-
::ActionMailer.const_set :TestCase, MiniTest::Rails::ActionMailer::TestCase
|
|
24
|
+
::ActionMailer.const_set :TestCase, MiniTest::Rails::ActionMailer::TestCase if defined? ActionMailer
|
|
25
25
|
::ActionDispatch.const_set :IntegrationTest, MiniTest::Rails::ActionDispatch::IntegrationTest
|
|
26
26
|
end
|
|
27
27
|
end
|
data/lib/minitest-rails.rb
CHANGED
data/minitest-rails.gemspec
CHANGED
|
@@ -2,41 +2,44 @@
|
|
|
2
2
|
|
|
3
3
|
Gem::Specification.new do |s|
|
|
4
4
|
s.name = "minitest-rails"
|
|
5
|
-
s.version = "0.
|
|
5
|
+
s.version = "0.2.20120919094008"
|
|
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-
|
|
10
|
-
s.description = "Adds MiniTest as the default testing library in Rails 3."
|
|
9
|
+
s.date = "2012-09-19"
|
|
10
|
+
s.description = "Adds MiniTest as the default testing library in Rails 3.x"
|
|
11
11
|
s.email = ["mike@blowmage.com"]
|
|
12
12
|
s.extra_rdoc_files = ["CHANGELOG.rdoc", "Manifest.txt", "README.rdoc"]
|
|
13
|
-
s.files = [".autotest", ".gemtest", "CHANGELOG.rdoc", "LICENSE", "Manifest.txt", "README.rdoc", "Rakefile", "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/tasks/minitest.rake", "minitest-rails.gemspec", "test/test_controller_generator.rb", "test/test_helper_generator.rb", "test/test_install_generator.rb", "test/test_mailer_generator.rb", "test/
|
|
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"]
|
|
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
18
|
s.rubygems_version = "1.8.24"
|
|
19
|
-
s.summary = "MiniTest integration for Rails 3."
|
|
20
|
-
s.test_files = ["test/test_controller_generator.rb", "test/test_helper_generator.rb", "test/test_install_generator.rb", "test/test_mailer_generator.rb", "test/
|
|
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"]
|
|
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.
|
|
26
|
+
s.add_runtime_dependency(%q<minitest>, ["~> 3.4"])
|
|
27
27
|
s.add_runtime_dependency(%q<rails>, ["~> 3.0"])
|
|
28
28
|
s.add_development_dependency(%q<rdoc>, ["~> 3.10"])
|
|
29
|
+
s.add_development_dependency(%q<fakefs>, ["~> 0.4"])
|
|
29
30
|
s.add_development_dependency(%q<hoe>, ["~> 3.0"])
|
|
30
31
|
else
|
|
31
|
-
s.add_dependency(%q<minitest>, ["~> 3.
|
|
32
|
+
s.add_dependency(%q<minitest>, ["~> 3.4"])
|
|
32
33
|
s.add_dependency(%q<rails>, ["~> 3.0"])
|
|
33
34
|
s.add_dependency(%q<rdoc>, ["~> 3.10"])
|
|
35
|
+
s.add_dependency(%q<fakefs>, ["~> 0.4"])
|
|
34
36
|
s.add_dependency(%q<hoe>, ["~> 3.0"])
|
|
35
37
|
end
|
|
36
38
|
else
|
|
37
|
-
s.add_dependency(%q<minitest>, ["~> 3.
|
|
39
|
+
s.add_dependency(%q<minitest>, ["~> 3.4"])
|
|
38
40
|
s.add_dependency(%q<rails>, ["~> 3.0"])
|
|
39
41
|
s.add_dependency(%q<rdoc>, ["~> 3.10"])
|
|
42
|
+
s.add_dependency(%q<fakefs>, ["~> 0.4"])
|
|
40
43
|
s.add_dependency(%q<hoe>, ["~> 3.0"])
|
|
41
44
|
end
|
|
42
45
|
end
|
|
@@ -6,59 +6,66 @@ require "rails/generators"
|
|
|
6
6
|
|
|
7
7
|
require "generators/mini_test/controller/controller_generator"
|
|
8
8
|
|
|
9
|
-
require "
|
|
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
|
|
10
16
|
|
|
11
17
|
class TestControllerGenerator < MiniTest::Unit::TestCase
|
|
12
|
-
|
|
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
|
|
13
28
|
|
|
14
29
|
def test_controller_generator
|
|
15
|
-
|
|
30
|
+
out, err = capture_io do
|
|
16
31
|
MiniTest::Generators::ControllerGenerator.start ["user"]
|
|
17
32
|
end
|
|
18
|
-
assert_match(/create test\/controllers\/user_controller_test.rb/m,
|
|
33
|
+
assert_match(/create test\/controllers\/user_controller_test.rb/m, out)
|
|
19
34
|
assert File.exists? "test/controllers/user_controller_test.rb"
|
|
20
|
-
contents =
|
|
35
|
+
contents = File.read "test/controllers/user_controller_test.rb"
|
|
21
36
|
assert_match(/class UserControllerTest/m, contents)
|
|
22
|
-
ensure
|
|
23
|
-
# TODO: Don"t write the files
|
|
24
|
-
# I agree, it would be better to mock the file getting written
|
|
25
|
-
FileUtils.rm_r "test/controllers"
|
|
26
37
|
end
|
|
27
38
|
|
|
28
39
|
def test_namespaced_controller_generator
|
|
29
|
-
|
|
40
|
+
out, err = capture_io do
|
|
30
41
|
MiniTest::Generators::ControllerGenerator.start ["admin/user"]
|
|
31
42
|
end
|
|
32
|
-
assert_match(/create test\/controllers\/admin\/user_controller_test.rb/m,
|
|
43
|
+
assert_match(/create test\/controllers\/admin\/user_controller_test.rb/m, out)
|
|
33
44
|
assert File.exists? "test/controllers/admin/user_controller_test.rb"
|
|
34
|
-
contents =
|
|
45
|
+
contents = File.read "test/controllers/admin/user_controller_test.rb"
|
|
35
46
|
assert_match(/class Admin::UserControllerTest/m, contents)
|
|
36
|
-
ensure
|
|
37
|
-
FileUtils.rm_r "test/controllers"
|
|
38
47
|
end
|
|
39
48
|
|
|
40
49
|
def test_controller_generator_spec
|
|
41
|
-
|
|
50
|
+
out, err = capture_io do
|
|
42
51
|
MiniTest::Generators::ControllerGenerator.start ["user", "--spec"]
|
|
43
52
|
end
|
|
44
|
-
assert_match(/create test\/controllers\/user_controller_test.rb/m,
|
|
53
|
+
assert_match(/create test\/controllers\/user_controller_test.rb/m, out)
|
|
45
54
|
assert File.exists? "test/controllers/user_controller_test.rb"
|
|
46
|
-
contents =
|
|
55
|
+
contents = File.read "test/controllers/user_controller_test.rb"
|
|
47
56
|
assert_match(/describe UserController do/m, contents)
|
|
48
|
-
ensure
|
|
49
|
-
FileUtils.rm_r "test/controllers"
|
|
50
57
|
end
|
|
51
58
|
|
|
52
59
|
def test_namespaced_controller_generator_spec
|
|
53
|
-
|
|
54
|
-
|
|
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)
|
|
55
68
|
end
|
|
56
|
-
assert_match(/create test\/controllers\/admin\/user_controller_test.rb/m, text)
|
|
57
|
-
assert File.exists? "test/controllers/admin/user_controller_test.rb"
|
|
58
|
-
contents = open("test/controllers/admin/user_controller_test.rb").read
|
|
59
|
-
assert_match(/describe Admin::UserController do/m, contents)
|
|
60
|
-
ensure
|
|
61
|
-
FileUtils.rm_r "test/controllers"
|
|
62
69
|
end
|
|
63
70
|
|
|
64
71
|
end
|
|
@@ -6,59 +6,64 @@ require "rails/generators"
|
|
|
6
6
|
|
|
7
7
|
require "generators/mini_test/helper/helper_generator"
|
|
8
8
|
|
|
9
|
-
require "
|
|
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
|
|
10
16
|
|
|
11
17
|
class TestHelperGenerator < MiniTest::Unit::TestCase
|
|
12
|
-
|
|
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
|
|
13
28
|
|
|
14
29
|
def test_helper_generator
|
|
15
|
-
|
|
30
|
+
out, err = capture_io do
|
|
16
31
|
MiniTest::Generators::HelperGenerator.start ["user"]
|
|
17
32
|
end
|
|
18
|
-
assert_match(/create test\/helpers\/user_helper_test.rb/m,
|
|
33
|
+
assert_match(/create test\/helpers\/user_helper_test.rb/m, out)
|
|
19
34
|
assert File.exists? "test/helpers/user_helper_test.rb"
|
|
20
|
-
contents =
|
|
21
|
-
assert_match(/class UserHelperTest < MiniTest::
|
|
22
|
-
ensure
|
|
23
|
-
# TODO: Don"t write the files
|
|
24
|
-
# I agree, it would be better to mock the file getting written
|
|
25
|
-
FileUtils.rm_r "test/helpers"
|
|
35
|
+
contents = File.read "test/helpers/user_helper_test.rb"
|
|
36
|
+
assert_match(/class UserHelperTest < MiniTest::Rails::ActionView::TestCase/m, contents)
|
|
26
37
|
end
|
|
27
38
|
|
|
28
39
|
def test_namespaced_helper_generator
|
|
29
|
-
|
|
40
|
+
out, err = capture_io do
|
|
30
41
|
MiniTest::Generators::HelperGenerator.start ["admin/user"]
|
|
31
42
|
end
|
|
32
|
-
assert_match(/create test\/helpers\/admin\/user_helper_test.rb/m,
|
|
43
|
+
assert_match(/create test\/helpers\/admin\/user_helper_test.rb/m, out)
|
|
33
44
|
assert File.exists? "test/helpers/admin/user_helper_test.rb"
|
|
34
|
-
contents =
|
|
35
|
-
assert_match(/class Admin::UserHelperTest < MiniTest::
|
|
36
|
-
ensure
|
|
37
|
-
FileUtils.rm_r "test/helpers"
|
|
45
|
+
contents = File.read "test/helpers/admin/user_helper_test.rb"
|
|
46
|
+
assert_match(/class Admin::UserHelperTest < MiniTest::Rails::ActionView::TestCase/m, contents)
|
|
38
47
|
end
|
|
39
48
|
|
|
40
49
|
def test_helper_generator_spec
|
|
41
|
-
|
|
50
|
+
out, err = capture_io do
|
|
42
51
|
MiniTest::Generators::HelperGenerator.start ["user", "--spec"]
|
|
43
52
|
end
|
|
44
|
-
assert_match(/create test\/helpers\/user_helper_test.rb/m,
|
|
53
|
+
assert_match(/create test\/helpers\/user_helper_test.rb/m, out)
|
|
45
54
|
assert File.exists? "test/helpers/user_helper_test.rb"
|
|
46
|
-
contents =
|
|
55
|
+
contents = File.read "test/helpers/user_helper_test.rb"
|
|
47
56
|
assert_match(/describe UserHelper do/m, contents)
|
|
48
|
-
ensure
|
|
49
|
-
FileUtils.rm_r "test/helpers"
|
|
50
57
|
end
|
|
51
58
|
|
|
52
|
-
def
|
|
53
|
-
|
|
59
|
+
def test_namespaced_helper_generator_spec
|
|
60
|
+
out, err = capture_io do
|
|
54
61
|
MiniTest::Generators::HelperGenerator.start ["admin/user", "--spec"]
|
|
55
62
|
end
|
|
56
|
-
assert_match(/create test\/helpers\/admin\/user_helper_test.rb/m,
|
|
63
|
+
assert_match(/create test\/helpers\/admin\/user_helper_test.rb/m, out)
|
|
57
64
|
assert File.exists? "test/helpers/admin/user_helper_test.rb"
|
|
58
|
-
contents =
|
|
65
|
+
contents = File.read "test/helpers/admin/user_helper_test.rb"
|
|
59
66
|
assert_match(/describe Admin::UserHelper do/m, contents)
|
|
60
|
-
ensure
|
|
61
|
-
FileUtils.rm_r "test/helpers"
|
|
62
67
|
end
|
|
63
68
|
|
|
64
69
|
end
|
|
@@ -6,23 +6,34 @@ require "rails/generators"
|
|
|
6
6
|
|
|
7
7
|
require "generators/mini_test/install/install_generator"
|
|
8
8
|
|
|
9
|
-
require "
|
|
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
|
|
10
16
|
|
|
11
17
|
class TestInstallGenerator < MiniTest::Unit::TestCase
|
|
12
|
-
|
|
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
|
|
13
28
|
|
|
14
29
|
def test_install_generator
|
|
15
|
-
|
|
30
|
+
out, err = capture_io do
|
|
16
31
|
MiniTest::Generators::InstallGenerator.start
|
|
17
32
|
end
|
|
18
|
-
assert_match(/create test\/minitest_helper.rb/m,
|
|
33
|
+
assert_match(/create test\/minitest_helper.rb/m, out)
|
|
19
34
|
assert File.exists? "test/minitest_helper.rb"
|
|
20
|
-
contents =
|
|
35
|
+
contents = File.read "test/minitest_helper.rb"
|
|
21
36
|
assert_match(/require "minitest\/autorun"/m, contents)
|
|
22
37
|
assert_match(/require "minitest\/rails"/m, contents)
|
|
23
|
-
ensure
|
|
24
|
-
# TODO: Don"t write the files
|
|
25
|
-
# I agree, it would be better to mock the file getting written
|
|
26
|
-
FileUtils.rm "test/minitest_helper.rb"
|
|
27
38
|
end
|
|
28
39
|
end
|
|
@@ -6,34 +6,43 @@ require "rails/generators"
|
|
|
6
6
|
|
|
7
7
|
require "generators/mini_test/mailer/mailer_generator"
|
|
8
8
|
|
|
9
|
-
require "
|
|
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
|
|
10
16
|
|
|
11
17
|
class TestMailerGenerator < MiniTest::Unit::TestCase
|
|
12
|
-
|
|
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
|
|
13
28
|
|
|
14
29
|
def test_mailer_generator
|
|
15
|
-
|
|
30
|
+
out, err = capture_io do
|
|
16
31
|
MiniTest::Generators::MailerGenerator.start ["notification"]
|
|
17
32
|
end
|
|
18
|
-
assert_match(/create test\/mailers\/notification_test.rb/m,
|
|
33
|
+
assert_match(/create test\/mailers\/notification_test.rb/m, out)
|
|
19
34
|
assert File.exists? "test/mailers/notification_test.rb"
|
|
20
|
-
contents =
|
|
35
|
+
contents = File.read "test/mailers/notification_test.rb"
|
|
21
36
|
assert_match(/class NotificationTest/m, contents)
|
|
22
|
-
ensure
|
|
23
|
-
# TODO: Don"t write the files
|
|
24
|
-
# I agree, it would be better to mock the file getting written
|
|
25
|
-
FileUtils.rm_r "test/mailers"
|
|
26
37
|
end
|
|
27
38
|
|
|
28
39
|
def test_mailer_generator_spec
|
|
29
|
-
|
|
40
|
+
out, err = capture_io do
|
|
30
41
|
MiniTest::Generators::MailerGenerator.start ["notification", "welcome", "--spec"]
|
|
31
42
|
end
|
|
32
|
-
assert_match(/create test\/mailers\/notification_test.rb/m,
|
|
43
|
+
assert_match(/create test\/mailers\/notification_test.rb/m, out)
|
|
33
44
|
assert File.exists? "test/mailers/notification_test.rb"
|
|
34
|
-
contents =
|
|
45
|
+
contents = File.read "test/mailers/notification_test.rb"
|
|
35
46
|
assert_match(/describe Notification do/m, contents)
|
|
36
|
-
ensure
|
|
37
|
-
FileUtils.rm_r "test/mailers"
|
|
38
47
|
end
|
|
39
48
|
end
|