From e300d810f280c77f855a24af1073e3df364d57c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=20Garc=C3=ADa?= Date: Sun, 8 May 2011 18:42:22 +0200 Subject: [PATCH] Ticket #193 - alias_task preserve description --- lib/capistrano/configuration/alias_task.rb | 5 ++++- test/configuration/alias_task_test.rb | 10 ++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/capistrano/configuration/alias_task.rb b/lib/capistrano/configuration/alias_task.rb index 7a59243f..7a050304 100644 --- a/lib/capistrano/configuration/alias_task.rb +++ b/lib/capistrano/configuration/alias_task.rb @@ -12,7 +12,10 @@ module Capistrano task = find_task(old_name) or raise NoSuchTaskError, "the task `#{old_name}' does not exist" - task(new_name, task.options, &task.body) + options = {} + options[:desc] = task.description + + task(new_name, options, &task.body) end end end diff --git a/test/configuration/alias_task_test.rb b/test/configuration/alias_task_test.rb index a527b404..6e1f5be9 100644 --- a/test/configuration/alias_task_test.rb +++ b/test/configuration/alias_task_test.rb @@ -37,6 +37,16 @@ class AliasTaskTest < Test::Unit::TestCase assert_equal 42, @config.find_and_execute_task('new_foo') end + def test_aliased_task_should_preserve_description + @config.task(:foo, :desc => "the Ultimate Question of Life, the Universe, and Everything" ) { 42 } + @config.alias_task 'new_foo', 'foo' + + task = @config.find_task('foo') + new_task = @config.find_task('new_foo') + + assert_equal task.description, new_task.description + end + def test_raise_exception_when_task_doesnt_exist assert_raises(Capistrano::NoSuchTaskError) { @config.alias_task 'non_existant_task', 'fail_miserably' } end