summaryrefslogtreecommitdiff
path: root/vendor/plugins/paperclip/test/thumbnail_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/plugins/paperclip/test/thumbnail_test.rb')
-rw-r--r--vendor/plugins/paperclip/test/thumbnail_test.rb177
1 files changed, 0 insertions, 177 deletions
diff --git a/vendor/plugins/paperclip/test/thumbnail_test.rb b/vendor/plugins/paperclip/test/thumbnail_test.rb
deleted file mode 100644
index 624e7fa..0000000
--- a/vendor/plugins/paperclip/test/thumbnail_test.rb
+++ /dev/null
@@ -1,177 +0,0 @@
1require 'test/helper'
2
3class ThumbnailTest < Test::Unit::TestCase
4
5 context "A Paperclip Tempfile" do
6 setup do
7 @tempfile = Paperclip::Tempfile.new("file.jpg")
8 end
9
10 should "have its path contain a real extension" do
11 assert_equal ".jpg", File.extname(@tempfile.path)
12 end
13
14 should "be a real Tempfile" do
15 assert @tempfile.is_a?(::Tempfile)
16 end
17 end
18
19 context "Another Paperclip Tempfile" do
20 setup do
21 @tempfile = Paperclip::Tempfile.new("file")
22 end
23
24 should "not have an extension if not given one" do
25 assert_equal "", File.extname(@tempfile.path)
26 end
27
28 should "still be a real Tempfile" do
29 assert @tempfile.is_a?(::Tempfile)
30 end
31 end
32
33 context "An image" do
34 setup do
35 @file = File.new(File.join(File.dirname(__FILE__), "fixtures", "5k.png"), 'rb')
36 end
37
38 teardown { @file.close }
39
40 [["600x600>", "434x66"],
41 ["400x400>", "400x61"],
42 ["32x32<", "434x66"]
43 ].each do |args|
44 context "being thumbnailed with a geometry of #{args[0]}" do
45 setup do
46 @thumb = Paperclip::Thumbnail.new(@file, :geometry => args[0])
47 end
48
49 should "start with dimensions of 434x66" do
50 cmd = %Q[identify -format "%wx%h" "#{@file.path}"]
51 assert_equal "434x66", `#{cmd}`.chomp
52 end
53
54 should "report the correct target geometry" do
55 assert_equal args[0], @thumb.target_geometry.to_s
56 end
57
58 context "when made" do
59 setup do
60 @thumb_result = @thumb.make
61 end
62
63 should "be the size we expect it to be" do
64 cmd = %Q[identify -format "%wx%h" "#{@thumb_result.path}"]
65 assert_equal args[1], `#{cmd}`.chomp
66 end
67 end
68 end
69 end
70
71 context "being thumbnailed at 100x50 with cropping" do
72 setup do
73 @thumb = Paperclip::Thumbnail.new(@file, :geometry => "100x50#")
74 end
75
76 should "report its correct current and target geometries" do
77 assert_equal "100x50#", @thumb.target_geometry.to_s
78 assert_equal "434x66", @thumb.current_geometry.to_s
79 end
80
81 should "report its correct format" do
82 assert_nil @thumb.format
83 end
84
85 should "have whiny turned on by default" do
86 assert @thumb.whiny
87 end
88
89 should "have convert_options set to nil by default" do
90 assert_equal nil, @thumb.convert_options
91 end
92
93 should "send the right command to convert when sent #make" do
94 Paperclip.expects(:"`").with do |arg|
95 arg.match %r{convert\s+"#{File.expand_path(@thumb.file.path)}\[0\]"\s+-resize\s+\"x50\"\s+-crop\s+\"100x50\+114\+0\"\s+\+repage\s+".*?"}
96 end
97 @thumb.make
98 end
99
100 should "create the thumbnail when sent #make" do
101 dst = @thumb.make
102 assert_match /100x50/, `identify "#{dst.path}"`
103 end
104 end
105
106 context "being thumbnailed with convert options set" do
107 setup do
108 @thumb = Paperclip::Thumbnail.new(@file,
109 :geometry => "100x50#",
110 :convert_options => "-strip -depth 8")
111 end
112
113 should "have convert_options value set" do
114 assert_equal "-strip -depth 8", @thumb.convert_options
115 end
116
117 should "send the right command to convert when sent #make" do
118 Paperclip.expects(:"`").with do |arg|
119 arg.match %r{convert\s+"#{File.expand_path(@thumb.file.path)}\[0\]"\s+-resize\s+"x50"\s+-crop\s+"100x50\+114\+0"\s+\+repage\s+-strip\s+-depth\s+8\s+".*?"}
120 end
121 @thumb.make
122 end
123
124 should "create the thumbnail when sent #make" do
125 dst = @thumb.make
126 assert_match /100x50/, `identify "#{dst.path}"`
127 end
128
129 context "redefined to have bad convert_options setting" do
130 setup do
131 @thumb = Paperclip::Thumbnail.new(@file,
132 :geometry => "100x50#",
133 :convert_options => "-this-aint-no-option")
134 end
135
136 should "error when trying to create the thumbnail" do
137 assert_raises(Paperclip::PaperclipError) do
138 @thumb.make
139 end
140 end
141 end
142 end
143 end
144
145 context "A multipage PDF" do
146 setup do
147 @file = File.new(File.join(File.dirname(__FILE__), "fixtures", "twopage.pdf"), 'rb')
148 end
149
150 teardown { @file.close }
151
152 should "start with two pages with dimensions 612x792" do
153 cmd = %Q[identify -format "%wx%h" "#{@file.path}"]
154 assert_equal "612x792"*2, `#{cmd}`.chomp
155 end
156
157 context "being thumbnailed at 100x100 with cropping" do
158 setup do
159 @thumb = Paperclip::Thumbnail.new(@file, :geometry => "100x100#", :format => :png)
160 end
161
162 should "report its correct current and target geometries" do
163 assert_equal "100x100#", @thumb.target_geometry.to_s
164 assert_equal "612x792", @thumb.current_geometry.to_s
165 end
166
167 should "report its correct format" do
168 assert_equal :png, @thumb.format
169 end
170
171 should "create the thumbnail when sent #make" do
172 dst = @thumb.make
173 assert_match /100x100/, `identify "#{dst.path}"`
174 end
175 end
176 end
177end