summaryrefslogtreecommitdiff
path: root/test/rake/test_rake_rules.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rake/test_rake_rules.rb')
-rw-r--r--test/rake/test_rake_rules.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/rake/test_rake_rules.rb b/test/rake/test_rake_rules.rb
index 376b99889c..ece75e5d9e 100644
--- a/test/rake/test_rake_rules.rb
+++ b/test/rake/test_rake_rules.rb
@@ -359,4 +359,30 @@ class TestRakeRules < Rake::TestCase
Task[OBJFILE].invoke('arg')
end
+ def test_rule_with_method_prereq
+ create_file(".foo")
+ obj = Object.new
+ def obj.find_prereq
+ ".foo"
+ end
+ rule '.o' => obj.method(:find_prereq) do |t|
+ @runs << "#{t.name} - #{t.source}"
+ end
+ Task[OBJFILE].invoke
+ assert_equal ["#{OBJFILE} - .foo"], @runs
+ end
+
+ def test_rule_with_one_arg_method_prereq
+ create_file(SRCFILE)
+ obj = Object.new
+ def obj.find_prereq(task_name)
+ task_name.ext(".c")
+ end
+ rule '.o' => obj.method(:find_prereq) do |t|
+ @runs << "#{t.name} - #{t.source}"
+ end
+ Task[OBJFILE].invoke
+ assert_equal ["#{OBJFILE} - abc.c"], @runs
+ end
+
end