Feature(custom): add thumbnail suffix functionality and related settings

ISSUES CLOSED: #539
This commit is contained in:
Kuingsmile
2026-06-11 19:32:45 -07:00
parent cda137220b
commit 74cf3ea1ad
7 changed files with 91 additions and 15 deletions

View File

@@ -0,0 +1,36 @@
import { describe, expect, it } from 'vitest'
import { appendThumbnailSuffix } from '../src/renderer/manage/utils/thumbnailUrl'
describe('appendThumbnailSuffix', () => {
it('keeps the original URL when the suffix is empty', () => {
const url = 'https://example.com/image.png'
expect(appendThumbnailSuffix(url, '')).toBe(url)
expect(appendThumbnailSuffix(url)).toBe(url)
})
it('appends query-style suffixes to URLs without query strings', () => {
expect(appendThumbnailSuffix('https://example.com/image.png', '?imageMogr2/thumbnail/200x200')).toBe(
'https://example.com/image.png?imageMogr2/thumbnail/200x200',
)
})
it('converts query-style suffixes to additional parameters when the URL already has a query string', () => {
expect(appendThumbnailSuffix('https://example.com/image.png?version=1', '?imageMogr2/thumbnail/200x200')).toBe(
'https://example.com/image.png?version=1&imageMogr2/thumbnail/200x200',
)
})
it('normalizes ampersand-prefixed suffixes when the URL has no query string', () => {
expect(appendThumbnailSuffix('https://example.com/image.png', '&x-oss-process=image/resize,w_200')).toBe(
'https://example.com/image.png?x-oss-process=image/resize,w_200',
)
})
it('appends path-style suffixes unchanged', () => {
expect(appendThumbnailSuffix('https://example.com/image.png', '/thumbnail/200x200')).toBe(
'https://example.com/image.png/thumbnail/200x200',
)
})
})