Sha256: f958bb9e0b66eceda682ab52237f6f0b3c974cefd1c76e47695348edcd1cac5e
Contents?: true
Size: 1.12 KB
Versions: 1
Compression:
Stored size: 1.12 KB
Contents
class KVCSettingTest def initialize @ivar_key = 200 @ivar_key_array = [] end def will_change_attribute(key) @ivar_key_array << :will @ivar_key_array << key end def did_change_attribute(key) @ivar_key_array << :did @ivar_key_array << key end def ivar_key_array @ivar_key_array end def ivar_key @ivar_key end end class KVCSettingTest2 def first_name=(first_name) @first_name = "set_kvc_style_#{first_name}" end def first_name @first_name end end describe "Attributes#set_attribute" do it "should call KVO observer methods when setting an ivar" do a = KVCSettingTest.new a.set_attribute 'ivar_key', 100 a.ivar_key_array.should == [:will, 'ivar_key', :did, 'ivar_key'] a.ivar_key.should == 100 end it "should use the designated setter when available" do a = KVCSettingTest2.new a.set_attribute 'first_name', "adam" a.first_name.should == "set_kvc_style_adam" end it "should raise an error when trying to set an unknown key" do a = KVCSettingTest2.new a.set_attribute 'some_random_key_name', 200 end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
opal-0.1.0 | opals/foundation/spec/system/attributes/set_spec.rb |