/**
 * W5 Step 6 — contrast floor (6c). Runs under default vitest config.
 */
import { describe, expect, it } from 'vitest';
import { contrastRatio, parseHex } from '@platform-modules/ui-tokens/theme-engine';
import { MOD_CMS_PALETTE_SET } from '../lib/theme.js';

describe('W5 ink-on-bg contrast floor (6c)', () => {
  const combos = [
    { paletteId: 'default', mode: 'light' as const },
    { paletteId: 'default', mode: 'dark' as const },
    { paletteId: 'slate', mode: 'light' as const },
    { paletteId: 'slate', mode: 'dark' as const },
  ];

  it.each(combos)('$paletteId × $mode fg/bg >= 12:1', ({ paletteId, mode }) => {
    const palette = MOD_CMS_PALETTE_SET.palettes.find((p) => p.id === paletteId)!;
    const colors = palette.colors[mode];
    const ratio = contrastRatio(parseHex(colors.fg)!, parseHex(colors.bg)!);
    expect(ratio).toBeGreaterThanOrEqual(12);
  });
});
