minitest-rails 0.1.2 → 0.1.3
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 +1 -2
- data/CHANGELOG.rdoc +7 -0
- data/Manifest.txt +7 -1
- data/README.rdoc +20 -3
- data/Rakefile +3 -2
- data/gemfiles/3.0.gemfile +1 -0
- data/gemfiles/3.0.gemfile.lock +92 -0
- data/gemfiles/3.1.gemfile +1 -0
- data/gemfiles/3.1.gemfile.lock +103 -0
- data/gemfiles/3.2.gemfile +1 -0
- data/gemfiles/3.2.gemfile.lock +101 -0
- data/gemfiles/minitest_tu_shim.rb +4 -0
- data/lib/generators/mini_test.rb +11 -3
- data/lib/minitest-rails.rb +1 -1
- data/lib/minitest/rails/action_controller.rb +41 -0
- data/lib/minitest/rails/active_support.rb +4 -0
- data/minitest-rails.gemspec +7 -4
- data/test/generators/test_controller_generator.rb +34 -27
- data/test/generators/test_helper_generator.rb +29 -24
- data/test/generators/test_install_generator.rb +20 -9
- data/test/generators/test_mailer_generator.rb +23 -14
- data/test/generators/test_model_generator.rb +27 -25
- data/test/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/{test_action_controller_spec_type.rb → action_controller/test_spec_type.rb} +0 -0
- metadata +28 -4
| @@ -14,6 +14,47 @@ module MiniTest | |
| 14 14 | 
             
                    register_spec_type(/Controller( ?Test)?\z/i, self)
         | 
| 15 15 |  | 
| 16 16 | 
             
                    include ::ActionController::TestCase::Behavior
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                    def self.determine_default_controller_class(name)
         | 
| 19 | 
            +
                      # Override this method to support nested describes
         | 
| 20 | 
            +
                      #
         | 
| 21 | 
            +
                      # describe WidgetsController do
         | 
| 22 | 
            +
                      #   describe "index" do
         | 
| 23 | 
            +
                      #     it "is successful" do
         | 
| 24 | 
            +
                      #       assert_response :success
         | 
| 25 | 
            +
                      #     end
         | 
| 26 | 
            +
                      #   end
         | 
| 27 | 
            +
                      # end
         | 
| 28 | 
            +
                      #
         | 
| 29 | 
            +
                      # Original implementation:
         | 
| 30 | 
            +
                      # name.sub(/Test$/, '').safe_constantize
         | 
| 31 | 
            +
                      # safe_constantize is not supported in Rails 3.0...
         | 
| 32 | 
            +
                      ControllerLookup.find name
         | 
| 33 | 
            +
                    end
         | 
| 34 | 
            +
                  end
         | 
| 35 | 
            +
             | 
| 36 | 
            +
                  module ControllerLookup
         | 
| 37 | 
            +
                    def self.find controller
         | 
| 38 | 
            +
                      # HACK: I don't love this implementation
         | 
| 39 | 
            +
                      # Please suggest a better one!
         | 
| 40 | 
            +
                      names = controller.split "::"
         | 
| 41 | 
            +
                      controller = while names.size > 0 do
         | 
| 42 | 
            +
                        # Remove "Test" if present
         | 
| 43 | 
            +
                        names.last.sub! /Test$/, ''
         | 
| 44 | 
            +
                        begin
         | 
| 45 | 
            +
                          constant = names.join("::").constantize
         | 
| 46 | 
            +
                          break(constant) if constant
         | 
| 47 | 
            +
                        rescue NameError
         | 
| 48 | 
            +
                          # do nothing
         | 
| 49 | 
            +
                        ensure
         | 
| 50 | 
            +
                          names.pop
         | 
| 51 | 
            +
                        end
         | 
| 52 | 
            +
                      end
         | 
| 53 | 
            +
                      if controller.nil?
         | 
| 54 | 
            +
                        raise ::NameError.new("Unable to resolve controller for #{name}")
         | 
| 55 | 
            +
                      end
         | 
| 56 | 
            +
                      controller
         | 
| 57 | 
            +
                    end
         | 
| 17 58 | 
             
                  end
         | 
| 18 59 | 
             
                end
         | 
| 19 60 | 
             
              end
         | 
| @@ -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'
         | 
    
        data/minitest-rails.gemspec
    CHANGED
    
    | @@ -2,22 +2,22 @@ | |
| 2 2 |  | 
| 3 3 | 
             
            Gem::Specification.new do |s|
         | 
| 4 4 | 
             
              s.name = "minitest-rails"
         | 
| 5 | 
            -
              s.version = "0.1. | 
| 5 | 
            +
              s.version = "0.1.3.20120802091804"
         | 
| 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-08-02"
         | 
| 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", ".travis.yml", "CHANGELOG.rdoc", "LICENSE", "Manifest.txt", "README.rdoc", "Rakefile", "gemfiles/3.0.gemfile", "gemfiles/3.1.gemfile", "gemfiles/3.2.gemfile", "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/ | 
| 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/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/test_minitest.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/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/ | 
| 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/test_minitest.rb"]
         | 
| 21 21 |  | 
| 22 22 | 
             
              if s.respond_to? :specification_version then
         | 
| 23 23 | 
             
                s.specification_version = 3
         | 
| @@ -26,17 +26,20 @@ Gem::Specification.new do |s| | |
| 26 26 | 
             
                  s.add_runtime_dependency(%q<minitest>, ["~> 3.0"])
         | 
| 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 32 | 
             
                  s.add_dependency(%q<minitest>, ["~> 3.0"])
         | 
| 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 39 | 
             
                s.add_dependency(%q<minitest>, ["~> 3.0"])
         | 
| 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
         |