From 640f6c201d59cd7fc16943154372d4ef754f33f4 Mon Sep 17 00:00:00 2001 From: kennyj Date: Sat, 3 Mar 2012 20:32:46 +0900 Subject: Fix GH #4674. Reset column information and sequence name when setting table_name. --- activerecord/test/cases/base_test.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'activerecord/test/cases/base_test.rb') diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb index 698c3d0cb1..d810704418 100644 --- a/activerecord/test/cases/base_test.rb +++ b/activerecord/test/cases/base_test.rb @@ -1479,6 +1479,19 @@ class BasicsTest < ActiveRecord::TestCase end end + def test_clear_cash_when_setting_table_name + Joke.table_name = "cold_jokes" + before_columns = Joke.columns + before_seq = Joke.sequence_name + + Joke.table_name = "funny_jokes" + after_columns = Joke.columns + after_seq = Joke.sequence_name + + assert_not_equal before_columns, after_columns + assert_not_equal before_seq, after_seq unless before_seq.blank? && after_seq.blank? + end + def test_set_table_name_symbol_converted_to_string Joke.table_name = :cold_jokes assert_equal 'cold_jokes', Joke.table_name -- cgit v1.2.3 From 200d994870e0b2e59c31ab9d268def19abc563cf Mon Sep 17 00:00:00 2001 From: kennyj Date: Sun, 4 Mar 2012 22:18:57 +0900 Subject: Don't clear sequence name when we explicitly assign it. --- activerecord/test/cases/base_test.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'activerecord/test/cases/base_test.rb') diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb index d810704418..444ea474b1 100644 --- a/activerecord/test/cases/base_test.rb +++ b/activerecord/test/cases/base_test.rb @@ -1492,6 +1492,17 @@ class BasicsTest < ActiveRecord::TestCase assert_not_equal before_seq, after_seq unless before_seq.blank? && after_seq.blank? end + def test_dont_clear_sequence_name_when_setting_explicitly + Joke.sequence_name = "black_jokes_seq" + Joke.table_name = "cold_jokes" + before_seq = Joke.sequence_name + + Joke.table_name = "funny_jokes" + after_seq = Joke.sequence_name + + assert_equal before_seq, after_seq unless before_seq.blank? && after_seq.blank? + end + def test_set_table_name_symbol_converted_to_string Joke.table_name = :cold_jokes assert_equal 'cold_jokes', Joke.table_name -- cgit v1.2.3