Class_generator/validate-compatibility-system.js
StillHammer fe7153d28b Fix compatibility system and improve UX
- Add intelligent content-game compatibility system with visual badges
- Fix Adventure Reader to work with Dragon's Pearl content structure
- Implement multi-column games grid for faster navigation
- Add pronunciation display for Chinese vocabulary and sentences
- Fix navigation breadcrumb to show proper hierarchy (Home > Levels > Content)
- Add back buttons to all navigation pages
- Improve JSONContentLoader to preserve story structure
- Add comprehensive debugging and diagnostic tools

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 19:29:21 +08:00

75 lines
2.8 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// === 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;