From d0d6cec34e7057812c6c584cfc1969ad32d12008 Mon Sep 17 00:00:00 2001 From: Kyle Drake Date: Wed, 25 Feb 2015 14:24:52 -0800 Subject: [PATCH] permit uploading of empty files #85 --- models/site.rb | 2 +- tests/site_file_tests.rb | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/models/site.rb b/models/site.rb index 9b26a8ab..fda6cace 100644 --- a/models/site.rb +++ b/models/site.rb @@ -493,7 +493,7 @@ class Site < Sequel::Model # extname = uploaded_file[:filename] #end - unless (Site::VALID_MIME_TYPES.include?(mime_type) || mime_type =~ /text/) && + unless (Site::VALID_MIME_TYPES.include?(mime_type) || mime_type =~ /text/ || mime_type =~ /inode\/x-empty/) && Site::VALID_EXTENSIONS.include?(extname.sub(/^./, '').downcase) return false end diff --git a/tests/site_file_tests.rb b/tests/site_file_tests.rb index d0e8d8da..33b9b945 100644 --- a/tests/site_file_tests.rb +++ b/tests/site_file_tests.rb @@ -48,6 +48,11 @@ describe 'site_files' do end describe 'upload' do + it 'works with empty files' do + upload 'files[]' => Rack::Test::UploadedFile.new('./tests/files/empty.js', 'text/javascript') + File.exists?(@site.files_path('empty.js')).must_equal true + end + it 'manages files with invalid UTF8' do upload 'files[]' => Rack::Test::UploadedFile.new('./tests/files/invalidutf8.html', 'text/html') File.exists?(@site.files_path('invalidutf8.html')).must_equal true