aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorGeoff Petrie & Sean Griffin <g.petrie+sean@gmail.com>2014-06-01 11:40:40 -0600
committerGeoff Petrie <g.petrie@gmail.com>2014-06-01 11:42:53 -0600
commit29cbfa2f33b2d0e2d16a203941998687af7831db (patch)
tree243e61b2dd078edf368f8111d31d98b4be45fde7 /activerecord
parent260c384bdb539265b31d3937df48e528acb50800 (diff)
downloadrails-29cbfa2f33b2d0e2d16a203941998687af7831db.tar.gz
rails-29cbfa2f33b2d0e2d16a203941998687af7831db.tar.bz2
rails-29cbfa2f33b2d0e2d16a203941998687af7831db.zip
Test the serialized types of virtual columns in XML
The previous tests were passing, because nothing ever looked at the generated XML. What was previously being generated was `<firstname type="NilClass">...`, which is not consistent with all other cases where there is not a known type.
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/serializers/xml_serializer.rb2
-rw-r--r--activerecord/test/cases/xml_serialization_test.rb5
2 files changed, 3 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/serializers/xml_serializer.rb b/activerecord/lib/active_record/serializers/xml_serializer.rb
index 1a766093d0..08e8346b49 100644
--- a/activerecord/lib/active_record/serializers/xml_serializer.rb
+++ b/activerecord/lib/active_record/serializers/xml_serializer.rb
@@ -184,8 +184,6 @@ module ActiveRecord #:nodoc:
super
elsif klass.columns_hash.key?(name)
klass.columns_hash[name].type
- else
- NilClass
end
{ :text => :string,
diff --git a/activerecord/test/cases/xml_serialization_test.rb b/activerecord/test/cases/xml_serialization_test.rb
index 1a690c01a6..c34e7d5a30 100644
--- a/activerecord/test/cases/xml_serialization_test.rb
+++ b/activerecord/test/cases/xml_serialization_test.rb
@@ -416,8 +416,9 @@ class DatabaseConnectedXmlSerializationTest < ActiveRecord::TestCase
def test_should_support_aliased_attributes
xml = Author.select("name as firstname").to_xml
- array = Hash.from_xml(xml)['authors']
- assert_equal array.size, array.select { |author| author.has_key? 'firstname' }.size
+ Author.all.each do |author|
+ assert xml.include?(%(<firstname>#{author.name}</firstname>)), xml
+ end
end
def test_array_to_xml_including_has_many_association