À propos du projet
Yoga est un moteur de mise en page embarquable qui implémente la sémantique flexbox conforme aux normes du web. Son implémentation principale est écrite en C++20 et construite avec CMake, et il fournit des liaisons pour plusieurs langages de programmation, ce qui le rend utilisable sur différentes plateformes et runtimes.
Le projet fournit un script d'encapsulation pour construire la bibliothèque principale et exécuter les tests unitaires :
./unit_tests Debug|Release
Si ninja est installé, le script l'utilise pour des builds plus rapides. Yoga est également disponible en tant que port vcpkg maintenu par Microsoft et des contributeurs communautaires ; les utilisateurs peuvent demander des mises à jour via le dépôt vcpkg.
Les tests sont largement automatisés. Les tests sont générés à partir de fixtures HTML qui décrivent la structure des nœuds, rendues dans Chrome pour produire les résultats de mise en page attendus. Les nouvelles fixtures vont dans gentest/fixtures, par exemple :
un div avec id my_test et style width: 100px; height: 100px; align-items: center; contenant un div enfant avec width: 50px; height: 50px;
Pour générer des tests à partir de nouvelles fixtures, installez yarn classic, exécutez yarn install pour récupérer les dépendances du générateur de tests, puis exécutez yarn gentest dans le répertoire yoga.
Pour le débogage, Yoga inclut une configuration de lancement VSCode qui prend en charge le débogage des tests unitaires avec points d'arrêt via « Debug C++ Unit tests (lldb) » ou, sous Windows, « Debug C++ Unit tests (vsdbg) ».
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.