Sha256: b5c9d9b8437a5255e8f85cbe528578fb94305d64646ca3a425601094c856b084

Contents?: true

Size: 1.44 KB

Versions: 6

Compression:

Stored size: 1.44 KB

Contents

require 'helper'

describe Stage do
  inject_mocks :input_manager, :actor_factory, :resource_manager, 
    :sound_manager, :config_manager, :director, :this_object_context,
    :timer_manager, :viewport

  before do
    @renderer = stub('renderer', :clear_drawables)
    subject.stubs(:renderer).returns @renderer

    @viewport.stubs(:reset)
    subject.configure(:backstage, {})
  end

  describe "#configure" do

    it 'assigns backstage' do
      subject.backstage.should == :backstage
    end
  end

  describe "#create_actor" do
    it 'uses the actor factory to create an actor' do
      @actor_factory.stubs(:build).with(:foo, :bar).returns(:my_new_actor)
      subject.create_actor(:foo, :bar).should == :my_new_actor
    end
  end

  describe "#spawn" do
    it 'uses the actor factory to create an actor' do
      @actor_factory.stubs(:build).with(:foo, :bar).returns(:my_new_actor)
      subject.spawn(:foo, :bar).should == :my_new_actor
    end
  end

  describe "#create_actors_from_svg" do
    it 'maybe sticks around?'
  end

  describe "#draw" do
    it 'passes through to the renderer' do
      @renderer.expects(:draw).with(:target)
      subject.draw(:target)
    end
  end

  describe "#update" do
    it 'distributes the update' do
      @director.expects(:update).with(:time)
      @viewport.expects(:update).with(:time)
      @timer_manager.expects(:update).with(:time)
      subject.update(:time)
    end

    it 'checks for collisions'
  end


end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
gamebox-0.5.5 spec/core/stage_spec.rb
gamebox-0.5.4 spec/core/stage_spec.rb
gamebox-0.5.2 spec/core/stage_spec.rb
gamebox-0.5.1 spec/core/stage_spec.rb
gamebox-0.5.0 spec/core/stage_spec.rb
gamebox-0.4.1 spec/core/stage_spec.rb