1 | const generateFileID = require('./generateFileID')
|
2 |
|
3 | describe('generateFileID', () => {
|
4 | it('should take the filename object and produce a lowercase file id made up of uppy- prefix, file name (cleaned up to be lowercase, letters and numbers only), type, relative path (folder) from file.meta.relativePath, size and lastModified date', () => {
|
5 | const fileObj = {
|
6 | name: 'fOo0Fi@£$.jpg',
|
7 | type: 'image/jpeg',
|
8 | data: {
|
9 | lastModified: 1498510508000,
|
10 | size: 2271173
|
11 | }
|
12 | }
|
13 |
|
14 | expect(generateFileID(fileObj)).toEqual(
|
15 | 'uppy-foo0fi////jpg-20-53-14-1e-image/jpeg-2271173-1498510508000'
|
16 | )
|
17 |
|
18 | expect(generateFileID({
|
19 | name: 'джумла-джpумлатест.jpg',
|
20 | type: 'image/jpeg',
|
21 | data: {
|
22 | lastModified: 1498510508000,
|
23 | size: 2271173
|
24 | }
|
25 | })).toEqual(
|
26 | 'uppy-/////////p/////////jpg-11k-11m-123-11s-11r-11g-1d-11k-11m-123-11s-11r-11g-122-11l-121-122-1e-image/jpeg-2271173-1498510508000'
|
27 | )
|
28 |
|
29 | expect(generateFileID({
|
30 | name: 'hello.jpg',
|
31 | type: 'image/jpeg',
|
32 | data: {
|
33 | lastModified: 1498510508000,
|
34 | size: 2271173
|
35 | },
|
36 | meta: {
|
37 | relativePath: 'folder/a'
|
38 | }
|
39 | })).toEqual(
|
40 | 'uppy-hello/jpg-1e-image/jpeg-folder/a-1f-2271173-1498510508000'
|
41 | )
|
42 | })
|
43 | })
|