aboutsummaryrefslogtreecommitdiffstats
path: root/test/rake/test_rake_makefile_loader.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rake/test_rake_makefile_loader.rb')
-rw-r--r--test/rake/test_rake_makefile_loader.rb44
1 files changed, 44 insertions, 0 deletions
diff --git a/test/rake/test_rake_makefile_loader.rb b/test/rake/test_rake_makefile_loader.rb
new file mode 100644
index 0000000000..bd3c99ba71
--- /dev/null
+++ b/test/rake/test_rake_makefile_loader.rb
@@ -0,0 +1,44 @@
+require File.expand_path('../helper', __FILE__)
+require 'rake/loaders/makefile'
+
+class TestRakeMakefileLoader < Rake::TestCase
+ include Rake
+
+ def test_parse
+ Dir.chdir @tempdir
+
+ open 'sample.mf', 'w' do |io|
+ io << <<-'SAMPLE_MF'
+# Comments
+a: a1 a2 a3 a4
+b: b1 b2 b3 \
+ b4 b5 b6\
+# Mid: Comment
+b7
+
+ a : a5 a6 a7
+c: c1
+d: d1 d2 \
+
+e f : e1 f1
+
+g\ 0: g1 g\ 2 g\ 3 g4
+ SAMPLE_MF
+ end
+
+ Task.clear
+ loader = Rake::MakefileLoader.new
+ loader.load 'sample.mf'
+ %w(a b c d).each do |t|
+ assert Task.task_defined?(t), "#{t} should be a defined task"
+ end
+ assert_equal %w(a1 a2 a3 a4 a5 a6 a7).sort, Task['a'].prerequisites.sort
+ assert_equal %w(b1 b2 b3 b4 b5 b6 b7).sort, Task['b'].prerequisites.sort
+ assert_equal %w(c1).sort, Task['c'].prerequisites.sort
+ assert_equal %w(d1 d2).sort, Task['d'].prerequisites.sort
+ assert_equal %w(e1 f1).sort, Task['e'].prerequisites.sort
+ assert_equal %w(e1 f1).sort, Task['f'].prerequisites.sort
+ assert_equal ["g1", "g 2", "g 3", "g4"].sort, Task['g 0'].prerequisites.sort
+ assert_equal 7, Task.tasks.size
+ end
+end