Sobre o projeto
Yoga é um mecanismo de layout embutível que implementa semântica de flexbox alinhada aos padrões web. Sua implementação principal é escrita em C++20 e construída com CMake, e acompanha bindings para múltiplas linguagens de programação, tornando-o utilizável em várias plataformas e runtimes.
O projeto fornece um script wrapper para compilar a biblioteca principal e executar testes unitários: ./unit_tests Debug|Release. Se o ninja estiver instalado, o script o utiliza para builds mais rápidos. Yoga também está disponível como um port vcpkg mantido pela Microsoft e por colaboradores da comunidade; os usuários podem solicitar atualizações por meio do repositório vcpkg.
Os testes são em grande parte automatizados. Os testes são gerados a partir de fixtures HTML que descrevem a estrutura de nós, renderizadas no Chrome para produzir os resultados de layout esperados. Novas fixtures vão em gentest/fixtures, por exemplo: um contêiner com id 'my_test' e estilo de 100px por 100px com 'align-items: center', contendo uma div de 50px por 50px.
Para gerar testes a partir de novas fixtures, instale o yarn classic, execute yarn install para baixar as dependências do gerador de testes e, em seguida, execute yarn gentest no diretório yoga.
Para depuração, o Yoga inclui uma configuração de inicialização do VSCode que suporta depuração de testes unitários com breakpoints por meio de 'Debug C++ Unit tests (lldb)' ou, no Windows, 'Debug C++ Unit tests (vsdbg)'.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.