From b1e857cf1471d1871a9396696b22fa531da98249 Mon Sep 17 00:00:00 2001 From: Aldrik Ramaekers Date: Sat, 23 Nov 2024 22:33:43 +0100 Subject: add projbase to repo --- project-base/tests/test_assets.c | 71 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 project-base/tests/test_assets.c (limited to 'project-base/tests/test_assets.c') diff --git a/project-base/tests/test_assets.c b/project-base/tests/test_assets.c new file mode 100644 index 0000000..22e0a3f --- /dev/null +++ b/project-base/tests/test_assets.c @@ -0,0 +1,71 @@ +extern unsigned char _binary_examples_logo_64_bmp_start[]; +extern unsigned char _binary_examples_logo_64_bmp_end[]; + +extern unsigned char _binary_examples_logo_64_png_start[]; +extern unsigned char _binary_examples_logo_64_png_end[]; + +extern unsigned char _binary_examples_mono_ttf_start[]; +extern unsigned char _binary_examples_mono_ttf_end[]; + +s32 test_assets_queue_and_postprocess_count(int argc, char** argv) { + platform_init(argc, argv, CONFIG_DIRECTORY); + + image* img = assets_load_bitmap(_binary_examples_logo_64_bmp_start, _binary_examples_logo_64_bmp_end); + image* img2 = assets_load_image(_binary_examples_logo_64_png_start, _binary_examples_logo_64_png_end); + + thread_sleep(1000 * 50); // 50ms + + error_if(global_asset_collection.images.length == 0); + error_if(global_asset_collection.post_process_queue.length != 2); + assets_do_post_process(); + error_if(global_asset_collection.post_process_queue.length != 0); + + platform_destroy(); + + success; +} + +s32 test_assets_load_embedded(int argc, char** argv) { + platform_init(argc, argv, CONFIG_DIRECTORY); + + image* img = assets_load_bitmap(_binary_examples_logo_64_bmp_start, _binary_examples_logo_64_bmp_end); + image* img2 = assets_load_image(_binary_examples_logo_64_png_start, _binary_examples_logo_64_png_end); + font* fnt = assets_load_font(_binary_examples_mono_ttf_start, _binary_examples_mono_ttf_end, 36); + error_if(!img); + error_if(!img2); + error_if(!fnt); + + thread_sleep(1000 * 50); // 50ms + assets_do_post_process(); + + error_if(!img->loaded); + error_if(!img2->loaded); + error_if(!fnt->loaded); + + platform_destroy(); + + success; +} + +s32 test_assets_load_file(int argc, char** argv) { + platform_init(argc, argv, CONFIG_DIRECTORY); + + image* img = assets_load_bitmap_from_file("logo_64.bmp"); + image* img2 = assets_load_image_from_file("logo_64.png"); + font* fnt = assets_load_font_from_file("mono.ttf", 48); + error_if(!img); + error_if(!img2); + error_if(!fnt); + + thread_sleep(1000 * 50); // 50ms + assets_do_post_process(); + + error_if(!img->loaded); + error_if(!img2->loaded); + error_if(!fnt->loaded); + + platform_destroy(); + + success; +} + -- cgit v1.2.3-70-g09d2