Skip to content

Commit

Permalink
Test session table pluralization. Closes #6459.
Browse files Browse the repository at this point in the history
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5585 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information
jeremy committed Nov 20, 2006
1 parent de6ffba commit 3fc4771
Showing 1 changed file with 17 additions and 7 deletions.
24 changes: 17 additions & 7 deletions railties/test/rails_generator_test.rb
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@ class RailsGeneratorTest < Test::Unit::TestCase
BUILTINS = %w(controller mailer model scaffold) BUILTINS = %w(controller mailer model scaffold)
CAPITALIZED_BUILTINS = BUILTINS.map { |b| b.capitalize } CAPITALIZED_BUILTINS = BUILTINS.map { |b| b.capitalize }


def setup
ActiveRecord::Base.pluralize_table_names = true
end

def test_sources def test_sources
expected = [:lib, :vendor, :plugins, :user, :RubyGems, :builtin] expected = [:lib, :vendor, :plugins, :user, :RubyGems, :builtin]
expected.delete(:gem) unless Object.const_defined?(:Gem) expected.delete(:gem) unless Object.const_defined?(:Gem)
Expand Down Expand Up @@ -96,32 +100,38 @@ def test_generator_spec
end end


def test_named_generator_attributes def test_named_generator_attributes
ActiveRecord::Base.pluralize_table_names = true
g = Rails::Generator::Base.instance('working', %w(admin/foo bar baz)) g = Rails::Generator::Base.instance('working', %w(admin/foo bar baz))
assert_equal 'admin/foo', g.name assert_equal 'admin/foo', g.name
assert_equal %w(admin), g.class_path assert_equal %w(admin), g.class_path
assert_equal 'Admin', g.class_nesting assert_equal 'Admin', g.class_nesting
assert_equal 'Admin::Foo', g.class_name assert_equal 'Admin::Foo', g.class_name
assert_equal 'foo', g.singular_name assert_equal 'foo', g.singular_name
assert_equal 'foos', g.plural_name assert_equal 'foos', g.plural_name
assert_equal "admin_#{g.singular_name}", g.file_name assert_equal g.singular_name, g.file_name
assert_equal "admin_#{g.plural_name}", g.table_name assert_equal "admin_#{g.plural_name}", g.table_name
assert_equal %w(bar baz), g.args assert_equal %w(bar baz), g.args
end end


def test_named_generator_attributes_without_pluralized def test_named_generator_attributes_without_pluralized
ActiveRecord::Base.pluralize_table_names = false ActiveRecord::Base.pluralize_table_names = false
g = Rails::Generator::Base.instance('working', %w(admin/foo bar baz)) g = Rails::Generator::Base.instance('working', %w(admin/foo bar baz))
assert_equal g.singular_name, g.table_name assert_equal "admin_#{g.singular_name}", g.table_name
end

def test_session_migration_generator_with_pluralization
g = Rails::Generator::Base.instance('session_migration')
assert_equal 'session'.pluralize, g.send(:default_session_table_name)
ActiveRecord::Base.pluralize_table_names = false
assert_equal 'session', g.send(:default_session_table_name)
end end

def test_scaffold_controller_name def test_scaffold_controller_name
# Default behaviour is use the model name # Default behaviour is use the model name
g = Rails::Generator::Base.instance('scaffold', %w(Product)) g = Rails::Generator::Base.instance('scaffold', %w(Product))
assert_equal "Product", g.controller_name assert_equal "Products", g.controller_name

# When we specify a controller name make sure it sticks!! # When we specify a controller name make sure it sticks!!
g = Rails::Generator::Base.instance('scaffold', %w(Product Admin)) g = Rails::Generator::Base.instance('scaffold', %w(Product Admin))
assert_equal "Admin", g.controller_name assert_equal "Admin", g.controller_name
end end
end end

0 comments on commit 3fc4771

Please sign in to comment.