ES6 Modules Test - Custom Admin
Testing extracted core utilities and UI notifications modules.
2. Notifications Test
3. Button Loading State Test
4. Utility Functions Test
5. Async Handler Test
';
const safe = escapeHtml(dangerous);
document.getElementById('utility-output').innerHTML = `
Input: ${dangerous}
Escaped: ${safe}
`;
});
document.getElementById('test-url-validation').addEventListener('click', () => {
const tests = [
'https://circleseven.co.uk',
'http://example.com',
'not a url',
'ftp://files.example.com'
];
const results = tests.map(url => {
const valid = isValidUrl(url);
return `${url}: ${valid ? '✓ Valid' : '✗ Invalid'}
`;
}).join('');
document.getElementById('utility-output').innerHTML = results;
});
// Test 5: Async Handler
document.getElementById('async-success-btn').addEventListener('click',
asyncHandler(async () => {
await new Promise(resolve => setTimeout(resolve, 500));
showSuccess('Async operation completed successfully!');
})
);
document.getElementById('async-error-btn').addEventListener('click',
asyncHandler(async () => {
await new Promise(resolve => setTimeout(resolve, 500));
throw new Error('Simulated async error - this should be caught!');
})
);
console.log('✓ All modules loaded successfully!');
console.log('✓ DEBOUNCE_DELAY:', DEBOUNCE_DELAY);