Sha256: 0f131084770b1d60315fa85df3daa4e8b876ab747856eb5cfc2faf7560df34d4

Contents?: true

Size: 1.52 KB

Versions: 2

Compression:

Stored size: 1.52 KB

Contents

require 'abstract_unit'
require 'rails/test_unit/sub_test_task'

module Rails
  class TestInfoTest < ActiveSupport::TestCase
    def test_test_files
      info = new_test_info ['test']
      assert_predicate info.files, :empty?
      assert_nil info.opts
      assert_equal ['test'], info.tasks
    end

    def test_with_file
      info = new_test_info ['test', __FILE__]
      assert_equal [__FILE__], info.files
      assert_nil info.opts
      assert_equal ['test'], info.tasks
    end

    def test_with_opts
      info = new_test_info ['test', __FILE__, '/foo/']
      assert_equal [__FILE__], info.files
      assert_equal '-n /foo/', info.opts
      assert_equal ['test'], info.tasks
    end

    def test_with_model_shorthand
      info = new_test_info ['test', 'models/foo', '/foo/']

      def info.test_file?(file)
        file == "test/models/foo_test.rb" || super
      end

      assert_equal ['test/models/foo_test.rb'], info.files
      assert_equal '-n /foo/', info.opts
      assert_equal ['test'], info.tasks
    end

    def test_with_model_path
      info = new_test_info ['test', 'app/models/foo.rb', '/foo/']

      def info.test_file?(file)
        file == "test/models/foo_test.rb" || super
      end

      assert_equal ['test/models/foo_test.rb'], info.files
      assert_equal '-n /foo/', info.opts
      assert_equal ['test'], info.tasks
    end

    private
    def new_test_info(tasks)
      Class.new(TestTask::TestInfo) {
        def task_defined?(task)
          task == "test"
        end
      }.new tasks
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
activejob-lock-0.0.2 rails/railties/test/test_info_test.rb
activejob-lock-0.0.1 rails/railties/test/test_info_test.rb