Commit cf3a735f by Jon Yurek

Whitespace on content_type, etc are stripped.

parent 91272d87
......@@ -58,9 +58,9 @@ module Paperclip
return nil if uploaded_file.nil?
@queued_for_write[:original] = uploaded_file.to_tempfile
@instance[:"#{@name}_file_name"] = uploaded_file.original_filename
@instance[:"#{@name}_content_type"] = uploaded_file.content_type
@instance[:"#{@name}_file_size"] = uploaded_file.size
@instance[:"#{@name}_file_name"] = uploaded_file.original_filename.strip
@instance[:"#{@name}_content_type"] = uploaded_file.content_type.strip
@instance[:"#{@name}_file_size"] = uploaded_file.size.to_i
@dirty = true
......@@ -202,7 +202,6 @@ module Paperclip
@styles.each do |name, args|
begin
dimensions, format = args
dimensions = dimensions.call(instance) if dimensions.respond_to?(:call)
@queued_for_write[name] = Thumbnail.make(@queued_for_write[:original],
dimensions,
format,
......
......@@ -70,41 +70,48 @@ class AttachmentTest < Test::Unit::TestCase
end
end
context "An attachment with a style that is a proc" do
context "An attachment with similarly named interpolations" do
setup do
rebuild_model :styles => {:custom => proc{|i| "#{i.width}x#{i.height}#{i.modifier}"}}
Dummy.class_eval do
attr_accessor :height, :width, :modifier
end
rebuild_model :path => ":id.omg/:id-bbq/:idwhat/:id_partition.wtf"
@dummy = Dummy.new
@dummy.stubs(:id).returns(1024)
@file = File.new(File.join(File.dirname(__FILE__),
"fixtures",
"5k.png"))
@dummy.avatar = @file
end
should "create a thumbnail with size 100x1000!" do
@dummy.height = 1000
@dummy.width = 100
@dummy.modifier = "!"
@dummy.avatar = @file
assert @dummy.save
assert_match(/100x1000/, `identify #{@dummy.avatar.path(:custom)}`)
should "make sure that they are interpolated correctly" do
assert_equal "1024.omg/1024-bbq/1024what/000/001/024.wtf", @dummy.avatar.path
end
end
context "An attachment with similarly named interpolations" do
context "Assigning an attachment" do
setup do
rebuild_model :path => ":id.omg/:id-bbq/:idwhat/:id_partition.wtf"
rebuild_model
@not_file = mock
@not_file.stubs(:nil?).returns(false)
@not_file.expects(:to_tempfile).returns(self)
@not_file.expects(:original_filename).returns("filename.png\r\n")
@not_file.expects(:content_type).returns("image/png\r\n")
@not_file.expects(:size).returns(10)
@dummy = Dummy.new
@dummy.stubs(:id).returns(1024)
@file = File.new(File.join(File.dirname(__FILE__),
"fixtures",
"5k.png"))
@dummy.avatar = @file
@attachment = @dummy.avatar
@attachment.expects(:valid_assignment?).with(@not_file).returns(true)
@attachment.expects(:queue_existing_for_delete)
@attachment.expects(:post_process)
@attachment.expects(:validate)
@dummy.avatar = @not_file
end
should "make sure that they are interpolated correctly" do
assert_equal "1024.omg/1024-bbq/1024what/000/001/024.wtf", @dummy.avatar.path
should "strip whitespace from original_filename field" do
assert_equal "filename.png", @dummy.avatar.original_filename
end
should "strip whitespace from content_type field" do
assert_equal "image/png", @dummy.avatar.instance.avatar_content_type
end
end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment