Skip to content

Instantly share code, notes, and snippets.

@Groogy
Created December 24, 2012 05:07
Show Gist options
  • Save Groogy/4367688 to your computer and use it in GitHub Desktop.
Save Groogy/4367688 to your computer and use it in GitHub Desktop.
require "dist/frozen-urchin.jar"
require 'external/jsfml.jar'
class StubDrawable
include Java::org.jsfml.graphics.Drawable
def draw(*args)
end
end
describe Java::org.fu.Renderer do
before :each do
@renderer = Java::org.fu.Renderer.new
@drawer = mock("renderer-drawer")
@drawer.extend(Java::org.fu.RendererDrawer)
@drawer.stub(:name).and_return("org.fu.test.StubDrawer")
@drawer.stub(:expected_input).and_return(StubDrawable)
end
it "should not call #run on drawer with empty scene" do
@drawer.should_not_receive :run
@renderer.add_module(@drawer)
@renderer.generateFrame()
end
it "should call #run on drawer with non-empty scene" do
@drawer.should_receive(:run).with(StubDrawable)
@renderer.add_module(@drawer)
3.times do
expect { @renderer.add_drawable(StubDrawable.new, @drawer.name) }.to_not raise_error
end
@renderer.generateFrame()
end
it "should properly handle drawables depending on modules" do
expect { @renderer.add_drawable(StubDrawable.new, @drawer.name) }.to raise_error(Java::org.fu.RendererDrawerNotFoundError)
@renderer.add_module(@drawer)
expect { @renderer.add_drawable(StubDrawable.new, @drawer.name) }.to_not raise_error
@renderer.num_drawables(StubDrawable).should == 1
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment