Yoga é um mecanismo de layout flexbox incorporável e de alto desempenho com ligações para vários idiomas.
A implementação principal do Yoga tem como alvo o C++ 20 com a lógica de construção que o acompanha no CMake. Um wrapper é fornecido para construir a biblioteca principal e executar testes de unidade.
./unit_tests < Debug | Release >
Embora não seja obrigatório, este script usará ninja se estiver instalado para compilações mais rápidas.
O Yoga também faz parte da coleção vcpkg de ports mantida pela Microsoft e por colaboradores da comunidade. Se a versão estiver desatualizada, crie um problema ou solicitação pull no repositório vcpkg.
Muitos dos testes do Yoga são gerados automaticamente, usando acessórios HTML que descrevem a estrutura dos nós. Eles são renderizados no Chrome para gerar um resultado de layout esperado para a árvore. Novos fixtures podem ser adicionados em gentest/fixtures
.
< div id =" my_test " style =" width: 100px; height: 100px; align-items: center; " >
< div style =" width: 50px; height: 50px; " > </ div >
</ div >
Para gerar novos testes a partir de fixtures adicionados:
yarn install
para instalar dependências para o gerador de teste.yarn gentest
no diretório yoga
. Yoga fornece uma configuração VSCode "launch.json" que permite depurar testes de unidade. Basta adicionar seus pontos de interrupção e executar "Testes de unidade de depuração C++ (lldb)" (ou "Testes de unidade de depuração C++ (vsdbg)" no Windows).