40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
|
|
#!/usr/bin/env node
|
||
|
|
import { chromium } from 'playwright';
|
||
|
|
|
||
|
|
(async () => {
|
||
|
|
const browser = await chromium.launch({ headless: true });
|
||
|
|
const page = await browser.newPage();
|
||
|
|
|
||
|
|
await page.goto(`http://localhost:1999/?lang=en&_=${Date.now()}`);
|
||
|
|
await page.waitForTimeout(1000);
|
||
|
|
|
||
|
|
// Test synchronization programmatically
|
||
|
|
const result = await page.evaluate(() => {
|
||
|
|
const desktopToggle = document.querySelector('#lengthToggle');
|
||
|
|
const menuToggle = document.querySelector('#lengthToggleMenu');
|
||
|
|
|
||
|
|
const initialDesktop = desktopToggle.checked;
|
||
|
|
|
||
|
|
// Simulate clicking desktop toggle
|
||
|
|
toggleCVLength(!initialDesktop);
|
||
|
|
|
||
|
|
// Check if menu synced
|
||
|
|
const menuAfterToggle = menuToggle.checked;
|
||
|
|
|
||
|
|
return {
|
||
|
|
initialDesktop,
|
||
|
|
menuAfterToggle,
|
||
|
|
synced: menuAfterToggle === !initialDesktop
|
||
|
|
};
|
||
|
|
});
|
||
|
|
|
||
|
|
console.log('\nToggle Sync Test:');
|
||
|
|
console.log('Initial desktop state:', result.initialDesktop);
|
||
|
|
console.log('After toggling desktop to:', !result.initialDesktop);
|
||
|
|
console.log('Menu checkbox state:', result.menuAfterToggle);
|
||
|
|
console.log('Sync status:', result.synced ? '✅ SYNCED' : '❌ NOT SYNCED');
|
||
|
|
|
||
|
|
await browser.close();
|
||
|
|
process.exit(result.synced ? 0 : 1);
|
||
|
|
})();
|