зеркало из https://github.com/github/ruby.git
82 строки
1.8 KiB
Ruby
82 строки
1.8 KiB
Ruby
require 'tmpdir'
|
|
require 'test/unit'
|
|
require 'rake/testtask'
|
|
|
|
class Rake::TestTestTask < Test::Unit::TestCase
|
|
include Rake
|
|
|
|
def setup
|
|
@oldwd = Dir.pwd
|
|
@tmpwd = Dir.mktmpdir
|
|
Dir.chdir(@tmpwd)
|
|
Task.clear
|
|
ENV.delete('TEST')
|
|
open('install.rb', 'w') {}
|
|
end
|
|
|
|
def teardown
|
|
FileUtils.rm_rf("testdata")
|
|
Dir.chdir(@oldwd)
|
|
FileUtils.rm_rf(@tmpwd)
|
|
end
|
|
|
|
def test_no_task
|
|
assert ! Task.task_defined?(:test)
|
|
end
|
|
|
|
def test_defaults
|
|
tt = Rake::TestTask.new do |t| end
|
|
assert_not_nil tt
|
|
assert_equal :test, tt.name
|
|
assert_equal ['lib'], tt.libs
|
|
assert_equal 'test/test*.rb', tt.pattern
|
|
assert_equal false, tt.verbose
|
|
assert Task.task_defined?(:test)
|
|
end
|
|
|
|
def test_non_defaults
|
|
tt = Rake::TestTask.new(:example) do |t|
|
|
t.libs = ['src', 'ext']
|
|
t.pattern = 'test/tc_*.rb'
|
|
t.verbose = true
|
|
end
|
|
assert_not_nil tt
|
|
assert_equal :example, tt.name
|
|
assert_equal ['src', 'ext'], tt.libs
|
|
assert_equal 'test/tc_*.rb', tt.pattern
|
|
assert_equal true, tt.verbose
|
|
assert Task.task_defined?(:example)
|
|
end
|
|
|
|
def test_pattern
|
|
tt = Rake::TestTask.new do |t|
|
|
t.pattern = '*.rb'
|
|
end
|
|
assert_equal ['install.rb'], tt.file_list.to_a
|
|
end
|
|
|
|
def test_env_test
|
|
ENV['TEST'] = 'testfile.rb'
|
|
tt = Rake::TestTask.new do |t|
|
|
t.pattern = '*'
|
|
end
|
|
assert_equal ["testfile.rb"], tt.file_list.to_a
|
|
end
|
|
|
|
def test_test_files
|
|
tt = Rake::TestTask.new do |t|
|
|
t.test_files = FileList['a.rb', 'b.rb']
|
|
end
|
|
assert_equal ["a.rb", 'b.rb'], tt.file_list.to_a
|
|
end
|
|
|
|
def test_both_pattern_and_test_files
|
|
tt = Rake::TestTask.new do |t|
|
|
t.test_files = FileList['a.rb', 'b.rb']
|
|
t.pattern = '*.rb'
|
|
end
|
|
assert_equal ['a.rb', 'b.rb', 'install.rb'], tt.file_list.to_a
|
|
end
|
|
|
|
end
|