프로젝트 소개
Yoga는 웹 표준에 맞춘 flexbox 의미론을 구현하는 임베디드 가능한 레이아웃 엔진입니다. 핵심 구현은 C++20으로 작성되었고 CMake로 빌드되며, 여러 프로그래밍 언어에 대한 바인딩을 제공하여 다양한 플랫폼과 런타임에서 사용할 수 있습니다.
프로젝트는 메인 라이브러리 빌드와 단위 테스트 실행을 위한 래퍼 스크립트를 제공합니다:
```sh
./unit_tests <Debug|Release>
```
ninja가 설치되어 있으면 스크립트는 더 빠른 빌드를 위해 이를 사용합니다. Yoga는 또한 Microsoft와 커뮤니티 기여자들이 유지 관리하는 vcpkg 포트로 제공되며, 사용자는 vcpkg 저장소를 통해 업데이트를 요청할 수 있습니다.
테스트는 대부분 자동화되어 있습니다. 테스트는 노드 구조를 설명하는 HTML 픽스처에서 생성되며, Chrome에서 렌더링하여 예상 레이아웃 결과를 생성합니다. 새 픽스처는 `gentest/fixtures`에 추가합니다. 예를 들어:
```html
<div id="my_test" style="width: 100px; height: 100px; align-items: center;">
<div style="width: 50px; height: 50px;"></div>
</div>
```
새 픽스처에서 테스트를 생성하려면 yarn classic을 설치하고, `yarn install`을 실행하여 테스트 생성기 종속성을 가져온 다음, yoga 디렉토리에서 `yarn gentest`를 실행하세요.
디버깅을 위해 Yoga는 VSCode 실행 구성이 포함되어 있으며, "Debug C++ Unit tests (lldb)" 또는 Windows에서는 "Debug C++ Unit tests (vsdbg)"를 통해 중단점으로 단위 테스트를 디버깅할 수 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.