Yoga — это встраиваемый и производительный механизм макетирования Flexbox с привязками для нескольких языков.
Основная реализация Yoga ориентирована на C++ 20 с сопутствующей логикой сборки в CMake. Предоставляется оболочка для сборки основной библиотеки и запуска модульных тестов.
./unit_tests < Debug | Release >
Хотя это и не обязательно, этот сценарий будет использовать ninja, если он установлен для более быстрой сборки.
Yoga также является частью коллекции портов vcpkg, поддерживаемой Microsoft и участниками сообщества. Если версия устарела, создайте проблему или запрос на извлечение в репозитории vcpkg.
Многие тесты Yoga генерируются автоматически с использованием HTML-фикстур, описывающих структуру узлов. Они визуализируются в Chrome для создания ожидаемого результата макета дерева. Новые приборы можно добавлять в gentest/fixtures
.
< div id =" my_test " style =" width: 100px; height: 100px; align-items: center; " >
< div style =" width: 50px; height: 50px; " > </ div >
</ div >
Чтобы сгенерировать новые тесты из добавленных приборов:
yarn install
, чтобы установить зависимости для генератора тестов.yarn gentest
в каталоге yoga
. Yoga предоставляет конфигурацию VSCode «launch.json», которая позволяет отлаживать модульные тесты. Просто добавьте точки останова и запустите «Отладку модульных тестов C++ (lldb)» (или «Отладку модульных тестов C++ (vsdbg)» в Windows).