1require File.expand_path('../helper', __FILE__) 2 3class TestRake < Rake::TestCase 4 def test_each_dir_parent 5 assert_equal ['a'], alldirs('a') 6 assert_equal ['a/b', 'a'], alldirs('a/b') 7 assert_equal ['/a/b', '/a', '/'], alldirs('/a/b') 8 if File.dirname("c:/foo") == "c:" 9 # Under Unix 10 assert_equal ['c:/a/b', 'c:/a', 'c:'], alldirs('c:/a/b') 11 assert_equal ['c:a/b', 'c:a'], alldirs('c:a/b') 12 else 13 # Under Windows 14 assert_equal ['c:/a/b', 'c:/a', 'c:/'], alldirs('c:/a/b') 15 assert_equal ['c:a/b', 'c:a'], alldirs('c:a/b') 16 end 17 end 18 19 def alldirs(fn) 20 result = [] 21 Rake.each_dir_parent(fn) { |d| result << d } 22 result 23 end 24 25 def test_can_override_application 26 old_app = Rake.application 27 fake_app = Object.new 28 Rake.application = fake_app 29 30 assert_equal fake_app, Rake.application 31 32 ensure 33 Rake.application = old_app 34 end 35 36 def test_original_dir_reports_current_dir 37 assert_equal @tempdir, Rake.original_dir 38 end 39 40end 41