mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Complex struct encoding test
Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
This commit is contained in:
parent
d75ff73a72
commit
d2c17dbd11
1 changed files with 23 additions and 0 deletions
|
@ -215,6 +215,29 @@ class TestJSONEncoding < Test::Unit::TestCase
|
|||
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
|
||||
|
||||
|
|
Loading…
Reference in a new issue