X-Git-Url: https://projects.mako.cc/source/selectricity-live/blobdiff_plain/6a935d078f20d2b1b0d60f0a30c41a642d40758a..5e74f498cd2f8d765e309ca52a45a7c2db0a1a6f:/vendor/plugins/attachment_fu/test/basic_test.rb diff --git a/vendor/plugins/attachment_fu/test/basic_test.rb b/vendor/plugins/attachment_fu/test/basic_test.rb new file mode 100644 index 0000000..f8f881c --- /dev/null +++ b/vendor/plugins/attachment_fu/test/basic_test.rb @@ -0,0 +1,64 @@ +require File.expand_path(File.join(File.dirname(__FILE__), 'test_helper')) + +class BasicTest < Test::Unit::TestCase + def test_should_set_default_min_size + assert_equal 1, Attachment.attachment_options[:min_size] + end + + def test_should_set_default_max_size + assert_equal 1.megabyte, Attachment.attachment_options[:max_size] + end + + def test_should_set_default_size + assert_equal (1..1.megabyte), Attachment.attachment_options[:size] + end + + def test_should_set_default_thumbnails_option + assert_equal Hash.new, Attachment.attachment_options[:thumbnails] + end + + def test_should_set_default_thumbnail_class + assert_equal Attachment, Attachment.attachment_options[:thumbnail_class] + end + + def test_should_normalize_content_types_to_array + assert_equal %w(pdf), PdfAttachment.attachment_options[:content_type] + assert_equal %w(pdf doc txt), DocAttachment.attachment_options[:content_type] + assert_equal ['image/jpeg', 'image/pjpeg', 'image/gif', 'image/png', 'image/x-png', 'image/jpg'], ImageAttachment.attachment_options[:content_type] + assert_equal ['pdf', 'image/jpeg', 'image/pjpeg', 'image/gif', 'image/png', 'image/x-png', 'image/jpg'], ImageOrPdfAttachment.attachment_options[:content_type] + end + + def test_should_sanitize_content_type + @attachment = Attachment.new :content_type => ' foo ' + assert_equal 'foo', @attachment.content_type + end + + def test_should_sanitize_filenames + @attachment = Attachment.new :filename => 'blah/foo.bar' + assert_equal 'foo.bar', @attachment.filename + + @attachment.filename = 'blah\\foo.bar' + assert_equal 'foo.bar', @attachment.filename + + @attachment.filename = 'f o!O-.bar' + assert_equal 'f_o_O-.bar', @attachment.filename + end + + def test_should_convert_thumbnail_name + @attachment = FileAttachment.new :filename => 'foo.bar' + assert_equal 'foo.bar', @attachment.thumbnail_name_for(nil) + assert_equal 'foo.bar', @attachment.thumbnail_name_for('') + assert_equal 'foo_blah.bar', @attachment.thumbnail_name_for(:blah) + assert_equal 'foo_blah.blah.bar', @attachment.thumbnail_name_for('blah.blah') + + @attachment.filename = 'foo.bar.baz' + assert_equal 'foo.bar_blah.baz', @attachment.thumbnail_name_for(:blah) + end + + def test_should_require_valid_thumbnails_option + klass = Class.new(ActiveRecord::Base) + assert_raise ArgumentError do + klass.has_attachment :thumbnails => [] + end + end +end \ No newline at end of file