Skip to content

Commit 54a8efc

Browse files
committed
Adding tests for both horizontal and vertical sprite generation
1 parent 6a220e1 commit 54a8efc

File tree

2 files changed

+50
-14
lines changed

2 files changed

+50
-14
lines changed

spec/spec_helper.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
# set Sprite.root to be this spec/ folder
1111
Sprite.module_eval{ @root = File.dirname(__FILE__) }
1212

13+
# clear output
14+
FileUtils.rm_rf("#{Sprite.root}/output")
15+
16+
1317
Spec::Runner.configure do |config|
1418

1519
module SpriteSpecHelpers
@@ -19,7 +23,7 @@ def clear_output
1923
end
2024

2125
config.include(SpriteSpecHelpers)
22-
config.before(:all) do
26+
config.before do
2327
end
2428

2529
end

spec/sprite/builder_spec.rb

Lines changed: 45 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,43 +2,75 @@
22

33
describe Sprite::Builder do
44

5-
context "generate android icon sprites" do
5+
context "should generate vertical android icon sprites" do
66
before(:all) do
7-
clear_output
87
@sprite = Sprite::Builder.from_config("resources/configs/android-icons.yml")
8+
@sprite.config["style_output_path"] = "output/android_vertical/stylesheets/android-icons"
9+
@sprite.config["image_output_path"] = "output/android_vertical/images/sprites/"
10+
@sprite.images.first["align"] = "vertical"
911
@sprite.build
12+
13+
@output_path = "#{Sprite.root}/output/android_vertical"
1014
end
1115

12-
it "should generate android.png" do
13-
File.exists?("#{Sprite.root}/output/images/sprites/android-icons.png").should be_true
16+
context "and the sprite result image" do
17+
before(:all) do
18+
combiner = Sprite::ImageCombiner.new
19+
@result_image = combiner.get_image("#{@output_path}/images/sprites/android-icons.png")
20+
@result_properties = combiner.image_properties(@result_image)
21+
end
22+
23+
it "should be 48x2890" do
24+
"#{@result_properties[:width]}x#{@result_properties[:height]}".should == "48x2890"
25+
end
1426
end
1527

16-
it "should generate android-icons.css" do
17-
File.exists?("#{Sprite.root}/output/stylesheets/android-icons.css").should be_true
28+
context "and the sprite result styles" do
29+
before(:all) do
30+
@styles = File.read("#{@output_path}/stylesheets/android-icons.css")
31+
end
32+
33+
it "should have some styles in it" do
34+
@styles.should_not be_nil
35+
@styles.strip.should_not == ""
36+
end
37+
end
38+
end
39+
40+
context "should generate horizontal android icon sprites" do
41+
before(:all) do
42+
@sprite = Sprite::Builder.from_config("resources/configs/android-icons.yml")
43+
@sprite.config["style_output_path"] = "output/android_horizontal/stylesheets/android-icons"
44+
@sprite.config["image_output_path"] = "output/android_horizontal/images/sprites/"
45+
@sprite.images.first["align"] = "horizontal"
46+
@sprite.build
47+
48+
@output_path = "#{Sprite.root}/output/android_horizontal"
1849
end
1950

20-
context "sprite result image" do
51+
context "and the sprite result image" do
2152
before(:all) do
2253
combiner = Sprite::ImageCombiner.new
23-
@result_image = combiner.get_image("#{Sprite.root}/output/images/sprites/android-icons.png")
54+
@result_image = combiner.get_image("#{@output_path}/images/sprites/android-icons.png")
2455
@result_properties = combiner.image_properties(@result_image)
2556
end
2657

2758
it "should be 2890x48" do
28-
@result_properties[:width].should == 48
29-
@result_properties[:height].should == 2890
59+
"#{@result_properties[:width]}x#{@result_properties[:height]}".should == "2890x48"
3060
end
3161
end
3262

33-
context "sprite result styles" do
63+
context "and sprite result styles" do
3464
before(:all) do
35-
@styles = File.read("#{Sprite.root}/output/stylesheets/android-icons.css")
65+
@styles = File.read("#{@output_path}/stylesheets/android-icons.css")
3666
end
3767

3868
it "should have some styles in it" do
3969
@styles.should_not be_nil
70+
@styles.strip.should_not == ""
4071
end
4172
end
4273
end
43-
74+
75+
4476
end

0 commit comments

Comments
 (0)