- Add 26 documentation files including test reports, deployment guides, and troubleshooting documentation - Include 3 CSV data files for trainer imports and user registration tracking - Add 43 JavaScript test files covering mobile optimization, Safari compatibility, and E2E testing - Include 18 PHP utility files for debugging, geocoding, and data analysis - Add 12 shell scripts for deployment verification, user management, and database operations - Update .gitignore with whitelist patterns for development files, documentation, and CSV data 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
63 lines
No EOL
2.7 KiB
JavaScript
63 lines
No EOL
2.7 KiB
JavaScript
// Safari Compatibility Test Script
|
|
// Run this in a Safari browser console on the find-a-trainer page
|
|
|
|
console.log('=== Safari Compatibility Test ===');
|
|
|
|
// Test 1: Check if Safari-compatible script is loaded
|
|
console.log('1. Checking script sources...');
|
|
const scripts = Array.from(document.querySelectorAll('script[src*="find-trainer"]'));
|
|
const safariScript = scripts.find(s => s.src.includes('safari-compatible'));
|
|
const regularScript = scripts.find(s => s.src.includes('find-trainer.js') && !s.src.includes('safari-compatible'));
|
|
|
|
console.log('Scripts found:', scripts.map(s => s.src));
|
|
console.log('Safari-compatible script loaded:', !!safariScript);
|
|
console.log('Regular script loaded:', !!regularScript);
|
|
|
|
// Test 2: Check if hvac_find_trainer object exists
|
|
console.log('2. Checking localized data...');
|
|
console.log('hvac_find_trainer exists:', typeof hvac_find_trainer !== 'undefined');
|
|
if (typeof hvac_find_trainer !== 'undefined') {
|
|
console.log('Browser info:', hvac_find_trainer.browser_info);
|
|
}
|
|
|
|
// Test 3: Check if jQuery is working
|
|
console.log('3. Checking jQuery...');
|
|
console.log('jQuery loaded:', typeof $ !== 'undefined');
|
|
console.log('jQuery version:', typeof $ !== 'undefined' ? $.fn.jquery : 'not available');
|
|
|
|
// Test 4: Check for JavaScript errors
|
|
console.log('4. Checking for ES6+ syntax issues...');
|
|
try {
|
|
// Try some ES6 features that Safari might not support
|
|
const testArrow = () => 'arrow function works';
|
|
const testTemplate = `template literal works`;
|
|
const testConst = 'const works';
|
|
|
|
console.log('ES6 arrow functions:', testArrow());
|
|
console.log('ES6 template literals:', testTemplate);
|
|
console.log('ES6 const:', testConst);
|
|
} catch (e) {
|
|
console.error('ES6 syntax error:', e.message);
|
|
console.log('✅ This confirms Safari-compatible script should be loaded');
|
|
}
|
|
|
|
// Test 5: Check if find-trainer functionality works
|
|
console.log('5. Checking find-trainer elements...');
|
|
const filterButtons = document.querySelectorAll('.hvac-filter-btn');
|
|
const trainerCards = document.querySelectorAll('.hvac-trainer-card');
|
|
const searchBox = document.querySelector('#hvac-trainer-search');
|
|
|
|
console.log('Filter buttons found:', filterButtons.length);
|
|
console.log('Trainer cards found:', trainerCards.length);
|
|
console.log('Search box found:', !!searchBox);
|
|
|
|
// Test 6: Check if click events work
|
|
console.log('6. Testing click events...');
|
|
if (filterButtons.length > 0) {
|
|
console.log('Filter buttons are interactive:', filterButtons[0].onclick !== null ||
|
|
filterButtons[0].addEventListener !== undefined);
|
|
}
|
|
|
|
console.log('=== Test Complete ===');
|
|
console.log('Open browser dev tools and check for JavaScript errors');
|
|
console.log('Try clicking filter buttons to test functionality'); |