Methods
T
Constants
BUILTINS = %w(controller mailer model scaffold)
 
CAPITALIZED_BUILTINS = BUILTINS.map { |b| b.capitalize }
 
Instance Public methods
test_autolookup()
# File rails/railties/test/rails_generator_test.rb, line 63
def test_autolookup
  assert_nothing_raised { ControllerGenerator }
  assert_nothing_raised { ModelGenerator }
end
test_generator_spec()
# File rails/railties/test/rails_generator_test.rb, line 90
def test_generator_spec
  spec = Rails::Generator::Base.lookup('working')
  assert_equal 'working', spec.name
  assert_equal "#{RAILS_ROOT}/lib/generators/working", spec.path
  assert_equal :lib, spec.source
  assert_nothing_raised { assert_match(%rWorkingGenerator$/, spec.klass.name) }
end
test_generator_usage()
# File rails/railties/test/rails_generator_test.rb, line 82
def test_generator_usage
  BUILTINS.each do |name|
    assert_raise(Rails::Generator::UsageError) {
      Rails::Generator::Base.instance(name)
    }
  end
end
test_lookup_builtins()
# File rails/railties/test/rails_generator_test.rb, line 49
def test_lookup_builtins
  (BUILTINS + CAPITALIZED_BUILTINS).each do |name|
    assert_nothing_raised do
      spec = Rails::Generator::Base.lookup(name)
      assert_not_nil spec
      assert_kind_of Rails::Generator::Spec, spec

      klass = spec.klass
      assert klass < Rails::Generator::Base
      assert_equal spec, klass.spec
    end
  end
end
test_lookup_missing_class()
# File rails/railties/test/rails_generator_test.rb, line 74
def test_lookup_missing_class
  spec = nil
  assert_nothing_raised { spec = Rails::Generator::Base.lookup('missing_class') }
  assert_not_nil spec
  assert_kind_of Rails::Generator::Spec, spec
  assert_raise(NameError) { spec.klass }
end
test_lookup_missing_generator()
# File rails/railties/test/rails_generator_test.rb, line 68
def test_lookup_missing_generator
  assert_raise(MissingSourceFile) {
    Rails::Generator::Base.lookup('missing_generator').klass
  }
end
test_named_generator_attributes()
# File rails/railties/test/rails_generator_test.rb, line 98
def test_named_generator_attributes
  ActiveRecord::Base.pluralize_table_names = true
  g = Rails::Generator::Base.instance('working', %w(admin/foo bar baz))
  assert_equal 'admin/foo', g.name
  assert_equal %w(admin), g.class_path
  assert_equal 'Admin', g.class_nesting
  assert_equal 'Admin::Foo', g.class_name
  assert_equal 'foo', g.singular_name
  assert_equal 'foos', g.plural_name
  assert_equal g.singular_name, g.file_name
  assert_equal g.plural_name, g.table_name
  assert_equal %w(bar baz), g.args
end
test_named_generator_attributes_without_pluralized()
# File rails/railties/test/rails_generator_test.rb, line 112
def test_named_generator_attributes_without_pluralized
  ActiveRecord::Base.pluralize_table_names = false
  g = Rails::Generator::Base.instance('working', %w(admin/foo bar baz))
  assert_equal g.singular_name, g.table_name
end
test_scaffold_controller_name()
# File rails/railties/test/rails_generator_test.rb, line 118
def test_scaffold_controller_name
  # Default behaviour is use the model name
  g = Rails::Generator::Base.instance('scaffold', %w(Product))
  assert_equal "Product", g.controller_name
  
  # When we specify a controller name make sure it sticks!!
  g = Rails::Generator::Base.instance('scaffold', %w(Product Admin))
  assert_equal "Admin", g.controller_name
end
test_sources()
# File rails/railties/test/rails_generator_test.rb, line 43
def test_sources
  expected = [:lib, :vendor, :plugins, :user, :RubyGems, :builtin]
  expected.delete(:gem) unless Object.const_defined?(:Gem)
  assert_equal expected, Rails::Generator::Base.sources.map { |s| s.label }
end