aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorJon Leighton <j@jonathanleighton.com>2011-12-23 21:37:52 +0000
committerJon Leighton <j@jonathanleighton.com>2011-12-24 11:08:15 +0000
commitba7ec73f6a5c98c008e8e48eb06e9b9a17a91991 (patch)
tree32501c519056e017537da0c80c9a8e787cb211b4 /activerecord/test
parent8c67e709d0b2946473af84959deaac0ced962d5e (diff)
downloadrails-ba7ec73f6a5c98c008e8e48eb06e9b9a17a91991.tar.gz
rails-ba7ec73f6a5c98c008e8e48eb06e9b9a17a91991.tar.bz2
rails-ba7ec73f6a5c98c008e8e48eb06e9b9a17a91991.zip
Deal with global config better between AR::Base and AR::Model
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/attribute_methods/read_test.rb1
-rw-r--r--activerecord/test/cases/configuration_test.rb26
-rw-r--r--activerecord/test/cases/inclusion_test.rb9
3 files changed, 36 insertions, 0 deletions
diff --git a/activerecord/test/cases/attribute_methods/read_test.rb b/activerecord/test/cases/attribute_methods/read_test.rb
index 0df9ffc0c5..375c207d20 100644
--- a/activerecord/test/cases/attribute_methods/read_test.rb
+++ b/activerecord/test/cases/attribute_methods/read_test.rb
@@ -18,6 +18,7 @@ module ActiveRecord
def self.active_record_super; Base; end
def self.base_class; self; end
+ include ActiveRecord::Configuration
include ActiveRecord::AttributeMethods
def self.column_names
diff --git a/activerecord/test/cases/configuration_test.rb b/activerecord/test/cases/configuration_test.rb
new file mode 100644
index 0000000000..872f1fc33b
--- /dev/null
+++ b/activerecord/test/cases/configuration_test.rb
@@ -0,0 +1,26 @@
+require 'cases/helper'
+
+class ConfigurationTest < ActiveRecord::TestCase
+ def test_configuration
+ @klass = Class.new do
+ include ActiveRecord::Configuration
+ end
+
+ ActiveRecord::Configuration.define :omg
+
+ ActiveRecord::Configuration.omg = "omg"
+
+ assert_equal "omg", @klass.new.omg
+ assert !@klass.new.respond_to?(:omg=)
+ assert_equal "omg", @klass.omg
+
+ @klass.omg = "wtf"
+
+ assert_equal "wtf", @klass.omg
+ assert_equal "wtf", @klass.new.omg
+ ensure
+ ActiveRecord::Configuration.send(:undef_method, :omg)
+ ActiveRecord::Configuration::ClassMethods.send(:undef_method, :omg)
+ ActiveRecord::Configuration::ClassMethods.send(:undef_method, :omg=)
+ end
+end
diff --git a/activerecord/test/cases/inclusion_test.rb b/activerecord/test/cases/inclusion_test.rb
index d092e748e8..ee32a71ca9 100644
--- a/activerecord/test/cases/inclusion_test.rb
+++ b/activerecord/test/cases/inclusion_test.rb
@@ -41,4 +41,13 @@ class InclusionUnitTest < ActiveRecord::TestCase
def test_connection_handler
assert_equal ActiveRecord::Base.connection_handler, @klass.connection_handler
end
+
+ def test_mirrored_configuration
+ ActiveRecord::Base.time_zone_aware_attributes = true
+ assert @klass.time_zone_aware_attributes
+ ActiveRecord::Base.time_zone_aware_attributes = false
+ assert !@klass.time_zone_aware_attributes
+ ensure
+ ActiveRecord::Base.time_zone_aware_attributes = false
+ end
end