diff options
Diffstat (limited to 'test/rake/test_rake_task_with_arguments.rb')
-rw-r--r-- | test/rake/test_rake_task_with_arguments.rb | 172 |
1 files changed, 0 insertions, 172 deletions
diff --git a/test/rake/test_rake_task_with_arguments.rb b/test/rake/test_rake_task_with_arguments.rb deleted file mode 100644 index 8646fc041b..0000000000 --- a/test/rake/test_rake_task_with_arguments.rb +++ /dev/null @@ -1,172 +0,0 @@ -require File.expand_path('../helper', __FILE__) - -class TestRakeTaskWithArguments < Rake::TestCase - include Rake - - def setup - super - - Task.clear - Rake::TaskManager.record_task_metadata = true - end - - def teardown - Rake::TaskManager.record_task_metadata = false - Rake.application.thread_pool.join - - super - end - - def test_no_args_given - t = task :t - assert_equal [], t.arg_names - end - - def test_args_given - t = task :t, :a, :b - assert_equal [:a, :b], t.arg_names - end - - def test_name_and_needs - t = task(:t => [:pre]) - assert_equal "t", t.name - assert_equal [], t.arg_names - assert_equal ["pre"], t.prerequisites - end - - def test_name_args_and_prereqs - t = task(:t, [:x, :y] => [:pre]) - assert_equal "t", t.name - assert_equal [:x, :y], t.arg_names - assert_equal ["pre"], t.prerequisites - end - - def test_arg_list_is_empty_if_no_args_given - t = task(:t) { |tt, args| assert_equal({}, args.to_hash) } - t.invoke(1, 2, 3) - end - - def test_tasks_can_access_arguments_as_hash - t = task :t, :a, :b, :c do |tt, args| - assert_equal({:a => 1, :b => 2, :c => 3}, args.to_hash) - assert_equal 1, args[:a] - assert_equal 2, args[:b] - assert_equal 3, args[:c] - assert_equal 1, args.a - assert_equal 2, args.b - assert_equal 3, args.c - end - t.invoke(1, 2, 3) - end - - def test_actions_of_various_arity_are_ok_with_args - notes = [] - t = task(:t, :x) do - notes << :a - end - t.enhance do | | - notes << :b - end - t.enhance do |task| - notes << :c - assert_kind_of Task, task - end - t.enhance do |t2, args| - notes << :d - assert_equal t, t2 - assert_equal({:x => 1}, args.to_hash) - end - t.invoke(1) - assert_equal [:a, :b, :c, :d], notes - end - - def test_arguments_are_passed_to_block - t = task(:t, :a, :b) { |tt, args| - assert_equal({ :a => 1, :b => 2 }, args.to_hash) - } - t.invoke(1, 2) - end - - def test_extra_parameters_are_ignored - t = task(:t, :a) { |tt, args| - assert_equal 1, args.a - assert_nil args.b - } - t.invoke(1, 2) - end - - def test_arguments_are_passed_to_all_blocks - counter = 0 - t = task :t, :a - task :t do |tt, args| - assert_equal 1, args.a - counter += 1 - end - task :t do |tt, args| - assert_equal 1, args.a - counter += 1 - end - t.invoke(1) - assert_equal 2, counter - end - - def test_block_with_no_parameters_is_ok - t = task(:t) { } - t.invoke(1, 2) - end - - def test_name_with_args - desc "T" - t = task(:tt, :a, :b) - assert_equal "tt", t.name - assert_equal "T", t.comment - assert_equal "[a,b]", t.arg_description - assert_equal "tt[a,b]", t.name_with_args - assert_equal [:a, :b], t.arg_names - end - - def test_named_args_are_passed_to_prereqs - value = nil - task(:pre, :rev) { |t, args| value = args.rev } - t = task(:t, [:name, :rev] => [:pre]) - t.invoke("bill", "1.2") - assert_equal "1.2", value - end - - def test_args_not_passed_if_no_prereq_names_on_task - task(:pre) { |t, args| - assert_equal({}, args.to_hash) - assert_equal "bill", args.name - } - t = task(:t, [:name, :rev] => [:pre]) - t.invoke("bill", "1.2") - end - - def test_args_not_passed_if_no_prereq_names_on_multitask - task(:pre) { |t, args| - assert_equal({}, args.to_hash) - assert_equal "bill", args.name - } - t = multitask(:t, [:name, :rev] => [:pre]) - t.invoke("bill", "1.2") - end - - def test_args_not_passed_if_no_arg_names - task(:pre, :rev) { |t, args| - assert_equal({}, args.to_hash) - } - t = task(:t => [:pre]) - t.invoke("bill", "1.2") - end - - def test_values_at - t = task(:pre, [:a, :b, :c]) { |task, args| - a, b, c = args.values_at(:a, :b, :c) - assert_equal %w[1 2 3], [a, b, c] - } - - t.invoke(*%w[1 2 3]) - - # HACK no assertions - end -end |