Commit cf3a735f by Jon Yurek

Whitespace on content_type, etc are stripped.

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