diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-06-28 02:45:29 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-06-28 02:45:29 +0000 |
commit | 2619f216fef06c9fca948ca729a0e23b62996f09 (patch) | |
tree | 01c462490ba269df417fad115570ace6a765a25f /test/rake/test_rake_test_task.rb | |
parent | 84ece951630c61eddab8be47b80fc1a7f774175f (diff) | |
download | ruby-2619f216fef06c9fca948ca729a0e23b62996f09.tar.gz |
* lib/rake: Update rake to fix some bugs and hide deprecated features
from RDoc.
* lib/rake/version.rb: Bump version to 0.9.2.1 to distinguish it from
the released version.
* NEWS: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rake/test_rake_test_task.rb')
-rw-r--r-- | test/rake/test_rake_test_task.rb | 102 |
1 files changed, 53 insertions, 49 deletions
diff --git a/test/rake/test_rake_test_task.rb b/test/rake/test_rake_test_task.rb index 81b4df3cd5..7d490a0f6c 100644 --- a/test/rake/test_rake_test_task.rb +++ b/test/rake/test_rake_test_task.rb @@ -4,18 +4,7 @@ require 'rake/testtask' class TestRakeTestTask < Rake::TestCase include Rake - def setup - super - - Task.clear - ENV.delete('TEST') - end - - def test_no_task - assert ! Task.task_defined?(:test) - end - - def test_defaults + def test_initialize tt = Rake::TestTask.new do |t| end refute_nil tt assert_equal :test, tt.name @@ -25,7 +14,7 @@ class TestRakeTestTask < Rake::TestCase assert Task.task_defined?(:test) end - def test_non_defaults + def test_initialize_override tt = Rake::TestTask.new(:example) do |t| t.libs = ['src', 'ext'] t.pattern = 'test/tc_*.rb' @@ -39,29 +28,43 @@ class TestRakeTestTask < Rake::TestCase assert Task.task_defined?(:example) end - def test_pattern - tt = Rake::TestTask.new do |t| - t.pattern = '*.rb' - end - assert_equal ['*.rb'], tt.file_list.to_a - end - - def test_env_test + def test_file_list_ENV_TEST ENV['TEST'] = 'testfile.rb' tt = Rake::TestTask.new do |t| t.pattern = '*' end + assert_equal ["testfile.rb"], tt.file_list.to_a + ensure + ENV.delete 'TEST' end - def test_test_files + def test_libs_equals + test_task = Rake::TestTask.new do |t| + t.libs << ["A", "B"] + end + + path = %w[lib A B].join File::PATH_SEPARATOR + + assert_equal "-I\"#{path}\"", test_task.ruby_opts_string + end + + def test_libs_equals_empty + test_task = Rake::TestTask.new do |t| + t.libs = [] + end + + assert_equal '', test_task.ruby_opts_string + end + + def test_pattern_equals tt = Rake::TestTask.new do |t| - t.test_files = FileList['a.rb', 'b.rb'] + t.pattern = '*.rb' end - assert_equal ["a.rb", 'b.rb'], tt.file_list.to_a + assert_equal ['*.rb'], tt.file_list.to_a end - def test_both_pattern_and_test_files + def test_pattern_equals_test_files_equals tt = Rake::TestTask.new do |t| t.test_files = FileList['a.rb', 'b.rb'] t.pattern = '*.rb' @@ -69,48 +72,49 @@ class TestRakeTestTask < Rake::TestCase assert_equal ['a.rb', 'b.rb', '*.rb'], tt.file_list.to_a end - def test_direct_run_has_quoted_paths - test_task = Rake::TestTask.new(:tx) do |t| + def test_run_code_direct + test_task = Rake::TestTask.new do |t| t.loader = :direct end - assert_match(/-e ".*"/, test_task.run_code) + + assert_equal '-e "ARGV.each{|f| require f}"', test_task.run_code + end + + def test_run_code_rake + test_task = Rake::TestTask.new do |t| + t.loader = :rake + end + + assert_match(/-I".*?" ".*?"/, test_task.run_code) end - def test_testrb_run_has_quoted_paths_on_ruby_182 - test_task = Rake::TestTask.new(:tx) do |t| + def test_run_code_testrb_ruby_1_8_2 + test_task = Rake::TestTask.new do |t| t.loader = :testrb end + flexmock(test_task).should_receive(:ruby_version).and_return('1.8.2') + assert_match(/^-S testrb +".*"$/, test_task.run_code) end - def test_testrb_run_has_quoted_paths_on_ruby_186 - test_task = Rake::TestTask.new(:tx) do |t| + def test_run_code_testrb_ruby_1_8_6 + test_task = Rake::TestTask.new do |t| t.loader = :testrb end + flexmock(test_task).should_receive(:ruby_version).and_return('1.8.6') + assert_match(/^-S testrb +$/, test_task.run_code) end - def test_rake_run_has_quoted_paths - test_task = Rake::TestTask.new(:tx) do |t| - t.loader = :rake + def test_test_files_equals + tt = Rake::TestTask.new do |t| + t.test_files = FileList['a.rb', 'b.rb'] end - assert_match(/".*"/, test_task.run_code) - end - def test_nested_libs_will_be_flattened - test_task = Rake::TestTask.new(:tx) do |t| - t.libs << ["A", "B"] - end - sep = File::PATH_SEPARATOR - assert_match(/lib#{sep}A#{sep}B/, test_task.ruby_opts_string) + assert_equal ["a.rb", 'b.rb'], tt.file_list.to_a end - def test_empty_lib_path_implies_no_dash_I_option - test_task = Rake::TestTask.new(:tx) do |t| - t.libs = [] - end - refute_match(/-I/, test_task.ruby_opts_string) - end end + |