Ver Fonte

Fixed getFileType() when passed a file with an upper case extension

Updated the unit tests
Jonathan Derrough há 6 anos atrás
pai
commit
4633abc143

+ 2 - 1
packages/@uppy/utils/src/getFileType.js

@@ -2,7 +2,8 @@ const getFileNameAndExtension = require('./getFileNameAndExtension')
 const mimeTypes = require('./mimeTypes')
 
 module.exports = function getFileType (file) {
-  const fileExtension = file.name ? getFileNameAndExtension(file.name).extension : null
+  let fileExtension = file.name ? getFileNameAndExtension(file.name).extension : null
+  fileExtension = fileExtension ? fileExtension.toLowerCase() : null
 
   if (file.isRemote) {
     // some remote providers do not support file types

+ 4 - 0
packages/@uppy/utils/src/getFileType.test.js

@@ -32,9 +32,13 @@ describe('getFileType', () => {
       name: 'bar.mkv',
       data: 'sdfsfhfh329fhwihs'
     }
+    const toUpper = (file) => Object.assign({}, file, { name: file.name.toUpperCase() })
     expect(getFileType(fileMP3)).toEqual('audio/mp3')
+    expect(getFileType(toUpper(fileMP3))).toEqual('audio/mp3')
     expect(getFileType(fileYAML)).toEqual('text/yaml')
+    expect(getFileType(toUpper(fileYAML))).toEqual('text/yaml')
     expect(getFileType(fileMKV)).toEqual('video/x-matroska')
+    expect(getFileType(toUpper(fileMKV))).toEqual('video/x-matroska')
   })
 
   it('should fail gracefully if unable to detect', () => {