Skip to content
This repository
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 66 lines (54 sloc) 1.612 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
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)
    lib = File.join(@orig_PWD, "lib")
    bin_rake = File.join(@orig_PWD, "bin", "rake")
    Open3.popen3(RUBY, "-I", lib, bin_rake, *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
Something went wrong with that request. Please try again.