test/task_test.rb in paperdragon-0.0.3 vs test/task_test.rb in paperdragon-0.0.4
- old
+ new
@@ -46,52 +46,64 @@
original.process!(logo) # original/uid exists.
exists?(original.uid).must_equal true
end
subject { Attachment.new({
- :original=>{:uid=>"original/pic.jpg"}, :thumb=>{:uid=>"original/thumb.jpg"}}).task
+ :original=>{:uid=>"original/pic.jpg"}, :thumb=>{:uid=>"original/thumb.jpg"}, :bigger=>{:uid=>"original/bigger.jpg"}}).task
}
it do
subject.reprocess!(:original, "1", original)
subject.reprocess!(:thumb, "1", original) { |j| j.thumb!("16x16") }
# FIXME: fingerprint should be added before .png suffix.
- subject.metadata_hash.must_equal({:original=>{:width=>216, :height=>63, :uid=>"original/pic-1.jpg"}, :thumb=>{:width=>16, :height=>5, :uid=>"original/thumb-1.jpg"}})
+ subject.metadata_hash.must_equal({:original=>{:width=>216, :height=>63, :uid=>"original/pic-1.jpg"}, :thumb=>{:width=>16, :height=>5, :uid=>"original/thumb-1.jpg"}, :bigger=>{:uid=>"original/bigger.jpg"}})
# exists?(original.uri).must_equal false # deleted
# exists?(new_uid).must_equal true
end
# don't pass in fingerprint+original.
it do
subject.reprocess!(:thumb) { |j| j.thumb!("24x24") }
- subject.metadata_hash.must_equal({:original=>{:uid=>"original/pic.jpg"}, :thumb=>{:width=>24, :height=>7, :uid=>"original/thumb-.jpg"}})
+ subject.reprocess!(:bigger) { |j| j.thumb!("48x48") }
+
+ subject.metadata_hash.must_equal({:original=>{:uid=>"original/pic.jpg"}, :thumb=>{:width=>24, :height=>7, :uid=>"original/thumb-.jpg"}, :bigger=>{:uid=>"original/bigger-.jpg", :width=>48, :height=>14}})
end
+ # don't pass in original, this must NOT reload the original file more than once!
+ it do
+ subject.reprocess!(:thumb, 1) { |j| j.thumb!("24x24") }
+ File.unlink("public/paperdragon/#{original.uid}") # removing means the original MUST be cached for next step.
+ subject.reprocess!(:bigger, 1) { |j| j.thumb!("48x48") }
+
+ subject.metadata_hash.must_equal(
+ {:original=>{:uid=>"original/pic.jpg"}, :thumb=>{:width=>24, :height=>7, :uid=>"original/thumb-1.jpg"}, :bigger=>{:uid=>"original/bigger-1.jpg", :width=>48, :height=>14}})
+ end
+
# only process one, should return entire metadata hash
it do
subject.reprocess!(:thumb, "new") { |j| j.thumb!("24x24") }
- subject.metadata_hash.must_equal({:original=>{:uid=>"original/pic.jpg"}, :thumb=>{:width=>24, :height=>7, :uid=>"original/thumb-new.jpg"}})
+ subject.metadata_hash.must_equal({:original=>{:uid=>"original/pic.jpg"}, :thumb=>{:width=>24, :height=>7, :uid=>"original/thumb-new.jpg"}, :bigger=>{:uid=>"original/bigger.jpg"}})
# original must be unchanged
exists?(Attachment.new(subject.metadata_hash)[:original].uid).must_equal true
end
# #rebuild_uid tries to replace existing fingerprint (default behaviour).
it do
subject.reprocess!(:thumb, "1234567890") { |j| j.thumb!("24x24") }
metadata = subject.metadata_hash
- metadata.must_equal({:original=>{:uid=>"original/pic.jpg"}, :thumb=>{:width=>24, :height=>7, :uid=>"original/thumb-1234567890.jpg"}})
+ metadata.must_equal({:original=>{:uid=>"original/pic.jpg"}, :thumb=>{:width=>24, :height=>7, :uid=>"original/thumb-1234567890.jpg"}, :bigger=>{:uid=>"original/bigger.jpg"}})
# this might happen in the next request.
subject = Attachment.new(metadata).task
subject.reprocess!(:thumb, "0987654321") { |j| j.thumb!("24x24") }
- subject.metadata_hash.must_equal({:original=>{:uid=>"original/pic.jpg"}, :thumb=>{:width=>24, :height=>7, :uid=>"original/thumb-0987654321.jpg"}})
+ subject.metadata_hash.must_equal({:original=>{:uid=>"original/pic.jpg"}, :thumb=>{:width=>24, :height=>7, :uid=>"original/thumb-0987654321.jpg"}, :bigger=>{:uid=>"original/bigger.jpg"}})
end
# #rebuild_uid eats integers.
- it { subject.reprocess!(:thumb, 1234081599) { |j| j.thumb!("24x24") }.must_equal({:original=>{:uid=>"original/pic.jpg"}, :thumb=>{:width=>24, :height=>7, :uid=>"original/thumb-1234081599.jpg"}}) }
+ it { subject.reprocess!(:thumb, 1234081599) { |j| j.thumb!("24x24") }.must_equal({:original=>{:uid=>"original/pic.jpg"}, :thumb=>{:width=>24, :height=>7, :uid=>"original/thumb-1234081599.jpg"}, :bigger=>{:uid=>"original/bigger.jpg"}}) }
end
describe "#rename!" do
before do