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:
parent
94bfebb3fa
commit
fb1f07049f
3 changed files with 37 additions and 0 deletions
|
@ -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>
|
||||
|
||||
* ext/win32ole/win32ole.c, ext/openssl/ossl_pkey_dsa.c,
|
||||
|
|
|
@ -48,4 +48,12 @@ class OpenStruct
|
|||
end
|
||||
str << ">"
|
||||
end
|
||||
|
||||
attr_reader :table
|
||||
protected :table
|
||||
|
||||
def ==(other)
|
||||
return false unless(other.kind_of?(OpenStruct))
|
||||
return @table == other.table
|
||||
end
|
||||
end
|
||||
|
|
23
test/ostruct/test_ostruct.rb
Normal file
23
test/ostruct/test_ostruct.rb
Normal 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
|
Loading…
Reference in a new issue