Fournit des contrôles d’accessibilité, de compatibilité, de performance et de régression pour le défilement infini. Cette référence fixe la limite d’adoption, le comportement en cas d’échec et les preuves observables tout en laissant les limites spécifiques à l’environnement configurables.
Statut du package : contexte de référence prêt pour revue humaine. Le contrat et les scénarios de test sont complets, mais aucune affirmation n’est faite quant à une implémentation adoptante les ayant validés.
Décision
Pour le défilement infini, adopter un modèle typé d’état utilisateur avec les données serveur distinctes de l’état de vue transitoire. Traiter le bloc comme un contrat de publication et de régression construit à partir de cas représentatifs positifs, limites, refus, échecs et récupération. Ce package est un contrat de référence : l’équipe adoptante doit choisir les limites numériques, fournisseurs, juridictions et responsables opérationnels à partir des preuves dans son propre environnement.
Portée
- Les acteurs, entrées, sorties, états, versions de politique ou de schéma, et résultats visibles de l’extérieur du défilement infini décrits par ce bloc de test.
- Interfaces principales et alternatives, travaux en arrière-plan, caches, intégrations, chemins de support et preuves pouvant exercer la même limite.
- Configuration spécifique à l’adoption, déploiement, récupération et responsabilités de vérification nécessaires pour appliquer la référence en toute sécurité.
Hors de ce bloc
- Choisir un fournisseur universel, un framework, une juridiction, un seuil numérique, une période de rétention ou un objectif de niveau de service pour chaque adoptant.
- Affirmer que les scénarios packagés ont été exécutés contre une implémentation en aval ou que cette référence accorde une certification légale, de sécurité ou d’accessibilité.
Contrat
- Représenter explicitement les erreurs de chargement, vide, prêt, périmé, hors ligne, validation, autorisation et dépendance là où elles peuvent survenir.
- Maintenir synchronisés l’URL, l’enregistrement serveur et l’état du composant via des règles de propriété nommées au lieu de copies mutables en miroir.
- Préserver le fonctionnement au clavier, le focus, les étiquettes, les annonces, le zoom et le comportement de réduction du mouvement à travers les mises en page adaptatives.
- Annuler ou ignorer les travaux asynchrones obsolètes pour qu’une réponse plus ancienne ne puisse pas écraser une intention utilisateur plus récente.
- Enregistrer la version du fixture, l’environnement, la configuration, le résultat observé et l’emplacement de la preuve pour chaque exécution porteuse de décision.
- Séparer les échecs produit, échecs de dépendance, échecs d’infrastructure de test et preuves non concluantes dans les rapports.
- Paginer avec un curseur stable et un ordre déterministe, dédupliquer les résultats qui se chevauchent, lier filtres et autorisation au curseur, et arrêter ou récupérer en toute sécurité lorsque le jeu de données change.
- Exposer les états de chargement, fin, vide et erreur ; préserver le focus et la position lors de la navigation ; et fournir une alternative accessible au chargement automatique sans fin.
Conseils d’implémentation
- Construire le plus petit ensemble de fixtures déterministes couvrant les classes de risque, puis ajouter des cas dérivés de la production uniquement après revue respectueuse de la vie privée.
- Modéliser les entrées, sorties, acteurs, états, invariants, effets secondaires et preuves du défilement infini avant de sélectionner les détails du framework ou du fournisseur.
- Stocker la version applicable du contrat ou de la politique de défilement infini avec l’état matériel pour que les migrations, rejouages et décisions de support restent attribuables.
- Introduire la voie derrière un déploiement contrôlé, comparer les résultats attendus et observés, et conserver une route de récupération testée jusqu’à ce que les preuves d’adoption soient complètes.
Gestion des échecs et protections
- Une requête échouée préserve l’entrée récupérable, identifie l’opération affectée et n’offre que des tentatives sûres pour cette opération.
- L’état invalide ou contradictoire du défilement infini est rejeté ou mis en quarantaine ; l’implémentation ne devine jamais une valeur qui étend l’autorité ou duplique un effet.
- Les tentatives sont limitées et utilisent une identité durable ; après épuisement, le travail atteint un état terminal inspectable avec un propriétaire responsable.
Vérification et opérations
- Exécuter la suite deux fois à partir d’un état propre et confirmer que l’ordre, les tentatives et l’exécution parallèle ne changent pas le verdict.
- Surveiller le succès, le refus, l’échec de validation, l’échec de dépendance, l’épuisement des tentatives et la récupération du défilement infini par version de contrat sans dimensions sensibles de charge utile.
- Réexécuter les fixtures positives et négatives appariées après des changements de politique, schéma, dépendance, migration ou limite et conserver les preuves résultantes.
Hypothèses d’adoption
- Les noms et valeurs dans l’exemple sont un fixture concret, pas des valeurs par défaut universelles ; les adoptants les remplacent par des preuves et une propriété documentées.
- Le système adoptant peut fournir une identité authentifiée, des versions durables d’opération ou d’enregistrement, une télémétrie limitée et une voie contrôlée pour le changement.
Les exemples à l’apparence exécutable dans ce package sont des fixtures et des contrats d’acceptation. Exécutez le validateur de collection pour vérifier la structure et les métadonnées, puis traduisez et exécutez les scénarios dans le dépôt cible avant d’enregistrer les preuves d’implémentation.