35 lines
1.0 KiB
TypeScript
35 lines
1.0 KiB
TypeScript
import { sortPerformanceSurveyImagesByName } from '@/lib/performance-survey-image-order'
|
|
|
|
describe('performance survey image slice order', () => {
|
|
it('按文件名中的数字自然排序', () => {
|
|
const files = ['10.jpg', '2.jpg', '1.jpg', '11.jpg', '3.jpg']
|
|
expect(sortPerformanceSurveyImagesByName(files, (name) => name)).toEqual([
|
|
'1.jpg',
|
|
'2.jpg',
|
|
'3.jpg',
|
|
'10.jpg',
|
|
'11.jpg',
|
|
])
|
|
})
|
|
|
|
it('支持带前缀和补零的切片名称', () => {
|
|
const files = ['详情_10.png', '详情_02.png', '详情_1.png']
|
|
expect(sortPerformanceSurveyImagesByName(files, (name) => name)).toEqual([
|
|
'详情_1.png',
|
|
'详情_02.png',
|
|
'详情_10.png',
|
|
])
|
|
})
|
|
|
|
it('名称相同时保留用户选择顺序', () => {
|
|
const files = [
|
|
{ name: '1.jpg', id: 'first' },
|
|
{ name: '1.jpg', id: 'second' },
|
|
]
|
|
expect(sortPerformanceSurveyImagesByName(files, (file) => file.name).map((file) => file.id)).toEqual([
|
|
'first',
|
|
'second',
|
|
])
|
|
})
|
|
})
|