From aff0d85fa5e69384d4bf53ed339cabe962706270 Mon Sep 17 00:00:00 2001 From: Harri Kauhanen Date: Tue, 9 Sep 2008 11:23:00 +0300 Subject: [PATCH] Added a simple testcase for namespaced models --- activerecord/test/cases/namespaced_models_test.rb | 47 +++++++++++++++++++++ 1 files changed, 47 insertions(+), 0 deletions(-) create mode 100644 activerecord/test/cases/namespaced_models_test.rb diff --git a/activerecord/test/cases/namespaced_models_test.rb b/activerecord/test/cases/namespaced_models_test.rb new file mode 100644 index 0000000..dc12295 --- /dev/null +++ b/activerecord/test/cases/namespaced_models_test.rb @@ -0,0 +1,47 @@ +module Animal + class Dog < ActiveRecord::Base + class Color < ActiveRecord::Base + end + end +end + +class Animal::Cat < ActiveRecord::Base + class Color < ActiveRecord::Base + end +end + +module Animal + module Insect + class Bug < ActiveRecord::Base + class Color < ActiveRecord::Base + end + end + end +end + +class Bug < ActiveRecord::Base + # not an "animal bug" +end + +class NamespacedModelsTest < ActiveRecord::TestCase + def test_table_naming + old_namespace_modules_in_table_names = ActiveRecord::Base.namespace_modules_in_table_names + old_pluralize_table_names = ActiveRecord::Base.pluralize_table_names + ActiveRecord::Base.pluralize_table_names = true + + ActiveRecord::Base.namespace_modules_in_table_names = false + assert_equal 'dogs', Animal::Dog.table_name + assert_equal 'dog_colors', Animal::Dog::Color.table_name + + ActiveRecord::Base.namespace_modules_in_table_names = true + assert_equal 'animal__cats', Animal::Cat.table_name + assert_equal 'animal__cat_colors', Animal::Cat::Color.table_name + assert_equal 'animal__insect__bugs', Animal::Insect::Bug.table_name + assert_equal 'animal__insect__bug_colors', Animal::Insect::Bug::Color.table_name + assert_equal 'bugs', Bug.table_name + + ensure + ActiveRecord::Base.namespace_modules_in_table_names = old_namespace_modules_in_table_names + ActiveRecord::Base.pluralize_table_names = old_pluralize_table_names + end +end -- 1.5.5.1