Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixes issue with uppercase extension and default style on to_s method…

…. Fixes issue #385.
  • Loading branch information...
commit 0708cd43866be838c9cf577a746b9aefcb1d8384 1 parent fc792c8
@armyofgnomes armyofgnomes authored
View
2  lib/paperclip/attachment.rb
@@ -127,7 +127,7 @@ def path style_name = default_style
end
# Alias to +url+
- def to_s style_name = nil
+ def to_s style_name = default_style
url(style_name)
end
View
40 test/attachment_test.rb
@@ -486,6 +486,46 @@ def do_after_all; end
assert_equal "sheep_say_bæ.png", @dummy.avatar.original_filename
end
end
+
+ context "Attachment with uppercase extension and a default style" do
+ setup do
+ @old_defaults = Paperclip::Attachment.default_options.dup
+ Paperclip::Attachment.default_options.merge!({
+ :path => ":rails_root/tmp/:attachment/:class/:style/:id/:basename.:extension"
+ })
+ FileUtils.rm_rf("tmp")
+ rebuild_model
+ @instance = Dummy.new
+ @instance.stubs(:id).returns 123
+
+ @file = File.new(File.join(File.dirname(__FILE__), "fixtures", "uppercase.PNG"), 'rb')
+
+ styles = {:styles => { :large => ["400x400", :jpg],
+ :medium => ["100x100", :jpg],
+ :small => ["32x32#", :jpg]},
+ :default_style => :small}
+ @attachment = Paperclip::Attachment.new(:avatar,
+ @instance,
+ styles)
+ now = Time.now
+ Time.stubs(:now).returns(now)
+ @attachment.assign(@file)
+ @attachment.save
+ end
+
+ teardown do
+ @file.close
+ Paperclip::Attachment.default_options.merge!(@old_defaults)
+ end
+
+ should "should have matching to_s and url methods" do
+ file = @attachment.to_file
+ assert file
+ assert_match @attachment.to_s, @attachment.url
+ assert_match @attachment.to_s(:small), @attachment.url(:small)
+ file.close
+ end
+ end
context "An attachment" do
setup do
View
BIN  test/fixtures/uppercase.PNG
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Please sign in to comment.
Something went wrong with that request. Please try again.