Skip to content
Browse files

Complex struct encoding test

Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
  • Loading branch information...
1 parent d75ff73 commit d2c17dbd11417012c47b9ac48c62651a1415de5d @anayden anayden committed with spastorino Jan 13, 2011
Showing with 23 additions and 0 deletions.
  1. +23 −0 activesupport/test/json/encoding_test.rb
View
23 activesupport/test/json/encoding_test.rb
@@ -215,6 +215,29 @@ def test_array_should_pass_encoding_options_to_children_in_to_json
assert_equal(%([{"address":{"city":"London"}},{"address":{"city":"Paris"}}]), json)
end
+ def test_struct_encoding
+ Struct.new('UserNameAndEmail', :name, :email)
+ Struct.new('UserNameAndDate', :name, :date)
+ Struct.new('Custom', :name, :sub)
+ user_email = Struct::UserNameAndEmail.new 'David', 'sample@example.com'
+ user_birthday = Struct::UserNameAndDate.new 'David', Date.new(2010, 01, 01)
+ custom = Struct::Custom.new 'David', user_birthday
+
+
+ json_strings = ""
+ json_string_and_date = ""
+ json_custom = ""
+
+ assert_nothing_raised do
+ json_strings = user_email.to_json
+ json_string_and_date = user_birthday.to_json
+ json_custom = custom.to_json
+ end
+
+ assert_equal %({"name":"David","email":"sample@example.com"}), json_strings
+ assert_equal %({"name":"David","date":"2010/01/01"}), json_string_and_date
+ assert_equal %({"sub":{"name":"David","date":"2010/01/01"},"name":"David"}), json_custom
+ end
protected

0 comments on commit d2c17db

Please sign in to comment.
Something went wrong with that request. Please try again.