1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/ostruct.rb: Added OpenStruct#==.

* test/ostruct/test_ostruct.rb: Added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4596 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ntalbott 2003-09-25 00:03:11 +00:00
parent 94bfebb3fa
commit fb1f07049f
3 changed files with 37 additions and 0 deletions

View file

@ -1,3 +1,9 @@
Thu Sep 25 09:00:00 2003 Nathaniel Talbott <ntalbott@ruby-lang.org>
* lib/ostruct.rb: Added OpenStruct#==.
* test/ostruct/test_ostruct.rb: Added.
Thu Sep 25 07:55:26 2003 Nobuyoshi Nakada <nobu@ruby-lang.org> Thu Sep 25 07:55:26 2003 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/win32ole/win32ole.c, ext/openssl/ossl_pkey_dsa.c, * ext/win32ole/win32ole.c, ext/openssl/ossl_pkey_dsa.c,

View file

@ -48,4 +48,12 @@ class OpenStruct
end end
str << ">" str << ">"
end end
attr_reader :table
protected :table
def ==(other)
return false unless(other.kind_of?(OpenStruct))
return @table == other.table
end
end end

View file

@ -0,0 +1,23 @@
require 'test/unit'
require 'ostruct'
class TC_OpenStruct < Test::Unit::TestCase
def test_equality
o1 = OpenStruct.new
o2 = OpenStruct.new
assert_equal(o1, o2)
o1.a = 'a'
assert_not_equal(o1, o2)
o2.a = 'a'
assert_equal(o1, o2)
o1.a = 'b'
assert_not_equal(o1, o2)
o2 = Object.new
o2.instance_eval{@table = {:a => 'b'}}
assert_not_equal(o1, o2)
end
end