diff options
author | Ryan Davidson <daviryan@aol.com> | 2018-05-06 16:25:05 +0100 |
---|---|---|
committer | Ryan Davidson <daviryan@aol.com> | 2018-05-08 23:01:57 +0100 |
commit | 8e98bb7758f081622ab5c4eebf3730cce22ee627 (patch) | |
tree | 005431e48933ba96e655a56fabd436bcba442c1a /activestorage/test | |
parent | 5c7656d9a568fda855e6e558b7e44b1ba51425be (diff) | |
download | rails-8e98bb7758f081622ab5c4eebf3730cce22ee627.tar.gz rails-8e98bb7758f081622ab5c4eebf3730cce22ee627.tar.bz2 rails-8e98bb7758f081622ab5c4eebf3730cce22ee627.zip |
Add option to ActiveStorage::Blob to set extract_content_type_from_io
This adds a boolean argument called identify to ActiveStorage::Blob
methods #create_after_upload, #build_after_upload and #upload. It
allows a user to bypass the automatic content_type inference from
the io.
Diffstat (limited to 'activestorage/test')
-rw-r--r-- | activestorage/test/models/blob_test.rb | 10 | ||||
-rw-r--r-- | activestorage/test/test_helper.rb | 4 |
2 files changed, 12 insertions, 2 deletions
diff --git a/activestorage/test/models/blob_test.rb b/activestorage/test/models/blob_test.rb index daa01015f7..17151117db 100644 --- a/activestorage/test/models/blob_test.rb +++ b/activestorage/test/models/blob_test.rb @@ -43,6 +43,16 @@ class ActiveStorage::BlobTest < ActiveSupport::TestCase assert_equal "text/plain", blob.content_type end + test "create after upload extracts content_type from io when no content_type given and identify: false" do + blob = create_blob content_type: nil, identify: false + assert_equal "text/plain", blob.content_type + end + + test "create after upload uses content_type when identify: false" do + blob = create_blob data: "Article,dates,analysis\n1, 2, 3", filename: "table.csv", content_type: "text/csv", identify: false + assert_equal "text/csv", blob.content_type + end + test "image?" do blob = create_file_blob filename: "racecar.jpg" assert_predicate blob, :image? diff --git a/activestorage/test/test_helper.rb b/activestorage/test/test_helper.rb index 499d955a2f..573a8e0b0b 100644 --- a/activestorage/test/test_helper.rb +++ b/activestorage/test/test_helper.rb @@ -50,8 +50,8 @@ class ActiveSupport::TestCase end private - def create_blob(data: "Hello world!", filename: "hello.txt", content_type: "text/plain") - ActiveStorage::Blob.create_after_upload! io: StringIO.new(data), filename: filename, content_type: content_type + def create_blob(data: "Hello world!", filename: "hello.txt", content_type: "text/plain", identify: true) + ActiveStorage::Blob.create_after_upload! io: StringIO.new(data), filename: filename, content_type: content_type, identify: identify end def create_file_blob(filename: "racecar.jpg", content_type: "image/jpeg", metadata: nil) |