Sha256: 1a0c783c57918748a82ca8cebb8ae394e9812f6b14132b22ee03994485706335

Contents?: true

Size: 1.94 KB

Versions: 16

Compression:

Stored size: 1.94 KB

Contents

require 'test/unit'
require 'rails/all'
require 'rails/generators'
require 'rails/generators/test_case'

class TestApp < Rails::Application
  config.root = File.dirname(__FILE__)
end
Rails.application = TestApp

module Rails
  def self.root
    @root ||= File.expand_path(File.join(File.dirname(__FILE__), '..', 'tmp', 'rails'))
  end
end
Rails.application.config.root = Rails.root

Dir[File.join File.dirname(__FILE__), 'support', '**', '*.rb'].each {|f| require f}

def copy_routes
  routes = File.expand_path(File.join(File.dirname(__FILE__), 'fixtures', 'routes.rb'))
  destination = File.join(Rails.root, "config")
  FileUtils.mkdir_p(destination)
  FileUtils.cp File.expand_path(routes), destination
end

# Asserts the given class exists in the given content. When a block is given,
# it yields the content of the class.
#
#   assert_file "test/functional/accounts_controller_test.rb" do |controller_test|
#     assert_class "AccountsControllerTest", controller_test do |klass|
#       assert_match /context "index action"/, klass
#     end
#   end
#
def assert_class(klass, content)
  assert content =~ /class #{klass}(\(.+\))?(.*?)\nend/m, "Expected to have class #{klass}"
  yield $2.strip if block_given?
end

def generator_list
  {
    :rails        => ['scaffold', 'controller', 'mailer'],
    :slim         => ['scaffold', 'controller', 'mailer']
  }
end

def path_prefix(name)
  case name
  when :rails
    'rails/generators'
  else
    'generators'
  end
end

def require_generators(generator_list)
  generator_list.each do |name, generators|
    generators.each do |generator_name|
      if name.to_s == 'rails' && generator_name.to_s == 'mailer'
        require File.join(path_prefix(name), generator_name.to_s, "#{generator_name}_generator")
      else
        require File.join(path_prefix(name), name.to_s, generator_name.to_s, "#{generator_name}_generator")
      end
    end
  end
end
alias :require_generator :require_generators

require_generators generator_list

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
slim-rails-2.1.5 test/test_helper.rb
slim-rails-2.1.4 test/test_helper.rb
slim-rails-2.1.3 test/test_helper.rb
slim-rails-2.1.2 test/test_helper.rb
slim-rails-2.1.1 test/test_helper.rb
slim-rails-2.1.0 test/test_helper.rb
slim-rails-2.0.4 test/test_helper.rb
slim-rails-2.0.3 test/test_helper.rb
slim-rails-2.0.2 test/test_helper.rb
slim-rails-2.0.1 test/test_helper.rb
slim-rails-1.1.1 test/test_helper.rb
slim-rails-1.1.0 test/test_helper.rb
slim-rails-1.0.3 test/test_helper.rb
slim-rails-1.0.2 test/test_helper.rb
slim-rails-1.0.1 test/test_helper.rb
slim-rails-1.0.0 test/test_helper.rb