26 lines
1.3 KiB
JavaScript
26 lines
1.3 KiB
JavaScript
const { calculateContrastRatio, meetsWCAGStandard } = require('../src/lib/color-contrast.ts');
|
|
|
|
console.log('Testing CSS color contrast...');
|
|
|
|
const primaryResult = meetsWCAGStandard('#1C1C1C', '#FFFFFF', 'AA', 'normal');
|
|
console.log('Primary text (#1C1C1C) on background (#FFFFFF):', primaryResult);
|
|
|
|
const tertiaryResult = meetsWCAGStandard('#4A4A4A', '#FFFFFF', 'AA', 'normal');
|
|
console.log('Tertiary text (#4A4A4A) on background (#FFFFFF):', tertiaryResult);
|
|
|
|
const mutedResult = meetsWCAGStandard('#6B6B6B', '#FFFFFF', 'AA', 'normal');
|
|
console.log('Muted text (#6B6B6B) on background (#FFFFFF):', mutedResult);
|
|
|
|
console.log('\nExpected: All should pass (passes: true)');
|
|
console.log('Actual results:');
|
|
console.log('- Primary:', primaryResult.passes ? '✓ PASS' : '✗ FAIL', `(ratio: ${primaryResult.ratio.toFixed(2)}:1)`);
|
|
console.log('- Tertiary:', tertiaryResult.passes ? '✓ PASS' : '✗ FAIL', `(ratio: ${tertiaryResult.ratio.toFixed(2)}:1)`);
|
|
console.log('- Muted:', mutedResult.passes ? '✓ PASS' : '✗ FAIL', `(ratio: ${mutedResult.ratio.toFixed(2)}:1)`);
|
|
|
|
if (!primaryResult.passes || !tertiaryResult.passes || !mutedResult.passes) {
|
|
console.log('\n⚠️ Some tests failed - need to optimize CSS variables');
|
|
process.exit(1);
|
|
}
|
|
|
|
console.log('\n✅ All tests passed!');
|