summaryrefslogtreecommitdiffstats
path: root/test/rake/test_win32.rb
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-10-02 19:07:55 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-10-02 19:07:55 +0000
commit8da109fa1ec17fb4096470fe97135f41cdd3345b (patch)
treec5a08c8c9abae9b7f0514f680f56553a7a03656a /test/rake/test_win32.rb
parentb43ab1d7f1a8bc1a6fbca4d193c37fb0c6d28281 (diff)
downloadruby-8da109fa1ec17fb4096470fe97135f41cdd3345b.tar.gz
ruby-8da109fa1ec17fb4096470fe97135f41cdd3345b.tar.xz
ruby-8da109fa1ec17fb4096470fe97135f41cdd3345b.zip
* lib/rake: updated to rake code to rake-0.8.7 source code base.
* lib/rake/loaders/makefile.rb (Rake::MakefileLoader#process_line): respace dependencies too. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@25199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rake/test_win32.rb')
-rw-r--r--test/rake/test_win32.rb68
1 files changed, 68 insertions, 0 deletions
diff --git a/test/rake/test_win32.rb b/test/rake/test_win32.rb
new file mode 100644
index 000000000..a1b73de9d
--- /dev/null
+++ b/test/rake/test_win32.rb
@@ -0,0 +1,68 @@
+require 'test/unit'
+require_relative 'in_environment'
+
+require 'rake'
+
+class TestWin32 < Test::Unit::TestCase
+ include InEnvironment
+
+ Win32 = Rake::Win32
+
+ def test_win32_system_dir_uses_home_if_defined
+ in_environment('RAKE_SYSTEM' => nil, 'HOME' => 'C:\\HP') do
+ assert_equal "C:/HP/Rake", Win32.win32_system_dir
+ end
+ end
+
+ def test_win32_system_dir_uses_homedrive_homepath_when_no_home_defined
+ in_environment(
+ 'RAKE_SYSTEM' => nil,
+ 'HOME' => nil,
+ 'HOMEDRIVE' => "C:",
+ 'HOMEPATH' => "\\HP"
+ ) do
+ assert_equal "C:/HP/Rake", Win32.win32_system_dir
+ end
+ end
+
+ def test_win32_system_dir_uses_appdata_when_no_home_or_home_combo
+ in_environment(
+ 'RAKE_SYSTEM' => nil,
+ 'HOME' => nil,
+ 'HOMEDRIVE' => nil,
+ 'HOMEPATH' => nil,
+ 'APPDATA' => "C:\\Documents and Settings\\HP\\Application Data"
+ ) do
+ assert_equal "C:/Documents and Settings/HP/Application Data/Rake", Win32.win32_system_dir
+ end
+ end
+
+ def test_win32_system_dir_fallback_to_userprofile_otherwise
+ in_environment(
+ 'RAKE_SYSTEM' => nil,
+ 'HOME' => nil,
+ 'HOMEDRIVE' => nil,
+ 'HOMEPATH' => nil,
+ 'APPDATA' => nil,
+ 'USERPROFILE' => "C:\\Documents and Settings\\HP"
+ ) do
+ assert_equal "C:/Documents and Settings/HP/Rake", Win32.win32_system_dir
+ end
+ end
+
+ def test_win32_system_dir_nil_of_no_env_vars
+ in_environment(
+ 'RAKE_SYSTEM' => nil,
+ 'HOME' => nil,
+ 'HOMEDRIVE' => nil,
+ "HOMEPATH" => nil,
+ 'APPDATA' => nil,
+ "USERPROFILE" => nil
+ ) do
+ assert_raise(Rake::Win32::Win32HomeError) do
+ Win32.win32_system_dir
+ end
+ end
+ end
+
+end if Rake::Win32.windows?