UNPKG

themer

Version:

Customizable theme creator for editors, terminals, wallpaper, and more.

36 lines (34 loc) 1.16 kB
import test from 'ava'; import themer from '../index.js'; test('zed', async (t) => { const files = []; for await (const file of themer(['default'], ['zed'], { wallpaperSizes: [], })) { files.push(file); } t.is(files.length, 2, 'produces a theme file and a README'); const theme = files.find(({ path }) => path.endsWith('.json')); t.truthy(theme, 'produces a JSON theme file'); const parsed = JSON.parse(theme?.content || ''); t.is(parsed.name, 'Themer Default', 'theme family has correct name'); t.is(parsed.author, 'Themer', 'theme has correct author'); t.truthy( Array.isArray(parsed.themes) && parsed.themes.length > 0, 'contains theme variants', ); for (const variant of parsed.themes) { t.truthy(variant.name, 'variant has a name'); t.regex( variant.appearance, /^(dark|light)$/, 'variant has valid appearance', ); t.truthy(variant.style, 'variant has style'); t.truthy(variant.style.syntax, 'variant has syntax highlighting'); t.truthy( Array.isArray(variant.style.players) && variant.style.players.length > 0, 'variant has player colors', ); } });