summaryrefslogtreecommitdiff
path: root/test/rake/test_rake.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rake/test_rake.rb')
-rw-r--r--test/rake/test_rake.rb39
1 files changed, 39 insertions, 0 deletions
diff --git a/test/rake/test_rake.rb b/test/rake/test_rake.rb
new file mode 100644
index 0000000000..0f0f6a843d
--- /dev/null
+++ b/test/rake/test_rake.rb
@@ -0,0 +1,39 @@
+require 'test/unit'
+require 'rake'
+
+class TestRake < Test::Unit::TestCase
+ 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