minitest-rails 0.1.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 +26 -7
- data/README.rdoc +22 -3
- data/Rakefile +4 -2
- 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 +11 -3
- 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 +5 -1
- data/lib/minitest/rails/tasks/minitest.rake +6 -0
- data/lib/minitest/rails.rb +2 -2
- data/lib/minitest-rails.rb +1 -1
- data/minitest-rails.gemspec +10 -7
- data/test/{test_controller_generator.rb → generators/test_controller_generator.rb} +34 -27
- data/test/{test_helper_generator.rb → generators/test_helper_generator.rb} +29 -24
- 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} +27 -25
- data/test/{test_scaffold_generator.rb → generators/test_scaffold_generator.rb} +23 -14
- 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 +60 -18
- /data/test/{test_minitest.rb → test_sanity.rb} +0 -0
|
@@ -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,4 +1,8 @@
|
|
|
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'
|
|
@@ -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
|
|
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-
|
|
9
|
+
s.date = "2012-09-19"
|
|
10
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/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/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
19
|
s.summary = "MiniTest integration for Rails 3.x"
|
|
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/
|
|
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 =
|
|
35
|
+
contents = File.read "test/helpers/user_helper_test.rb"
|
|
21
36
|
assert_match(/class UserHelperTest < MiniTest::Rails::ActionView::TestCase/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/helpers"
|
|
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 =
|
|
45
|
+
contents = File.read "test/helpers/admin/user_helper_test.rb"
|
|
35
46
|
assert_match(/class Admin::UserHelperTest < MiniTest::Rails::ActionView::TestCase/m, contents)
|
|
36
|
-
ensure
|
|
37
|
-
FileUtils.rm_r "test/helpers"
|
|
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
59
|
def test_namespaced_helper_generator_spec
|
|
53
|
-
|
|
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
|
|
@@ -6,58 +6,60 @@ require "rails/generators"
|
|
|
6
6
|
|
|
7
7
|
require "generators/mini_test/model/model_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 TestModelGenerator < 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_model_generator
|
|
15
|
-
|
|
30
|
+
out, err = capture_io do
|
|
16
31
|
MiniTest::Generators::ModelGenerator.start ["user"]
|
|
17
32
|
end
|
|
18
|
-
assert_match(/create test\/models\/user_test.rb/m,
|
|
33
|
+
assert_match(/create test\/models\/user_test.rb/m, out)
|
|
19
34
|
assert File.exists? "test/models/user_test.rb"
|
|
20
|
-
contents =
|
|
35
|
+
contents = File.read "test/models/user_test.rb"
|
|
21
36
|
assert_match(/class UserTest/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/models"
|
|
26
|
-
FileUtils.rm_r "test/fixtures"
|
|
27
37
|
end
|
|
28
38
|
|
|
29
39
|
def test_model_generator_spec
|
|
30
|
-
|
|
40
|
+
out, err = capture_io do
|
|
31
41
|
MiniTest::Generators::ModelGenerator.start ["user", "--spec"]
|
|
32
42
|
end
|
|
33
|
-
assert_match(/create test\/models\/user_test.rb/m,
|
|
43
|
+
assert_match(/create test\/models\/user_test.rb/m, out)
|
|
34
44
|
assert File.exists? "test/models/user_test.rb"
|
|
35
45
|
assert File.exists? "test/fixtures/users.yml"
|
|
36
|
-
contents =
|
|
46
|
+
contents = File.read "test/models/user_test.rb"
|
|
37
47
|
assert_match(/describe User do/m, contents)
|
|
38
|
-
ensure
|
|
39
|
-
FileUtils.rm_r "test/models"
|
|
40
|
-
FileUtils.rm_r "test/fixtures"
|
|
41
48
|
end
|
|
42
49
|
|
|
43
50
|
def test_model_generator_fixture
|
|
44
|
-
|
|
51
|
+
out, err = capture_io do
|
|
45
52
|
MiniTest::Generators::ModelGenerator.start ["user"]
|
|
46
53
|
end
|
|
47
|
-
assert_match(/create test\/fixtures\/users.yml/m,
|
|
54
|
+
assert_match(/create test\/fixtures\/users.yml/m, out)
|
|
48
55
|
assert File.exists? "test/fixtures/users.yml"
|
|
49
|
-
ensure
|
|
50
|
-
FileUtils.rm_r "test/models"
|
|
51
|
-
FileUtils.rm_r "test/fixtures"
|
|
52
56
|
end
|
|
53
57
|
|
|
54
58
|
def test_model_generator_skip_fixture
|
|
55
|
-
|
|
59
|
+
out, err = capture_io do
|
|
56
60
|
MiniTest::Generators::ModelGenerator.start ["user", "--skip-fixture"]
|
|
57
61
|
end
|
|
58
|
-
refute_match(/create test\/fixtures\/users.yml/m,
|
|
62
|
+
refute_match(/create test\/fixtures\/users.yml/m, out)
|
|
59
63
|
refute File.exists? "test/fixtures/users.yml"
|
|
60
|
-
ensure
|
|
61
|
-
FileUtils.rm_r "test/models"
|
|
62
64
|
end
|
|
63
65
|
end
|
|
@@ -6,34 +6,43 @@ require "rails/generators"
|
|
|
6
6
|
|
|
7
7
|
require "generators/mini_test/scaffold/scaffold_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 TestScaffoldGenerator < 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_scaffold_generator
|
|
15
|
-
|
|
30
|
+
out, err = capture_io do
|
|
16
31
|
MiniTest::Generators::ScaffoldGenerator.start ["user"]
|
|
17
32
|
end
|
|
18
|
-
assert_match(/create test\/controllers\/users_controller_test.rb/m,
|
|
33
|
+
assert_match(/create test\/controllers\/users_controller_test.rb/m, out)
|
|
19
34
|
assert File.exists? "test/controllers/users_controller_test.rb"
|
|
20
|
-
contents =
|
|
35
|
+
contents = File.read "test/controllers/users_controller_test.rb"
|
|
21
36
|
assert_match(/class UsersControllerTest/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_scaffold_generator_spec
|
|
29
|
-
|
|
40
|
+
out, err = capture_io do
|
|
30
41
|
MiniTest::Generators::ScaffoldGenerator.start ["user", "--spec"]
|
|
31
42
|
end
|
|
32
|
-
assert_match(/create test\/controllers\/users_controller_test.rb/m,
|
|
43
|
+
assert_match(/create test\/controllers\/users_controller_test.rb/m, out)
|
|
33
44
|
assert File.exists? "test/controllers/users_controller_test.rb"
|
|
34
|
-
contents =
|
|
45
|
+
contents = File.read "test/controllers/users_controller_test.rb"
|
|
35
46
|
assert_match(/describe UsersController do/m, contents)
|
|
36
|
-
ensure
|
|
37
|
-
FileUtils.rm_r "test/controllers"
|
|
38
47
|
end
|
|
39
48
|
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
require "minitest/autorun"
|
|
2
|
+
require "rails"
|
|
3
|
+
|
|
4
|
+
require "minitest/rails/action_controller"
|
|
5
|
+
require "action_controller"
|
|
6
|
+
|
|
7
|
+
class ApplicationController < ActionController::Base; end
|
|
8
|
+
class ModelsController < ApplicationController; end
|
|
9
|
+
module Admin
|
|
10
|
+
class WidgetsController < ApplicationController; end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
class TestControllerLookup < MiniTest::Unit::TestCase
|
|
14
|
+
include MiniTest::Rails::ActionController
|
|
15
|
+
def test_find_application_controller
|
|
16
|
+
assert_equal ApplicationController, ControllerLookup.find("ApplicationController")
|
|
17
|
+
assert_equal ApplicationController, ControllerLookup.find("ApplicationControllerTest")
|
|
18
|
+
assert_equal ApplicationController, ControllerLookup.find("ApplicationController::index")
|
|
19
|
+
assert_equal ApplicationController, ControllerLookup.find("ApplicationController::index::authenticated")
|
|
20
|
+
assert_equal ApplicationController, ControllerLookup.find("ApplicationControllerTest::index")
|
|
21
|
+
assert_equal ApplicationController, ControllerLookup.find("ApplicationControllerTest::index::authenticated")
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def test_find_models_controller
|
|
25
|
+
assert_equal ModelsController, ControllerLookup.find("ModelsController")
|
|
26
|
+
assert_equal ModelsController, ControllerLookup.find("ModelsControllerTest")
|
|
27
|
+
assert_equal ModelsController, ControllerLookup.find("ModelsController::index")
|
|
28
|
+
assert_equal ModelsController, ControllerLookup.find("ModelsController::index::authenticated")
|
|
29
|
+
assert_equal ModelsController, ControllerLookup.find("ModelsControllerTest::index")
|
|
30
|
+
assert_equal ModelsController, ControllerLookup.find("ModelsControllerTest::index::authenticated")
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def test_find_admin_widgets_controller
|
|
34
|
+
assert_equal Admin::WidgetsController, ControllerLookup.find("Admin::WidgetsController")
|
|
35
|
+
assert_equal Admin::WidgetsController, ControllerLookup.find("Admin::WidgetsControllerTest")
|
|
36
|
+
assert_equal Admin::WidgetsController, ControllerLookup.find("Admin::WidgetsController::index")
|
|
37
|
+
assert_equal Admin::WidgetsController, ControllerLookup.find("Admin::WidgetsController::index::authenticated")
|
|
38
|
+
assert_equal Admin::WidgetsController, ControllerLookup.find("Admin::WidgetsControllerTest::index")
|
|
39
|
+
assert_equal Admin::WidgetsController, ControllerLookup.find("Admin::WidgetsControllerTest::index::authenticated")
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def test_raises_when_cant_find_controller
|
|
43
|
+
assert_raises(NameError) { ControllerLookup.find("DoesntExistController") }
|
|
44
|
+
assert_raises(NameError) { ControllerLookup.find("DoesntExistControllerTest") }
|
|
45
|
+
assert_raises(NameError) { ControllerLookup.find("DoesntExistController::Nadda") }
|
|
46
|
+
assert_raises(NameError) { ControllerLookup.find("DoesntExistController::Nadda::Nope") }
|
|
47
|
+
assert_raises(NameError) { ControllerLookup.find("DoesntExistController::Nadda::Nope::NotHere") }
|
|
48
|
+
end
|
|
49
|
+
end
|