import { createHash } from 'node:crypto'; import { readFileSync } from 'node:fs'; import { resolve } from 'node:path'; import { describe, expect, it } from 'vitest'; import { BUNDLED_CONTACT_SHEET_FONT } from '../../src/assets/bundled-font'; describe('bundled contact-sheet font', () => { it('matches its reviewed byte identity and ships the embedded licence', () => { const bytes = readFileSync( resolve( process.cwd(), 'public/fonts', BUNDLED_CONTACT_SHEET_FONT.fileName ) ); expect(bytes.byteLength).toBe(BUNDLED_CONTACT_SHEET_FONT.byteLength); expect(createHash('sha256').update(bytes).digest('hex')).toBe( BUNDLED_CONTACT_SHEET_FONT.sha256 ); const licence = readFileSync( resolve(process.cwd(), BUNDLED_CONTACT_SHEET_FONT.licenseFile), 'utf8' ); expect(licence).toContain('Bitstream Vera Fonts Copyright'); expect(licence).toContain('Arev Fonts Copyright'); expect(licence).toContain( 'The above copyright and trademark notices and this permission notice' ); }); });