UNPKG

@uppy/utils

Version:

Shared utility functions for Uppy Core and plugins maintained by the Uppy team.

45 lines (40 loc) 1.36 kB
import { describe, expect, it } from 'vitest' import generateFileID from './generateFileID.ts' describe('generateFileID', () => { 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', () => { const fileObj = { name: 'fOo0Fi@£$.jpg', type: 'image/jpeg', data: { lastModified: 1498510508000, size: 2271173, }, } expect(generateFileID(fileObj)).toEqual( 'uppy-foo0fi////jpg-20-53-14-1e-image/jpeg-2271173-1498510508000', ) expect(generateFileID({ name: 'джумла-джpумлатест.jpg', type: 'image/jpeg', data: { lastModified: 1498510508000, size: 2271173, }, })).toEqual( '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', ) expect(generateFileID({ name: 'hello.jpg', type: 'image/jpeg', data: { lastModified: 1498510508000, size: 2271173, }, meta: { relativePath: 'folder/a', }, })).toEqual( 'uppy-hello/jpg-1e-image/jpeg-folder/a-1f-2271173-1498510508000', ) }) })