Merge pull request #1819 from mehlah/refactor-extensions-white/blacklist

Rename file extension filtering methods for consistency
This commit is contained in:
Thomas Drake-Brockman 2016-01-03 03:03:47 +08:00
commit 8076b86da5
30 changed files with 122 additions and 114 deletions

View File

@ -217,7 +217,7 @@ make the record invalid instead. Otherwise, an error is raised.
```ruby
class MyUploader < CarrierWave::Uploader::Base
def extension_white_list
def extension_whitelist
%w(jpg jpeg gif png)
end
end
@ -903,8 +903,8 @@ errors:
carrierwave_processing_error: "Cannot resize image."
carrierwave_integrity_error: "Not an image."
carrierwave_download_error: "Couldn't download image."
extension_white_list_error: "You are not allowed to upload %{extension} files, allowed types: %{allowed_types}"
extension_black_list_error: "You are not allowed to upload %{extension} files, prohibited types: %{prohibited_types}"
extension_whitelist_error: "You are not allowed to upload %{extension} files, allowed types: %{allowed_types}"
extension_blacklist_error: "You are not allowed to upload %{extension} files, prohibited types: %{prohibited_types}"
```
## Large files

View File

@ -4,8 +4,8 @@ cs:
carrierwave_processing_error: se nepodařilo zpracovat
carrierwave_integrity_error: není povolený typ souboru
carrierwave_download_error: nemůže být stažen
extension_white_list_error: "Není možné nahrávat %{extension} soubory, povolené typy: %{allowed_types}"
extension_black_list_error: "Není možné nahrávat %{extension} soubory, zakázané typy: %{prohibited_types}"
extension_whitelist_error: "Není možné nahrávat %{extension} soubory, povolené typy: %{allowed_types}"
extension_blacklist_error: "Není možné nahrávat %{extension} soubory, zakázané typy: %{prohibited_types}"
rmagick_processing_error: "Nepodařilo se upravit pomocí rmagick, možná se nejedná o obrázek? Hlášená Chyba: %{e}"
mini_magick_processing_error: "Nepodařilo se upravit pomocí MiniMagick, možná se nejedná o obrázek? Hlášená Chyba: %{e}"
min_size_error: "Velikost souboru by měla být větší než %{min_size}"

View File

@ -4,8 +4,8 @@ de:
carrierwave_processing_error: konnte nicht verarbeitet werden
carrierwave_integrity_error: ist kein erlaubter Dateityp
carrierwave_download_error: konnte nicht heruntergeladen werden
extension_white_list_error: "Sie sind nicht berechtigt %{extension} Dateien hochzuladen, erlaubte Typen: %{allowed_types}"
extension_black_list_error: "Sie sind nicht berechtigt %{extension} Dateien hochzuladen, verbotene Typen: %{prohibited_types}"
extension_whitelist_error: "Sie sind nicht berechtigt %{extension} Dateien hochzuladen, erlaubte Typen: %{allowed_types}"
extension_blacklist_error: "Sie sind nicht berechtigt %{extension} Dateien hochzuladen, verbotene Typen: %{prohibited_types}"
rmagick_processing_error: "Verarbeitung mit rmagick fehlgeschlagen, vielleicht ist es kein Bild? Original Fehler: %{e}"
mini_magick_processing_error: "Verarbeitung mit MiniMagick fehlgeschlagen, vielleicht ist es kein Bild? Original Fehler: %{e}"
min_size_error: "Die dateigröße sollte größer sein als %{min_size}"

View File

@ -4,8 +4,8 @@ el:
carrierwave_processing_error: "απέτυχε στην επεξεργασία"
carrierwave_integrity_error: "δεν ανήκει σε επιτρεπτό τύπο αρχείου"
carrierwave_download_error: "δεν ήταν δυνατό να μεταφορτωθεί"
extension_white_list_error: "Δεν επιτρέπεται το ανέβασμα αρχείων %{extension}, επιτρεπτοί τύποι: %{allowed_types}"
extension_black_list_error: "Δεν επιτρέπεται το ανέβασμα αρχείων %{extension}, μη επιτρεπτοί τύποι: %{prohibited_types}"
extension_whitelist_error: "Δεν επιτρέπεται το ανέβασμα αρχείων %{extension}, επιτρεπτοί τύποι: %{allowed_types}"
extension_blacklist_error: "Δεν επιτρέπεται το ανέβασμα αρχείων %{extension}, μη επιτρεπτοί τύποι: %{prohibited_types}"
content_type_whitelist_error: "Δεν επιτρέπεται το ανέβασμα αρχείων τύπου %{content_type}"
content_type_blacklist_error: "Δεν επιτρέπεται το ανέβασμα αρχείων τύπου %{content_type}"
rmagick_processing_error: "Απέτυχε ο χειρισμός με rmagick, ίσως δεν είναι εικόνα; Αρχικό Σφάλμα: %{e}"

View File

@ -4,8 +4,8 @@ en:
carrierwave_processing_error: failed to be processed
carrierwave_integrity_error: is not of an allowed file type
carrierwave_download_error: could not be downloaded
extension_white_list_error: "You are not allowed to upload %{extension} files, allowed types: %{allowed_types}"
extension_black_list_error: "You are not allowed to upload %{extension} files, prohibited types: %{prohibited_types}"
extension_whitelist_error: "You are not allowed to upload %{extension} files, allowed types: %{allowed_types}"
extension_blacklist_error: "You are not allowed to upload %{extension} files, prohibited types: %{prohibited_types}"
content_type_whitelist_error: "You are not allowed to upload %{content_type} files"
content_type_blacklist_error: "You are not allowed to upload %{content_type} files"
rmagick_processing_error: "Failed to manipulate with rmagick, maybe it is not an image?"

View File

@ -4,8 +4,8 @@ es:
carrierwave_processing_error: no pudo ser procesado
carrierwave_integrity_error: no es de un tipo de archivo permitido
carrierwave_download_error: no pudo ser descargado
extension_white_list_error: "No se pueden subir archivos de la extensión %{extension}. Las extensiones permitidas son: %{allowed_types}"
extension_black_list_error: "No se pueden subir archivos de la extensión %{extension}. Las extensiones prohibidas son: %{prohibited_types}"
extension_whitelist_error: "No se pueden subir archivos de la extensión %{extension}. Las extensiones permitidas son: %{allowed_types}"
extension_blacklist_error: "No se pueden subir archivos de la extensión %{extension}. Las extensiones prohibidas son: %{prohibited_types}"
rmagick_processing_error: "No se pudo manipular con rmagick, quizá porque no es una imágen? Error original: %{e}"
mini_magick_processing_error: "No se pudo manipular con MiniMagick, quizá porque no es una imágen? Error original: %{e}"
min_size_error: "El tamaño del archivo debe ser mayor que %{min_size}"

View File

@ -4,8 +4,8 @@ fr_CA:
carrierwave_processing_error: "Impossible de redimensionner l'image."
carrierwave_integrity_error: "Ce n'est pas une image."
carrierwave_download_error: "Impossible de télécharger l'image."
extension_white_list_error: "Vous n'êtes pas autorisé à uploader des fichiers %{extension}, types autorisés: %{allowed_types}"
extension_black_list_error: "Vous n'êtes pas autorisé à uploader des fichiers %{extension}, types interdits: %{prohibited_types}"
extension_whitelist_error: "Vous n'êtes pas autorisé à uploader des fichiers %{extension}, types autorisés: %{allowed_types}"
extension_blacklist_error: "Vous n'êtes pas autorisé à uploader des fichiers %{extension}, types interdits: %{prohibited_types}"
rmagick_processing_error: "La manipulation d'image avec rmagick a échoué. Peut-être que ce n'est pas une image? Erreur originale: %{e}"
mini_magick_processing_error: "La manipulation d'image avec MiniMagick a échoué. Peut-être que ce n'est pas une image? Erreur originale: %{e}"
min_size_error: "La taille du fichier doit être supérieure à %{min_size}"

View File

@ -4,8 +4,8 @@ fr:
carrierwave_processing_error: "Impossible de redimensionner l'image."
carrierwave_integrity_error: "Ce n'est pas une image."
carrierwave_download_error: "Impossible de télécharger l'image."
extension_white_list_error: "Vous n'êtes pas autorisé à uploader des fichiers %{extension}, types autorisés: %{allowed_types}"
extension_black_list_error: "Vous n'êtes pas autorisé à uploader des fichiers %{extension}, types interdits: %{prohibited_types}"
extension_whitelist_error: "Vous n'êtes pas autorisé à uploader des fichiers %{extension}, types autorisés: %{allowed_types}"
extension_blacklist_error: "Vous n'êtes pas autorisé à uploader des fichiers %{extension}, types interdits: %{prohibited_types}"
content_type_whitelist_error: "Vous n'êtes pas autorisé à uploader des fichiers de type %{content_type}"
content_type_blacklist_error: "Vous n'êtes pas autorisé à uploader des fichiers de type %{content_type}"
rmagick_processing_error: "La manipulation d'image avec rmagick a échoué. Peut-être que ce n'est pas une image ? Erreur originale: %{e}"

View File

@ -4,8 +4,8 @@ id:
carrierwave_processing_error: gagal diproses
carrierwave_integrity_error: bukan salah satu tipe file yang diperbolehkan
carrierwave_download_error: gagal download
extension_white_list_error: "Dilarang mengupload tipe file %{extension}, tipe file yang dibolehkan: %{allowed_types}"
extension_black_list_error: "Dilarang mengupload tipe file %{extension}, tipe file yang dilarang: %{prohibited_types}"
extension_whitelist_error: "Dilarang mengupload tipe file %{extension}, tipe file yang dibolehkan: %{allowed_types}"
extension_blacklist_error: "Dilarang mengupload tipe file %{extension}, tipe file yang dilarang: %{prohibited_types}"
content_type_whitelist_error: "Anda dilarang mengupload file %{content_type}"
content_type_blacklist_error: "Anda dilarang mengupload file %{content_type}"
rmagick_processing_error: "Gagal memanipulasi dengan rmagick, mungkin file ini bukan gambar?"

View File

@ -4,8 +4,8 @@ ja:
carrierwave_processing_error: 処理できませんでした
carrierwave_integrity_error: は許可されていないファイルタイプです
carrierwave_download_error: はダウンロードできません
extension_white_list_error: "%{extension}ファイルのアップロードは許可されていません。アップロードできるファイルタイプ: %{allowed_types}"
extension_black_list_error: "%{extension}ファイルのアップロードは許可されていません。アップロードできないファイルタイプ: %{prohibited_types}"
extension_whitelist_error: "%{extension}ファイルのアップロードは許可されていません。アップロードできるファイルタイプ: %{allowed_types}"
extension_blacklist_error: "%{extension}ファイルのアップロードは許可されていません。アップロードできないファイルタイプ: %{prohibited_types}"
rmagick_processing_error: "rmagickがファイルを処理できませんでした。画像を確認してください。エラーメッセージ: %{e}"
mini_magick_processing_error: "MiniMagickがファイルを処理できませんでした。画像を確認してください。エラーメッセージ: %{e}"
min_size_error: "ファイルを%{min_size}バイト以上のサイズにしてください"

View File

@ -4,8 +4,8 @@ nb:
carrierwave_processing_error: kunne ikke behandles
carrierwave_integrity_error: er ikke en tillatt filtype
carrierwave_download_error: kunne ikke lastes ned
extension_white_list_error: "Du kan ikke laste opp %{extension}-filer, tillatte filtyper: %{allowed_types}"
extension_black_list_error: "Du kan ikke laste opp %{extension}-filer, forbudte filtyper: %{prohibited_types}"
extension_whitelist_error: "Du kan ikke laste opp %{extension}-filer, tillatte filtyper: %{allowed_types}"
extension_blacklist_error: "Du kan ikke laste opp %{extension}-filer, forbudte filtyper: %{prohibited_types}"
rmagick_processing_error: "Kunne ikke manipulere med rmagick. Er du sikker på at det er et bilde? Feilmelding: %{e}"
mini_magick_processing_error: "Kunne ikke manipulere med MiniMagick. Er du sikker på at det er et bilde? Feilmelding: %{e}"
min_size_error: "Filen størrelse bør være større enn %{min_size}"

View File

@ -4,8 +4,8 @@ nl:
carrierwave_processing_error: kon niet worden verwerkt
carrierwave_integrity_error: is niet van een toegestaan bestandstype
carrierwave_download_error: kon niet gedownload worden
extension_white_list_error: "Het is niet toegestaan om %{extension} bestanden te uploaden; toegestane bestandstypes: %{allowed_types}"
extension_black_list_error: "Het is niet toegestaan om %{extension} bestanden te uploaden; verboden bestandstypes: %{prohibited_types}"
extension_whitelist_error: "Het is niet toegestaan om %{extension} bestanden te uploaden; toegestane bestandstypes: %{allowed_types}"
extension_blacklist_error: "Het is niet toegestaan om %{extension} bestanden te uploaden; verboden bestandstypes: %{prohibited_types}"
rmagick_processing_error: "Bewerking met rmagick is mislukt, misschien is het geen afbeelding? Originele foutmelding: %{e}"
mini_magick_processing_error: "Bewerking met MiniMagick is mislukt, misschien is het geen afbeelding? Originele foutmelding: %{e}"
min_size_error: "De bestandsgrootte moet groter zijn dan %{min_size}"

View File

@ -4,8 +4,8 @@ pl:
carrierwave_processing_error: nie można przetworzyć
carrierwave_integrity_error: niedozwolony typ pliku
carrierwave_download_error: nie można pobrać pliku
extension_white_list_error: "Nie można wgrać pliku o rozszerzeniu %{extension}, dozwolone typy plików: %{allowed_types}"
extension_black_list_error: "Nie można wgrać pliku o rozszerzeniu %{extension}, zakazane typy plików: %{prohibited_types}"
extension_whitelist_error: "Nie można wgrać pliku o rozszerzeniu %{extension}, dozwolone typy plików: %{allowed_types}"
extension_blacklist_error: "Nie można wgrać pliku o rozszerzeniu %{extension}, zakazane typy plików: %{prohibited_types}"
rmagick_processing_error: "Nie udało się przetworzyć pliku przy pomocy rmagick, może to nie jest obrazek? Oryginalna treść błędu: %{e}"
mini_magick_processing_error: "Nie udało się przetworzyć pliku przy pomocy MiniMagick, może to nie jest obrazek? Oryginalna treść błędu: %{e}"
min_size_error: "Rozmiar pliku powinna być większa niż %{min_size}"

View File

@ -4,8 +4,8 @@ pt-BR:
carrierwave_processing_error: falhou em ser processado
carrierwave_integrity_error: não é um tipo de arquivo permitido
carrierwave_download_error: não pôde ser baixado
extension_white_list_error: "Não é permitido o envio de arquivos %{extension}, tipos permitidos: %{allowed_types}"
extension_black_list_error: "Não é permitido o envio de arquivos %{extension}, tipos proibidos: %{prohibited_types}"
extension_whitelist_error: "Não é permitido o envio de arquivos %{extension}, tipos permitidos: %{allowed_types}"
extension_blacklist_error: "Não é permitido o envio de arquivos %{extension}, tipos proibidos: %{prohibited_types}"
rmagick_processing_error: "Falha ao manipular com RMagick, talvez arquivo não seja uma imagem? Erro original: %{e}"
mini_magick_processing_error: "Falha ao manipular com MiniMagick, talvez arquivo não seja uma imagem? Erro original: %{e}"
min_size_error: "O tamanho do arquivo deve ser maior do que %{min_size}"

View File

@ -4,8 +4,8 @@ pt-PT:
carrierwave_processing_error: falhou ao ser processado
carrierwave_integrity_error: não é um tipo de ficheiro permitido
carrierwave_download_error: não pôde ser transferido
extension_white_list_error: "Não é permitido o envio de ficheiros com a extensão %{extension}, tipos de ficheiro permitidos: %{allowed_types}"
extension_black_list_error: "Não é permitido o envio de ficheiros com a extensão %{extension}, tipos de ficheiro proibidos: %{prohibited_types}"
extension_whitelist_error: "Não é permitido o envio de ficheiros com a extensão %{extension}, tipos de ficheiro permitidos: %{allowed_types}"
extension_blacklist_error: "Não é permitido o envio de ficheiros com a extensão %{extension}, tipos de ficheiro proibidos: %{prohibited_types}"
rmagick_processing_error: "Ocorreu uma falha ao processar com rmagick, talvez o ficheiro não seja uma imagem? Erro original: %{e}"
mini_magick_processing_error: "Ocorreu uma falha ao processar com MiniMagick, talvez o ficheiro não seja uma imagem? Erro original: %{e}"
min_size_error: "O tamanho do arquivo deve ser maior do que %{min_size}"

View File

@ -4,8 +4,8 @@ ru:
carrierwave_processing_error: Невозможно обработать изображение
carrierwave_integrity_error: Файл не является изображением
carrierwave_download_error: Невозможно скачать файл
extension_white_list_error: "Вы не можете загружать файлы типа %{extension}, разрешенные типы: %{allowed_types}"
extension_black_list_error: "Вы не можете загружать файлы типа %{extension}, запрещенные типы: %{prohibited_types}"
extension_whitelist_error: "Вы не можете загружать файлы типа %{extension}, разрешенные типы: %{allowed_types}"
extension_blacklist_error: "Вы не можете загружать файлы типа %{extension}, запрещенные типы: %{prohibited_types}"
rmagick_processing_error: "Ошибка взаимодействия с RMagick, может быть это не изображение? Исходная ошибка: %{e}"
mini_magick_processing_error: "Ошибка взаимодействия с MiniMagick, может быть это не изображение? Исходная ошибка: %{e}"
min_size_error: "Размер файла должен быть больше, чем %{min_size}"

View File

@ -4,8 +4,8 @@ sk:
carrierwave_processing_error: sa nepodarilo spracovať
carrierwave_integrity_error: nie je povolený typ súboru
carrierwave_download_error: nie je možné stiahnuť
extension_white_list_error: "Nie je možné nahrávať %{extension} súbory, povolené typy: %{allowed_types}"
extension_black_list_error: "Nie je možné nahrávať %{extension} súbory, zakázané typy: %{prohibited_types}"
extension_whitelist_error: "Nie je možné nahrávať %{extension} súbory, povolené typy: %{allowed_types}"
extension_blacklist_error: "Nie je možné nahrávať %{extension} súbory, zakázané typy: %{prohibited_types}"
rmagick_processing_error: "Nepodarilo sa upraviť pomocou rmagick, možno nejde o obrázok? Hlásená chyba: %{e}"
mini_magick_processing_error: "Nepodarilo sa upraviť pomocou MiniMagick, možno nejde o obrázok? Hlásená chyba: %{e}"
min_size_error: "Filstorleken ska vara större än %{min_size}"

View File

@ -4,8 +4,8 @@ tr:
carrierwave_processing_error: işlenmesi sırasında hata oluştu
carrierwave_integrity_error: izin verilebilir bir dosya türü değil
carrierwave_download_error: indirilemedi
extension_white_list_error: "%{extension} uzantılı dosyaları yükleme izniniz yok, izin verilen uzantılar: %{allowed_types}"
extension_black_list_error: "%{extension} uzantılı dosyaları yükleme izniniz yok, izin verilmeyen uzantılar: %{prohibited_types}"
extension_whitelist_error: "%{extension} uzantılı dosyaları yükleme izniniz yok, izin verilen uzantılar: %{allowed_types}"
extension_blacklist_error: "%{extension} uzantılı dosyaları yükleme izniniz yok, izin verilmeyen uzantılar: %{prohibited_types}"
rmagick_processing_error: "Resim rmagick ile düzenlenemedi, belkide resim değildir? Orjinal Hata: %{e}"
mini_magick_processing_error: "Resim MiniMagick ile düzenlenemedi, belkide resim değildir? Orjinal Hata: %{e}"
min_size_error: "Dosya boyutu daha büyük olmalıdır %{min_size}"

View File

@ -4,8 +4,8 @@ zh-CN:
carrierwave_processing_error: 处理错误
carrierwave_integrity_error: 文件类型不正确
carrierwave_download_error: 下载错误
extension_white_list_error: "不可上传 %{extension} 文件, 可上传文件类型为: %{allowed_types}"
extension_black_list_error: "不可上传 %{extension} 文件, 不可上传文件类型为: %{prohibited_types}"
extension_whitelist_error: "不可上传 %{extension} 文件, 可上传文件类型为: %{allowed_types}"
extension_blacklist_error: "不可上传 %{extension} 文件, 不可上传文件类型为: %{prohibited_types}"
rmagick_processing_error: "rmagick 错误, 也许上传的文件不是图片? 原错误: %{e}"
mini_magick_processing_error: "MiniMagick 错误, 也许上传的文件不是图片? 原错误: %{e}"
min_size_error: "文件大小应大于 %{min_size}"

View File

@ -4,8 +4,8 @@ zh-TW:
carrierwave_processing_error: 處理錯誤
carrierwave_integrity_error: 文件類型錯誤
carrierwave_download_error: 下載錯誤
extension_white_list_error: "不可上傳 %{extension} 文件, 可上傳文件類型為: %{allowed_types}"
extension_black_list_error: "不可上傳 %{extension} 文件, 不可上傳文件類型為: %{prohibited_types}"
extension_whitelist_error: "不可上傳 %{extension} 文件, 可上傳文件類型為: %{allowed_types}"
extension_blacklist_error: "不可上傳 %{extension} 文件, 不可上傳文件類型為: %{prohibited_types}"
rmagick_processing_error: "rmagick 錯誤, 也許上傳的的文件不是圖片? 原錯誤: %{e}"
mini_magick_processing_error: "MiniMagick 錯誤, 也許上傳的文件不是圖片? 原錯誤: %{e}"
min_size_error: "文件大小應大於 %{min_size}"

View File

@ -4,7 +4,7 @@ module CarrierWave
extend ActiveSupport::Concern
included do
before :cache, :check_blacklist!
before :cache, :check_extension_blacklist!
end
##
@ -16,32 +16,36 @@ module CarrierWave
# the Regexp expression, also case insensitive.
#
# === Returns
# [NilClass, Array[String,Regexp]] a black list of extensions which are prohibited to be uploaded
#
# === Examples
#
# def extension_black_list
# def extension_blacklist
# %w(swf tiff)
# end
#
# Basically the same, but using a Regexp:
#
# def extension_black_list
# def extension_blacklist
# [/swf/, 'tiff']
# end
#
def extension_black_list; end
def extension_blacklist; end
private
def check_blacklist!(new_file)
def check_extension_blacklist!(new_file)
extension = new_file.extension.to_s
if extension_black_list and extension_black_list.detect { |item| extension =~ /\A#{item}\z/i }
raise CarrierWave::IntegrityError, I18n.translate(:"errors.messages.extension_black_list_error", :extension => new_file.extension.inspect, :prohibited_types => extension_black_list.join(", "))
if extension_blacklist && blacklisted_extension?(extension)
raise CarrierWave::IntegrityError, I18n.translate(:"errors.messages.extension_blacklist_error", extension: new_file.extension.inspect, prohibited_types: extension_blacklist.join(", "))
end
end
def blacklisted_extension?(extension)
extension_blacklist.any? { |item| extension =~ /\A#{item}\z/i }
end
end
end
end

View File

@ -4,7 +4,7 @@ module CarrierWave
extend ActiveSupport::Concern
included do
before :cache, :check_whitelist!
before :cache, :check_extension_whitelist!
end
##
@ -21,27 +21,31 @@ module CarrierWave
#
# === Examples
#
# def extension_white_list
# def extension_whitelist
# %w(jpg jpeg gif png)
# end
#
# Basically the same, but using a Regexp:
#
# def extension_white_list
# def extension_whitelist
# [/jpe?g/, 'gif', 'png']
# end
#
def extension_white_list; end
def extension_whitelist; end
private
def check_whitelist!(new_file)
def check_extension_whitelist!(new_file)
extension = new_file.extension.to_s
if extension_white_list and not extension_white_list.detect { |item| extension =~ /\A#{item}\z/i }
raise CarrierWave::IntegrityError, I18n.translate(:"errors.messages.extension_white_list_error", :extension => new_file.extension.inspect, :allowed_types => extension_white_list.join(", "))
if extension_whitelist && !whitelisted_extension?(extension)
raise CarrierWave::IntegrityError, I18n.translate(:"errors.messages.extension_whitelist_error", extension: new_file.extension.inspect, allowed_types: extension_whitelist.join(", "))
end
end
def whitelisted_extension?(extension)
extension_whitelist.any? { |item| extension =~ /\A#{item}\z/i }
end
end # ExtensionWhitelist
end # Uploader
end # CarrierWave

View File

@ -36,7 +36,7 @@ class <%= class_name %>Uploader < CarrierWave::Uploader::Base
# Add a white list of extensions which are allowed to be uploaded.
# For images you might use something like this:
# def extension_white_list
# def extension_whitelist
# %w(jpg jpeg gif png)
# end

View File

@ -147,7 +147,7 @@ describe CarrierWave::Mount do
it "should fail silently if the images fails a white list integrity check" do
@uploader.class_eval do
def extension_white_list
def extension_whitelist
%w(txt)
end
end
@ -157,7 +157,7 @@ describe CarrierWave::Mount do
it "should fail silently if the images fails a black list integrity check" do
@uploader.class_eval do
def extension_black_list
def extension_blacklist
%w(jpg)
end
end
@ -430,7 +430,7 @@ describe CarrierWave::Mount do
describe "when an integrity check fails" do
before do
@uploader.class_eval do
def extension_white_list
def extension_whitelist
%w(txt)
end
end
@ -666,7 +666,7 @@ describe CarrierWave::Mount do
@instance = @class.new
@uploader.class_eval do
def extension_white_list
def extension_whitelist
%w(txt)
end
end

View File

@ -142,7 +142,7 @@ describe CarrierWave::Mount do
it "should fail silently if the image fails a white list integrity check" do
@uploader.class_eval do
def extension_white_list
def extension_whitelist
%w(txt)
end
end
@ -152,7 +152,7 @@ describe CarrierWave::Mount do
it "should fail silently if the image fails a black list integrity check" do
@uploader.class_eval do
def extension_black_list
def extension_blacklist
%w(jpg)
end
end
@ -433,7 +433,7 @@ describe CarrierWave::Mount do
describe "when an integrity check fails" do
before do
@uploader.class_eval do
def extension_white_list
def extension_whitelist
%w(txt)
end
end
@ -667,7 +667,7 @@ describe CarrierWave::Mount do
@instance = @class.new
@uploader.class_eval do
def extension_white_list
def extension_whitelist
%w(txt)
end
end

View File

@ -235,7 +235,7 @@ describe CarrierWave::ActiveRecord do
context 'when validating white list integrity' do
before do
@uploader.class_eval do
def extension_white_list
def extension_whitelist
%w(txt)
end
end
@ -245,7 +245,7 @@ describe CarrierWave::ActiveRecord do
# Localize the error message to Dutch
change_locale_and_store_translations(:nl, :errors => {
:messages => {
:extension_white_list_error => "Het opladen van %{extension} bestanden is niet toe gestaan. Geaccepteerde types: %{allowed_types}"
:extension_whitelist_error => "Het opladen van %{extension} bestanden is niet toe gestaan. Geaccepteerde types: %{allowed_types}"
}
}) do
# Assigning image triggers check_whitelist! and thus should be inside change_locale_and_store_translations
@ -260,7 +260,7 @@ describe CarrierWave::ActiveRecord do
context 'when validating black list integrity' do
before do
@uploader.class_eval do
def extension_black_list
def extension_blacklist
%w(jpg)
end
end
@ -270,7 +270,7 @@ describe CarrierWave::ActiveRecord do
# Localize the error message to Dutch
change_locale_and_store_translations(:nl, :errors => {
:messages => {
:extension_black_list_error => "You are not allowed to upload %{extension} files, prohibited types: %{prohibited_types}"
:extension_blacklist_error => "You are not allowed to upload %{extension} files, prohibited types: %{prohibited_types}"
}
}) do
# Assigning image triggers check_blacklist! and thus should be inside change_locale_and_store_translations
@ -990,7 +990,7 @@ describe CarrierWave::ActiveRecord do
context 'when validating white list integrity' do
before do
@uploader.class_eval do
def extension_white_list
def extension_whitelist
%w(txt)
end
end
@ -1000,7 +1000,7 @@ describe CarrierWave::ActiveRecord do
# Localize the error message to Dutch
change_locale_and_store_translations(:nl, :errors => {
:messages => {
:extension_white_list_error => "Het opladen van %{extension} bestanden is niet toe gestaan. Geaccepteerde types: %{allowed_types}"
:extension_whitelist_error => "Het opladen van %{extension} bestanden is niet toe gestaan. Geaccepteerde types: %{allowed_types}"
}
}) do
# Assigning images triggers check_whitelist! and thus should be inside change_locale_and_store_translations
@ -1015,7 +1015,7 @@ describe CarrierWave::ActiveRecord do
context 'when validating black list integrity' do
before do
@uploader.class_eval do
def extension_black_list
def extension_blacklist
%w(jpg)
end
end
@ -1025,7 +1025,7 @@ describe CarrierWave::ActiveRecord do
# Localize the error message to Dutch
change_locale_and_store_translations(:nl, :errors => {
:messages => {
:extension_black_list_error => "You are not allowed to upload %{extension} files, prohibited types: %{prohibited_types}"
:extension_blacklist_error => "You are not allowed to upload %{extension} files, prohibited types: %{prohibited_types}"
}
}) do
# Assigning images triggers check_blacklist! and thus should be inside change_locale_and_store_translations

View File

@ -4,8 +4,8 @@ describe CarrierWave::Uploader do
it "should keep callbacks on different classes isolated" do
default_before_callbacks = [
:check_whitelist!,
:check_blacklist!,
:check_extension_whitelist!,
:check_extension_blacklist!,
:check_content_type_whitelist!,
:check_content_type_blacklist!,
:check_size!,

View File

@ -118,44 +118,44 @@ describe CarrierWave::Uploader::Download do
}.to raise_error(CarrierWave::DownloadError, /could not download file: 404/)
end
describe '#download! with an extension_white_list' do
describe '#download! with an extension_whitelist' do
before do
@uploader_class.class_eval do
def extension_white_list
def extension_whitelist
%w(txt)
end
end
end
it "should follow redirects but still respect the extension_white_list" do
it "should follow redirects but still respect the extension_whitelist" do
expect(running {
@uploader.download!('http://www.redirect.com/')
}).to raise_error(CarrierWave::IntegrityError)
end
it "should read content-disposition header but still respect the extension_white_list" do
it "should read content-disposition header but still respect the extension_whitelist" do
expect(running {
@uploader.download!('http://www.example.com/content-disposition')
}).to raise_error(CarrierWave::IntegrityError)
end
end
describe '#download! with an extension_black_list' do
describe '#download! with an extension_blacklist' do
before do
@uploader_class.class_eval do
def extension_black_list
def extension_blacklist
%w(jpg)
end
end
end
it "should follow redirects but still respect the extension_black_list" do
it "should follow redirects but still respect the extension_blacklist" do
expect(running {
@uploader.download!('http://www.redirect.com/')
}).to raise_error(CarrierWave::IntegrityError)
end
it "should read content-disposition header but still respect the extension_black_list" do
it "should read content-disposition header but still respect the extension_blacklist" do
expect(running {
@uploader.download!('http://www.example.com/content-disposition')
}).to raise_error(CarrierWave::IntegrityError)

View File

@ -16,57 +16,57 @@ describe CarrierWave::Uploader do
allow(CarrierWave).to receive(:generate_cache_id).and_return('1369894322-345-1234-2255')
end
it "should not raise an integrity error if there is no black list" do
allow(@uploader).to receive(:extension_black_list).and_return(nil)
it "should not raise an integrity error if there is no blacklist" do
allow(@uploader).to receive(:extension_blacklist).and_return(nil)
expect(running {
@uploader.cache!(File.open(file_path('test.jpg')))
}).not_to raise_error
end
it "should raise an integrity error if there is a black list and the file is on it" do
allow(@uploader).to receive(:extension_black_list).and_return(%w(jpg gif png))
it "should raise an integrity error if there is a blacklist and the file is on it" do
allow(@uploader).to receive(:extension_blacklist).and_return(%w(jpg gif png))
expect(running {
@uploader.cache!(File.open(file_path('test.jpg')))
}).to raise_error(CarrierWave::IntegrityError)
end
it "should not raise an integrity error if there is a black list and the file is not on it" do
allow(@uploader).to receive(:extension_black_list).and_return(%w(txt doc xls))
it "should not raise an integrity error if there is a blacklist and the file is not on it" do
allow(@uploader).to receive(:extension_blacklist).and_return(%w(txt doc xls))
expect(running {
@uploader.cache!(File.open(file_path('test.jpg')))
}).not_to raise_error
end
it "should not raise an integrity error if there is a black list and the file is not on it, using start of string matcher" do
allow(@uploader).to receive(:extension_black_list).and_return(%w(txt))
it "should not raise an integrity error if there is a blacklist and the file is not on it, using start of string matcher" do
allow(@uploader).to receive(:extension_blacklist).and_return(%w(txt))
expect(running {
@uploader.cache!(File.open(file_path('bork.ttxt')))
}).not_to raise_error
end
it "should not raise an integrity error if there is a black list and the file is not on it, using end of string matcher" do
allow(@uploader).to receive(:extension_black_list).and_return(%w(txt))
it "should not raise an integrity error if there is a blacklist and the file is not on it, using end of string matcher" do
allow(@uploader).to receive(:extension_blacklist).and_return(%w(txt))
expect(running {
@uploader.cache!(File.open(file_path('bork.txtt')))
}).not_to raise_error
end
it "should compare black list in a case insensitive manner when capitalized extension provided" do
allow(@uploader).to receive(:extension_black_list).and_return(%w(jpg gif png))
it "should compare blacklist in a case insensitive manner when capitalized extension provided" do
allow(@uploader).to receive(:extension_blacklist).and_return(%w(jpg gif png))
expect(running {
@uploader.cache!(File.open(file_path('case.JPG')))
}).to raise_error(CarrierWave::IntegrityError)
end
it "should compare black list in a case insensitive manner when lowercase extension provided" do
allow(@uploader).to receive(:extension_black_list).and_return(%w(JPG GIF PNG))
it "should compare blacklist in a case insensitive manner when lowercase extension provided" do
allow(@uploader).to receive(:extension_blacklist).and_return(%w(JPG GIF PNG))
expect(running {
@uploader.cache!(File.open(file_path('test.jpg')))
}).to raise_error(CarrierWave::IntegrityError)
end
it "should accept and check regular expressions" do
allow(@uploader).to receive(:extension_black_list).and_return([/jpe?g/, 'gif', 'png'])
allow(@uploader).to receive(:extension_blacklist).and_return([/jpe?g/, 'gif', 'png'])
expect(running {
@uploader.cache!(File.open(file_path('test.jpeg')))
}).to raise_error(CarrierWave::IntegrityError)

View File

@ -17,57 +17,57 @@ describe CarrierWave::Uploader do
allow(CarrierWave).to receive(:generate_cache_id).and_return('1369894322-345-1234-2255')
end
it "should not raise an integrity error if there is no white list" do
allow(@uploader).to receive(:extension_white_list).and_return(nil)
it "should not raise an integrity error if there is no whitelist" do
allow(@uploader).to receive(:extension_whitelist).and_return(nil)
expect(running {
@uploader.cache!(File.open(file_path('test.jpg')))
}).not_to raise_error
end
it "should not raise an integrity error if there is a white list and the file is on it" do
allow(@uploader).to receive(:extension_white_list).and_return(%w(jpg gif png))
it "should not raise an integrity error if there is a whitelist and the file is on it" do
allow(@uploader).to receive(:extension_whitelist).and_return(%w(jpg gif png))
expect(running {
@uploader.cache!(File.open(file_path('test.jpg')))
}).not_to raise_error
end
it "should raise an integrity error if there is a white list and the file is not on it" do
allow(@uploader).to receive(:extension_white_list).and_return(%w(txt doc xls))
it "should raise an integrity error if there is a whitelist and the file is not on it" do
allow(@uploader).to receive(:extension_whitelist).and_return(%w(txt doc xls))
expect(running {
@uploader.cache!(File.open(file_path('test.jpg')))
}).to raise_error(CarrierWave::IntegrityError)
end
it "should raise an integrity error if there is a white list and the file is not on it, using start of string matcher" do
allow(@uploader).to receive(:extension_white_list).and_return(%w(txt))
it "should raise an integrity error if there is a whitelist and the file is not on it, using start of string matcher" do
allow(@uploader).to receive(:extension_whitelist).and_return(%w(txt))
expect(running {
@uploader.cache!(File.open(file_path('bork.ttxt')))
}).to raise_error(CarrierWave::IntegrityError)
end
it "should raise an integrity error if there is a white list and the file is not on it, using end of string matcher" do
allow(@uploader).to receive(:extension_white_list).and_return(%w(txt))
it "should raise an integrity error if there is a whitelist and the file is not on it, using end of string matcher" do
allow(@uploader).to receive(:extension_whitelist).and_return(%w(txt))
expect(running {
@uploader.cache!(File.open(file_path('bork.txtt')))
}).to raise_error(CarrierWave::IntegrityError)
end
it "should compare white list in a case insensitive manner when capitalized extension provided" do
allow(@uploader).to receive(:extension_white_list).and_return(%w(jpg gif png))
it "should compare whitelist in a case insensitive manner when capitalized extension provided" do
allow(@uploader).to receive(:extension_whitelist).and_return(%w(jpg gif png))
expect(running {
@uploader.cache!(File.open(file_path('case.JPG')))
}).not_to raise_error
end
it "should compare white list in a case insensitive manner when lowercase extension provided" do
allow(@uploader).to receive(:extension_white_list).and_return(%w(JPG GIF PNG))
it "should compare whitelist in a case insensitive manner when lowercase extension provided" do
allow(@uploader).to receive(:extension_whitelist).and_return(%w(JPG GIF PNG))
expect(running {
@uploader.cache!(File.open(file_path('test.jpg')))
}).not_to raise_error
end
it "should accept and check regular expressions" do
allow(@uploader).to receive(:extension_white_list).and_return([/jpe?g/, 'gif', 'png'])
allow(@uploader).to receive(:extension_whitelist).and_return([/jpe?g/, 'gif', 'png'])
expect(running {
@uploader.cache!(File.open(file_path('test.jpeg')))
}).not_to raise_error