UNPKG

touhou-tagger

Version:

从 THBWiki 自动填写东方 Project CD 曲目信息.

40 lines (33 loc) 1.33 kB
import { readFile } from 'fs/promises' import imageInfo from 'imageinfo' import { describe, expect, test } from 'vitest' import { compressImageByConfig } from '../src/core/writer/image-compress.js' import { fixturePath, metadataConfig } from './helpers.js' describe('cover compression', () => { test('compresses cover when size threshold is exceeded', async () => { const cover = await readFile(fixturePath('cover.jpg')) const compressed = await compressImageByConfig( Buffer.from(cover), metadataConfig({ coverCompressSize: 0.1, }), ) expect(compressed.length).toBeLessThan(cover.length) expect(imageInfo(compressed)?.width).toBe(2400) expect(imageInfo(compressed)?.height).toBe(2400) }) test('compresses and resizes cover when resolution limit is configured', async () => { const cover = await readFile(fixturePath('cover.jpg')) const compressed = await compressImageByConfig( Buffer.from(cover), metadataConfig({ coverCompressSize: 0.1, coverCompressResolution: 256, }), ) const info = imageInfo(compressed) expect(compressed.length).toBeLessThan(cover.length) expect(info?.width).toBeLessThanOrEqual(256) expect(info?.height).toBeLessThanOrEqual(256) }) })