Sha256: 56e782143e95ab9e7b98b350fdc28afe3f12159515119c2c6618ba9bebd76095

Contents?: true

Size: 1.85 KB

Versions: 1

Compression:

Stored size: 1.85 KB

Contents

require File.join(File.dirname(__FILE__), *%w[.. test_helper])

class MumWidget < MouseCell; end

class WidgetShortcutsTest < Test::Unit::TestCase
  context "#cell" do
    should "create a MouseCell instance for backward-compatibility" do
      assert_kind_of MouseCell, cell(:mouse, :eating, 'mum')
    end
  end
  
  context "#widget" do
    context "with all arguments" do
      setup do
        @mum = widget(:mum_widget, 'mum', :eating)
      end
      
      should "create a MumWidget instance" do
        assert_kind_of MumWidget, @mum
        assert_equal :eating, @mum.instance_variable_get(:@start_state)
        assert_equal 'mum', @mum.name
      end
    end
    
    context "with id only" do
      setup do
        @mum = widget(:mum_widget, 'mum')
      end
      
      should "create a MumWidget instance with :display start state" do
        assert_kind_of MumWidget, @mum
        assert_equal :display, @mum.instance_variable_get(:@start_state)
        assert_equal 'mum', @mum.name
      end
    end
    
    should "yield itself" do
      @mum = widget(:mum_widget, :snuggle, 'mum') do |mum|
        assert_kind_of MumWidget, mum
        mum << widget(:mum_widget, 'kid', :sleep)
      end
      assert_equal 2, @mum.size
      assert_kind_of MumWidget, @mum['kid']
    end
  end
  
  context "#container" do
    setup do
      @family = container('family')
    end
    
    should "create a ContainerWidget instance" do
      assert_kind_of ::Apotomo::ContainerWidget, @family
      assert_equal 'family', @family.name
    end
    
    should "yield itself" do
      @container = container(:family) do |family|
        family << widget(:mum_widget, 'mum')
      end
      assert_equal 2, @container.size
    end
    
    should "be aliased to #section for backward-compatibility" do
      assert_kind_of ::Apotomo::ContainerWidget, section('family')
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
apotomo-0.1.1 test/unit/widget_shortcuts_test.rb