summaryrefslogtreecommitdiff
path: root/test/rake/test_rake_test_task.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rake/test_rake_test_task.rb')
-rw-r--r--test/rake/test_rake_test_task.rb102
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
+