-
Notifications
You must be signed in to change notification settings - Fork 6
/
sprite_spec.rb
45 lines (32 loc) · 1.36 KB
/
sprite_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
describe Sprite do
before :each do
@sprite = Sprite.new
@builder = ImageBuilder.new
#TODO - We should just create ImageData objects here
@image1 = @builder.build( :width => 50, :height => 50, :name => "image1").to_image
@image2 = @builder.build( :width => 50, :height => 50, :name => "image2").to_image
end
it "can merge an image to the right" do
@sprite.append( @image1 )
@sprite.append( @image2 )
@sprite.images.should == [@image1, @image2]
end
it "knows the location of each image in the sprite" do
@sprite.append( @image1 )
@sprite.append( @image2 )
@sprite.locations[@image1.name.to_sym].should == {:x => -( 0 ), :width=> @image1.width, :height => @image1.height }
@sprite.locations[@image2.name.to_sym].should == {:x => -( @image2.width ), :width=> @image2.width, :height => @image2.height }
end
it "knows the height of the tallest image" do
max_height = 70
@image3 = @builder.build( :width => 50, :height => max_height, :name => "image3")
@sprite.append( @image1 )
@sprite.append( @image3 )
@sprite.max_height.should == max_height
end
it "accepts file names to append to the sprite" do
PNG::Image.should_receive(:image_data).with("dog.png").and_return(@image1)
@sprite.append_file( "dog.png" )
end
end