@@ -16,6 +16,7 @@ def test_lv_conf_enables_sdl2_without_sdl_draw_backend():
1616 assert "#define LV_SDL_DIRECT_EXIT 0" in lv_conf
1717 assert "#define LV_SDL_MOUSEWHEEL_MODE LV_SDL_MOUSEWHEEL_MODE_ENCODER" in lv_conf
1818 assert "#define LV_USE_DRAW_SDL 0" in lv_conf
19+ assert "#define LV_USE_DEMO_WIDGETS 1" in lv_conf
1920
2021
2122def test_cmake_wires_sdl2_config_into_lvgl_target ():
@@ -28,6 +29,7 @@ def test_cmake_wires_sdl2_config_into_lvgl_target():
2829 assert 'set(SDL2_INCLUDE_DIR "${SDL2_PREFIX}/include")' in cmake
2930 assert 'target_include_directories(lvgl PRIVATE "${SDL2_INCLUDE_DIR}")' in cmake
3031 assert "target_compile_options(lvgl PRIVATE ${SDL2_CFLAGS_LIST})" in cmake
32+ assert "set(LV_CONF_BUILD_DISABLE_DEMOS OFF CACHE BOOL" in cmake
3133
3234
3335def test_build_script_requires_sdl2_and_writes_manifest_metadata ():
@@ -43,6 +45,23 @@ def test_build_script_requires_sdl2_and_writes_manifest_metadata():
4345 assert "sdl2.version=${sdl2_version}" in script
4446 assert "sdl2.cflags=${sdl2_cflags}" in script
4547 assert "sdl2.libs=${sdl2_libs}" in script
48+ assert "-DLV_CONF_BUILD_DISABLE_DEMOS=OFF" in script
49+ assert "cmake --build \" ${build_dir}\" --target lvgl lvgl_demos" in script
50+ assert "cp \" ${build_dir}/lib/liblvgl_demos.a\" \" ${dist_dir}/lib/liblvgl_demos.a\" " in script
51+ assert "demo_widgets=enabled" in script
52+ assert "demo_lib_hash=${demo_lib_hash}" in script
53+
54+
55+ def test_package_exports_widgets_demo_library_headers_and_manifest ():
56+ script = (REPO_ROOT / "scripts/build_host_macos.sh" ).read_text (encoding = "utf-8" )
57+ verify = (REPO_ROOT / "scripts/verify_package.sh" ).read_text (encoding = "utf-8" )
58+
59+ assert 'test -f "${dist_dir}/lib/liblvgl_demos.a"' in verify
60+ assert 'test -f "${dist_dir}/include/demos/widgets/lv_demo_widgets.h"' in verify
61+ assert 'test -f "${dist_dir}/include/demos/lv_demos.h"' in verify
62+ assert 'find "${source_dir}/demos" -type f -name' in script
63+ assert 'cp "${header}" "${dist_dir}/include/${relative_path}"' in script
64+ assert 'grep -q "demo_widgets=enabled" "${dist_dir}/lvgl_package.txt"' in verify
4665
4766
4867def test_verify_script_compiles_sdl2_demo_and_runs_only_when_requested ():
@@ -55,6 +74,10 @@ def test_verify_script_compiles_sdl2_demo_and_runs_only_when_requested():
5574 assert '-I"${sdl2_include_dir}"' in script
5675 assert "LVGL_RUN_SDL2_DEMO" in script
5776 assert "host_macos_sdl2_demo" in script
77+ assert "verify_widgets_demo.c" in script
78+ assert '#include "demos/widgets/lv_demo_widgets.h"' in script
79+ assert "lv_demo_widgets();" in script
80+ assert '"${dist_dir}/lib/liblvgl_demos.a"' in script
5881
5982
6083def test_sdl2_demo_uses_lvgl_sdl_window_input_and_label ():
0 commit comments