add fixed file

add framework_test

add another test
This commit is contained in:
Dermot Haughey 2015-05-27 18:48:24 -05:00
parent 3e36db4406
commit ae5c3c3514
2 changed files with 66 additions and 16 deletions

@ -32,35 +32,39 @@ namespace :rails do
FileUtils.cp_r src_name, dst_name
end
end
end
end
end
namespace :update do
def invoke_from_app_generator(method)
app_generator.send(method)
end
class RailsUpdate
def app_generator
@app_generator ||= begin
require 'rails/generators'
require 'rails/generators/rails/app/app_generator'
gen = Rails::Generators::AppGenerator.new ["rails"], { with_dispatchers: true },
destination_root: Rails.root
File.exist?(Rails.root.join("config", "application.rb")) ?
gen.send(:app_const) : gen.send(:valid_const?)
gen
def self.invoke_from_app_generator(method)
RailsUpdate.app_generator.send(method)
end
def self.app_generator
@app_generator ||= begin
require 'rails/generators'
require 'rails/generators/rails/app/app_generator'
gen = Rails::Generators::AppGenerator.new ["rails"], { with_dispatchers: true },
destination_root: Rails.root
File.exist?(Rails.root.join("config", "application.rb")) ?
gen.send(:app_const) : gen.send(:valid_const?)
gen
end
end
end
# desc "Update config/boot.rb from your current rails install"
task :configs do
invoke_from_app_generator :create_boot_file
invoke_from_app_generator :update_config_files
RailsUpdate.invoke_from_app_generator :create_boot_file
RailsUpdate.invoke_from_app_generator :update_config_files
end
# desc "Adds new executables to the application bin/ directory"
task :bin do
invoke_from_app_generator :create_bin_files
RailsUpdate.invoke_from_app_generator :create_bin_files
end
end
end

@ -0,0 +1,46 @@
require "isolation/abstract_unit"
require "active_support/core_ext/string/strip"
module ApplicationTests
module RakeTests
class FrameworkTest < ActiveSupport::TestCase
include ActiveSupport::Testing::Isolation
def setup
build_app
boot_rails
FileUtils.rm_rf("#{app_path}/config/environments")
end
def teardown
teardown_app
end
def load_tasks
require 'rake'
require 'rdoc/task'
require 'rake/testtask'
Rails.application.load_tasks
end
test 'requiring the rake task should not define method .app_generator on Object' do
require "#{app_path}/config/environment"
load_tasks
assert_raise NameError do
Object.method(:app_generator)
end
end
test 'requiring the rake task should not define method .invoke_from_app_generator on Object' do
require "#{app_path}/config/environment"
load_tasks
assert_raise NameError do
Object.method(:invoke_from_app_generator)
end
end
end
end
end