gongxiangp2/lib/__tests__/performance-survey-image-order.test.ts
2026-07-13 17:59:13 +08:00

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',
])
})
})