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