aboutsummaryrefslogtreecommitdiffstats
path: root/test/rake/test_rake_task_manager_argument_resolution.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rake/test_rake_task_manager_argument_resolution.rb')
-rw-r--r--test/rake/test_rake_task_manager_argument_resolution.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/rake/test_rake_task_manager_argument_resolution.rb b/test/rake/test_rake_task_manager_argument_resolution.rb
new file mode 100644
index 0000000000..35e0862ef7
--- /dev/null
+++ b/test/rake/test_rake_task_manager_argument_resolution.rb
@@ -0,0 +1,36 @@
+require File.expand_path('../helper', __FILE__)
+
+class TestRakeTaskManagerArgumentResolution < Rake::TestCase
+
+ def setup
+ super
+
+ Rake.application.options.ignore_deprecate = true
+ end
+
+ def teardown
+ Rake.application.options.ignore_deprecate = false
+
+ super
+ end
+
+ def test_good_arg_patterns
+ assert_equal [:t, [], []], task(:t)
+ assert_equal [:t, [], [:x]], task(:t => :x)
+ assert_equal [:t, [], [:x, :y]], task(:t => [:x, :y])
+
+ assert_equal [:t, [:a, :b], []], task(:t, :a, :b)
+ assert_equal [:t, [], [:x]], task(:t, :needs => :x)
+ assert_equal [:t, [:a, :b], [:x]], task(:t, :a, :b, :needs => :x)
+ assert_equal [:t, [:a, :b], [:x, :y]], task(:t, :a, :b, :needs => [:x, :y])
+
+ assert_equal [:t, [:a, :b], []], task(:t, [:a, :b])
+ assert_equal [:t, [:a, :b], [:x]], task(:t, [:a, :b] => :x)
+ assert_equal [:t, [:a, :b], [:x, :y]], task(:t, [:a, :b] => [:x, :y])
+ end
+
+ def task(*args)
+ tm = Rake::TestCase::TaskManager.new
+ tm.resolve_args(args)
+ end
+end