From 27ba5edef1c4264a8d1c0e54675723d37a391dd8 Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Sun, 18 Mar 2007 07:30:09 +0000 Subject: Hash#to_xml supports YAML attributes; ActiveRecord::Base#to_xml support serialized attributes. Closes #7502. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6444 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activerecord/test/base_test.rb | 2 +- activerecord/test/xml_serialization_test.rb | 23 +++++++++++++++++------ 2 files changed, 18 insertions(+), 7 deletions(-) (limited to 'activerecord/test') diff --git a/activerecord/test/base_test.rb b/activerecord/test/base_test.rb index c3ae9a08b9..7f629a91f4 100755 --- a/activerecord/test/base_test.rb +++ b/activerecord/test/base_test.rb @@ -1509,7 +1509,7 @@ class BasicsTest < Test::Unit::TestCase assert xml.include?(%(1)) assert xml.include?(%(1)) assert xml.include?(%(#{written_on_in_current_timezone})) - assert xml.include?(%(Have a nice day)) + assert xml.include?(%(--- Have a nice day\n)) assert xml.include?(%(david@loudthinking.com)) assert xml.match(%()) if current_adapter?(:SybaseAdapter, :SQLServerAdapter, :OracleAdapter) diff --git a/activerecord/test/xml_serialization_test.rb b/activerecord/test/xml_serialization_test.rb index 73ff354c48..61da81fe2d 100644 --- a/activerecord/test/xml_serialization_test.rb +++ b/activerecord/test/xml_serialization_test.rb @@ -9,11 +9,14 @@ class Contact < ActiveRecord::Base columns << ActiveRecord::ConnectionAdapters::Column.new(name.to_s, default, sql_type.to_s, null) end - column :name, :string - column :age, :integer - column :avatar, :binary - column :created_at, :datetime - column :awesome, :boolean + column :name, :string + column :age, :integer + column :avatar, :binary + column :created_at, :datetime + column :awesome, :boolean + column :preferences, :string + + serialize :preferences end class XmlSerializationTest < Test::Unit::TestCase @@ -57,7 +60,7 @@ end class DefaultXmlSerializationTest < Test::Unit::TestCase def setup - @xml = Contact.new(:name => 'aaron stack', :age => 25, :avatar => 'binarydata', :created_at => Time.utc(2006, 8, 1), :awesome => false).to_xml + @xml = Contact.new(:name => 'aaron stack', :age => 25, :avatar => 'binarydata', :created_at => Time.utc(2006, 8, 1), :awesome => false, :preferences => { :gem => 'ruby' }).to_xml end def test_should_serialize_string @@ -81,6 +84,10 @@ class DefaultXmlSerializationTest < Test::Unit::TestCase def test_should_serialize_boolean assert_match %r{false}, @xml end + + def test_should_serialize_yaml + assert_match %r{--- \n:gem: ruby\n}, @xml + end end class NilXmlSerializationTest < Test::Unit::TestCase @@ -109,6 +116,10 @@ class NilXmlSerializationTest < Test::Unit::TestCase def test_should_serialize_boolean assert_match %r{}, @xml end + + def test_should_serialize_yaml + assert_match %r{}, @xml + end end class DatabaseConnectedXmlSerializationTest < Test::Unit::TestCase -- cgit v1.2.3