aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorPhil Smith <phil.h.smith@gmail.com>2010-04-10 19:30:50 -0700
committerJosé Valim <jose.valim@gmail.com>2010-04-12 10:59:38 +0200
commitbab1f910c7399fcfe9f031a1ce3a1f36bf5fd277 (patch)
tree433a4088268291df2ef362b83c49b3799225cd8e /activerecord/test
parent788d9238931bb36ed2af78d34c84562dc3a4848c (diff)
downloadrails-bab1f910c7399fcfe9f031a1ce3a1f36bf5fd277.tar.gz
rails-bab1f910c7399fcfe9f031a1ce3a1f36bf5fd277.tar.bz2
rails-bab1f910c7399fcfe9f031a1ce3a1f36bf5fd277.zip
table_name_prefix and table_name_suffix are class_attributes instead of cattr_accessors. [#4230]
Signed-off-by: José Valim <jose.valim@gmail.com>
Diffstat (limited to 'activerecord/test')
-rwxr-xr-xactiverecord/test/cases/base_test.rb58
1 files changed, 51 insertions, 7 deletions
diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb
index 8774ed58aa..51b6a8aada 100755
--- a/activerecord/test/cases/base_test.rb
+++ b/activerecord/test/cases/base_test.rb
@@ -579,9 +579,9 @@ class BasicsTest < ActiveRecord::TestCase
assert_equal(topics(:second).title, topics.first.title)
end
- def test_table_name_guesses
- classes = [Category, Smarts, CreditCard, CreditCard::PinNumber, CreditCard::PinNumber::CvvCode, CreditCard::SubPinNumber, CreditCard::Brand, MasterCreditCard]
+ GUESSED_CLASSES = [Category, Smarts, CreditCard, CreditCard::PinNumber, CreditCard::PinNumber::CvvCode, CreditCard::SubPinNumber, CreditCard::Brand, MasterCreditCard]
+ def test_table_name_guesses
assert_equal "topics", Topic.table_name
assert_equal "categories", Category.table_name
@@ -592,9 +592,13 @@ class BasicsTest < ActiveRecord::TestCase
assert_equal "credit_card_pin_numbers", CreditCard::SubPinNumber.table_name
assert_equal "categories", CreditCard::Brand.table_name
assert_equal "master_credit_cards", MasterCreditCard.table_name
+ ensure
+ GUESSED_CLASSES.each(&:reset_table_name)
+ end
+ def test_singular_table_name_guesses
ActiveRecord::Base.pluralize_table_names = false
- classes.each(&:reset_table_name)
+ GUESSED_CLASSES.each(&:reset_table_name)
assert_equal "category", Category.table_name
assert_equal "smarts", Smarts.table_name
@@ -604,10 +608,12 @@ class BasicsTest < ActiveRecord::TestCase
assert_equal "credit_card_pin_number", CreditCard::SubPinNumber.table_name
assert_equal "category", CreditCard::Brand.table_name
assert_equal "master_credit_card", MasterCreditCard.table_name
-
+ ensure
ActiveRecord::Base.pluralize_table_names = true
- classes.each(&:reset_table_name)
+ GUESSED_CLASSES.each(&:reset_table_name)
+ end
+ def test_table_name_guesses_with_prefixes_and_suffixes
ActiveRecord::Base.table_name_prefix = "test_"
Category.reset_table_name
assert_equal "test_categories", Category.table_name
@@ -620,8 +626,15 @@ class BasicsTest < ActiveRecord::TestCase
ActiveRecord::Base.table_name_suffix = ""
Category.reset_table_name
assert_equal "categories", Category.table_name
+ ensure
+ ActiveRecord::Base.table_name_prefix = ""
+ ActiveRecord::Base.table_name_suffix = ""
+ GUESSED_CLASSES.each(&:reset_table_name)
+ end
+ def test_singular_table_name_guesses_with_prefixes_and_suffixes
ActiveRecord::Base.pluralize_table_names = false
+
ActiveRecord::Base.table_name_prefix = "test_"
Category.reset_table_name
assert_equal "test_category", Category.table_name
@@ -634,9 +647,40 @@ class BasicsTest < ActiveRecord::TestCase
ActiveRecord::Base.table_name_suffix = ""
Category.reset_table_name
assert_equal "category", Category.table_name
-
+ ensure
ActiveRecord::Base.pluralize_table_names = true
- classes.each(&:reset_table_name)
+ ActiveRecord::Base.table_name_prefix = ""
+ ActiveRecord::Base.table_name_suffix = ""
+ GUESSED_CLASSES.each(&:reset_table_name)
+ end
+
+ def test_table_name_guesses_with_inherited_prefixes_and_suffixes
+ GUESSED_CLASSES.each(&:reset_table_name)
+
+ CreditCard.table_name_prefix = "test_"
+ CreditCard.reset_table_name
+ Category.reset_table_name
+ assert_equal "test_credit_cards", CreditCard.table_name
+ assert_equal "categories", Category.table_name
+ CreditCard.table_name_suffix = "_test"
+ CreditCard.reset_table_name
+ Category.reset_table_name
+ assert_equal "test_credit_cards_test", CreditCard.table_name
+ assert_equal "categories", Category.table_name
+ CreditCard.table_name_prefix = ""
+ CreditCard.reset_table_name
+ Category.reset_table_name
+ assert_equal "credit_cards_test", CreditCard.table_name
+ assert_equal "categories", Category.table_name
+ CreditCard.table_name_suffix = ""
+ CreditCard.reset_table_name
+ Category.reset_table_name
+ assert_equal "credit_cards", CreditCard.table_name
+ assert_equal "categories", Category.table_name
+ ensure
+ CreditCard.table_name_prefix = ""
+ CreditCard.table_name_suffix = ""
+ GUESSED_CLASSES.each(&:reset_table_name)
end
def test_destroy_all