diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-04-24 03:46:55 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-04-24 03:46:55 +0000 |
commit | 770ddcdfe069f8654a07e0fcc758aea591cdd17d (patch) | |
tree | 36c7009eeab34ae5c08ac62d6005c9ee145b46a3 /test/ostruct | |
parent | b05c95d93f39b95c6c743282ce4d9e674453f12f (diff) |
* hash.c, object.c, struct.c, lib/ostruct.rb: add to_h methods.
[Feature #6276]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ostruct')
-rw-r--r-- | test/ostruct/test_ostruct.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test/ostruct/test_ostruct.rb b/test/ostruct/test_ostruct.rb index dca2382b2b..1826e40e53 100644 --- a/test/ostruct/test_ostruct.rb +++ b/test/ostruct/test_ostruct.rb @@ -73,4 +73,16 @@ class TC_OpenStruct < Test::Unit::TestCase assert_raise(NoMethodError) { o[:foo] } end + def test_to_h + h = {name: "John Smith", age: 70, pension: 300} + os = OpenStruct.new(h) + to_h = os.to_h + assert_equal(h, to_h) + + to_h[:age] = 71 + assert_equal(70, os.age) + assert_equal(70, h[:age]) + + assert_equal(h, OpenStruct.new("name" => "John Smith", "age" => 70, pension: 300).to_h) + end end |