2009-10-02 15:07:55 -04:00
|
|
|
require 'test/unit'
|
|
|
|
require 'rake'
|
|
|
|
|
2009-10-03 10:47:46 -04:00
|
|
|
class Rake::TestRake < Test::Unit::TestCase
|
2009-10-02 15:07:55 -04:00
|
|
|
def test_each_dir_parent
|
|
|
|
assert_equal ['a'], alldirs('a')
|
|
|
|
assert_equal ['a/b', 'a'], alldirs('a/b')
|
|
|
|
assert_equal ['/a/b', '/a', '/'], alldirs('/a/b')
|
|
|
|
if File.dirname("c:/foo") == "c:"
|
|
|
|
# Under Unix
|
|
|
|
assert_equal ['c:/a/b', 'c:/a', 'c:'], alldirs('c:/a/b')
|
|
|
|
assert_equal ['c:a/b', 'c:a'], alldirs('c:a/b')
|
|
|
|
else
|
|
|
|
# Under Windows
|
|
|
|
assert_equal ['c:/a/b', 'c:/a', 'c:/'], alldirs('c:/a/b')
|
|
|
|
assert_equal ['c:a/b', 'c:a'], alldirs('c:a/b')
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def alldirs(fn)
|
|
|
|
result = []
|
|
|
|
Rake.each_dir_parent(fn) { |d| result << d }
|
|
|
|
result
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_can_override_application
|
|
|
|
old_app = Rake.application
|
|
|
|
fake_app = Object.new
|
|
|
|
Rake.application = fake_app
|
|
|
|
assert_equal fake_app, Rake.application
|
|
|
|
ensure
|
|
|
|
Rake.application = old_app
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_original_dir_reports_current_dir
|
|
|
|
assert_equal Dir.pwd, Rake.original_dir
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|