Sha256: b0dcb217b9279a62d6c87e12908955fe8181d46ed1f3ffe57b082960be20dcf5

Contents?: true

Size: 1.25 KB

Versions: 3

Compression:

Stored size: 1.25 KB

Contents

require_relative './lib/wxapp_runner'

class TestArtProvider < Test::Unit::TestCase

  class MyArtProvider < Wx::ArtProvider

    class << self
      def is_called?
        !!@called
      end
      def set_called(f = true)
        @called = f
      end
    end

    def create_bitmap(id, client, size)
      if id == Wx::ArtProvider.get_message_box_icon_id(Wx::ICON_INFORMATION)
        MyArtProvider.set_called
        Wx::Bitmap(:sample3)
      else
        MyArtProvider.set_called(false)
        super
      end
    end

  end

  def test_custom_provider
    assert_not_nil(Wx::ArtProvider.get_message_box_icon(Wx::ICON_INFORMATION))
    GC.start
    assert(!MyArtProvider.is_called?)
    GC.start
    assert_nothing_raised { Wx::ArtProvider.push(MyArtProvider.new) }
    GC.start
    assert_not_nil(Wx::ArtProvider.get_message_box_icon(Wx::ICON_INFORMATION))
    GC.start
    assert(MyArtProvider.is_called?)
    GC.start
    assert_not_nil(Wx::ArtProvider.get_message_box_icon(Wx::ICON_ERROR))
    GC.start
    assert(!MyArtProvider.is_called?)
    GC.start
    assert_nothing_raised { Wx::ArtProvider.pop }
    GC.start
    assert_not_nil(Wx::ArtProvider.get_message_box_icon(Wx::ICON_INFORMATION))
    GC.start
    assert(!MyArtProvider.is_called?)
    GC.start
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
wxruby3-0.9.0.pre.rc.3 tests/test_art_provider.rb
wxruby3-0.9.0.pre.rc.2 tests/test_art_provider.rb
wxruby3-0.9.0.pre.rc.1 tests/test_art_provider.rb