From c5034d60dba0cd31a6a8c612ee35d63b8127793a Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Tue, 11 Feb 2014 14:08:12 -0800 Subject: add a send so `apply` can be called. Fixes #13510 THIS IS A HUGE HACK. Thor does not allow us to define public methods without turning them in to "thor tasks". That means we cannot subclass the `apply` method and make it public, so we have to make the method private and call `send` on it. --- railties/test/application/rake/templates_test.rb | 32 ++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 railties/test/application/rake/templates_test.rb (limited to 'railties/test') diff --git a/railties/test/application/rake/templates_test.rb b/railties/test/application/rake/templates_test.rb new file mode 100644 index 0000000000..1fca80debd --- /dev/null +++ b/railties/test/application/rake/templates_test.rb @@ -0,0 +1,32 @@ +require "isolation/abstract_unit" + +module ApplicationTests + module RakeTests + class TemplatesTest < ActiveSupport::TestCase + include ActiveSupport::Testing::Isolation + + def setup + build_app + require "rails/all" + super + end + + def teardown + super + teardown_app + end + + def test_rake_template + Dir.chdir(app_path) do + cmd = "bundle exec rake rails:template LOCATION=foo" + r,w = IO.pipe + Process.waitpid Process.spawn(cmd, out: w, err: w) + w.close + assert_match(/Could not find.*foo/, r.read) + r.close + end + end + end + end +end + -- cgit v1.2.3