зеркало из https://github.com/github/ruby.git
66 строки
1.5 KiB
Ruby
66 строки
1.5 KiB
Ruby
require File.expand_path('../helper', __FILE__)
|
|
require 'open3'
|
|
|
|
class TestRakeReduceCompat < Rake::TestCase
|
|
# TODO: factor out similar code in test_rake_functional.rb
|
|
def rake(*args)
|
|
Open3.popen3(RUBY, "-I", @rake_lib, @rake_exec, *args) { |_, out, _, _|
|
|
out.read
|
|
}
|
|
end
|
|
|
|
def invoke_normal(task_name)
|
|
rake task_name.to_s
|
|
end
|
|
|
|
def invoke_reduce_compat(task_name)
|
|
rake "--reduce-compat", task_name.to_s
|
|
end
|
|
|
|
def test_no_deprecated_dsl
|
|
rakefile %q{
|
|
task :check_task do
|
|
Module.new { p defined?(task) }
|
|
end
|
|
|
|
task :check_file do
|
|
Module.new { p defined?(file) }
|
|
end
|
|
}
|
|
|
|
assert_equal %{"method"}, invoke_normal(:check_task).chomp
|
|
assert_equal %{"method"}, invoke_normal(:check_file).chomp
|
|
|
|
assert_equal "nil", invoke_reduce_compat(:check_task).chomp
|
|
assert_equal "nil", invoke_reduce_compat(:check_file).chomp
|
|
end
|
|
|
|
def test_no_classic_namespace
|
|
rakefile %q{
|
|
task :check_task do
|
|
begin
|
|
Task
|
|
print "present"
|
|
rescue NameError
|
|
print "absent"
|
|
end
|
|
end
|
|
|
|
task :check_file_task do
|
|
begin
|
|
FileTask
|
|
print "present"
|
|
rescue NameError
|
|
print "absent"
|
|
end
|
|
end
|
|
}
|
|
|
|
assert_equal "present", invoke_normal(:check_task)
|
|
assert_equal "present", invoke_normal(:check_file_task)
|
|
|
|
assert_equal "absent", invoke_reduce_compat(:check_task)
|
|
assert_equal "absent", invoke_reduce_compat(:check_file_task)
|
|
end
|
|
end
|