Sha256: 73cf05f0b15da924c92a70121c73370fa7f079a346f593a2e84ff311ca197cec

Contents?: true

Size: 1.22 KB

Versions: 144

Compression:

Stored size: 1.22 KB

Contents

class AttrUpdatesTest < UIView

  attr_updates :color
  attr :did_update

  def setNeedsDisplay
    @did_update = true
    super
  end

  def reset!
    @did_update = false
  end

end

describe 'UIView##attr_updates' do

  it 'should assign the ivar' do
    subject = AttrUpdatesTest.new
    subject.color = :red
    subject.color.should == :red
  end

  it 'should reset did_update' do
    subject = AttrUpdatesTest.new
    subject.reset!
    subject.did_update.should == false
  end

  it 'should cause setNeedsDisplay to be called' do
    subject = AttrUpdatesTest.new
    subject.reset!
    subject.did_update.should == false
    subject.color = :red  # value changed from nil
    subject.color.should == :red
    subject.did_update.should == true
  end

  it 'should not cause setNeedsDisplay to be called if the value doesn\'t change' do
    subject = AttrUpdatesTest.new
    subject.reset!
    subject.did_update.should == false
    subject.color = :red  # value changed from nil
    subject.color.should == :red
    subject.did_update.should == true
    subject.reset!
    subject.did_update.should == false
    subject.color = :red  # same value, so no update
    subject.color.should == :red
    subject.did_update.should == false
  end

end

Version data entries

144 entries across 144 versions & 1 rubygems

Version Path
sugarcube-4.0.0 spec/ios/uiview_attr_updates_spec.rb
sugarcube-3.5.0 spec/ios/uiview_attr_updates_spec.rb
sugarcube-3.4.2 spec/ios/uiview_attr_updates_spec.rb
sugarcube-3.4.1 spec/ios/uiview_attr_updates_spec.rb
sugarcube-3.4.0 spec/ios/uiview_attr_updates_spec.rb
sugarcube-3.3.7 spec/ios/uiview_attr_updates_spec.rb
sugarcube-3.3.6 spec/ios/uiview_attr_updates_spec.rb
sugarcube-3.3.5 spec/ios/uiview_attr_updates_spec.rb
sugarcube-3.3.4 spec/ios/uiview_attr_updates_spec.rb
sugarcube-3.3.3 spec/ios/uiview_attr_updates_spec.rb
sugarcube-3.3.2 spec/ios/uiview_attr_updates_spec.rb
sugarcube-3.3.1 spec/ios/uiview_attr_updates_spec.rb
sugarcube-3.3.0 spec/ios/uiview_attr_updates_spec.rb
sugarcube-3.2.0 spec/ios/uiview_attr_updates_spec.rb
sugarcube-3.1.1 spec/ios/uiview_attr_updates_spec.rb
sugarcube-3.1.0 spec/ios/uiview_attr_updates_spec.rb
sugarcube-3.0.8 spec/ios/uiview_attr_updates_spec.rb
sugarcube-3.0.7 spec/ios/uiview_attr_updates_spec.rb
sugarcube-3.0.6 spec/ios/uiview_attr_updates_spec.rb
sugarcube-3.0.5 spec/ios/uiview_attr_updates_spec.rb