// === SCRIPT DE VALIDATION DU SYSTÈME DE COMPATIBILITÉ === // Fonction pour tester le chargement des modules async function validateCompatibilitySystem() { console.log('🧪 Validation du système de compatibilité...'); // Test 1: Vérifier que les classes globales existent console.log('\n1️⃣ Test des classes globales:'); const requiredClasses = [ 'ContentScanner', 'ContentGameCompatibility' ]; requiredClasses.forEach(className => { if (window[className]) { console.log(`✅ ${className} est disponible`); } else { console.error(`❌ ${className} manquant!`); } }); // Test 2: Initialiser les systèmes console.log('\n2️⃣ Test d\'initialisation:'); try { const scanner = new window.ContentScanner(); console.log('✅ ContentScanner initialisé'); const checker = new window.ContentGameCompatibility(); console.log('✅ ContentGameCompatibility initialisé'); // Test 3: Scanner le contenu console.log('\n3️⃣ Test du scan de contenu:'); const results = await scanner.scanAllContent(); console.log(`✅ Scan terminé: ${results.found.length} modules trouvés`); // Test 4: Test de compatibilité console.log('\n4️⃣ Test de compatibilité:'); if (results.found.length > 0) { const testContent = results.found[0]; const compatibility = checker.checkCompatibility(testContent, 'whack-a-mole'); console.log(`✅ Test compatibilité: ${testContent.name} → whack-a-mole = ${compatibility.compatible ? 'Compatible' : 'Incompatible'} (${compatibility.score}%)`); } // Test 5: Vérifier AppNavigation console.log('\n5️⃣ Test de l\'intégration navigation:'); if (window.AppNavigation && window.AppNavigation.compatibilityChecker) { console.log('✅ AppNavigation a le système de compatibilité intégré'); } else { console.log('⚠️ AppNavigation n\'a pas le système de compatibilité'); } console.log('\n🎉 Tous les tests passés!'); return true; } catch (error) { console.error(`❌ Erreur pendant les tests: ${error.message}`); console.error(error.stack); return false; } } // Auto-exécution si ce script est chargé directement if (typeof window !== 'undefined') { // Attendre que tous les scripts soient chargés if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', () => { setTimeout(validateCompatibilitySystem, 1000); }); } else { setTimeout(validateCompatibilitySystem, 1000); } } // Export pour utilisation manuelle window.validateCompatibilitySystem = validateCompatibilitySystem;