diff options
Diffstat (limited to 'src/tests/test_assets.cc')
| -rw-r--r-- | src/tests/test_assets.cc | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/tests/test_assets.cc b/src/tests/test_assets.cc index e8b6318..b7ee8be 100644 --- a/src/tests/test_assets.cc +++ b/src/tests/test_assets.cc @@ -16,21 +16,36 @@ int main() { printf("Running AssetManager test...\n"); size_t size = 0; - const uint8_t* data = GetAsset(AssetId::ASSET_TEST_ASSET, &size); + const uint8_t* data1 = GetAsset(AssetId::ASSET_TEST_ASSET, &size); - assert(data != nullptr); + assert(data1 != nullptr); assert(size > 0); const char* expected_prefix = "This is a test asset file."; - if (strncmp((const char*)data, expected_prefix, strlen(expected_prefix)) == + if (strncmp((const char*)data1, expected_prefix, strlen(expected_prefix)) == 0) { printf("Asset content verification: SUCCESS\n"); } else { printf("Asset content verification: FAILED\n"); - printf("Got: %.*s\n", (int)size, (const char*)data); + printf("Got: %.*s\n", (int)size, (const char*)data1); return 1; } + // Test caching: request the same asset again and verify pointer is identical + size_t size2 = 0; + const uint8_t* data2 = GetAsset(AssetId::ASSET_TEST_ASSET, &size2); + assert(data2 != nullptr); + assert(size2 == size); + assert(data1 == data2); // Pointers should be the same for cached static asset + printf("Asset caching test: SUCCESS\n"); + + // Test ASSET_LAST_ID - should not return a valid asset + size_t last_id_size = 0; + const uint8_t* last_id_data = GetAsset(AssetId::ASSET_LAST_ID, &last_id_size); + assert(last_id_data == nullptr); + assert(last_id_size == 0); + printf("ASSET_LAST_ID test: SUCCESS\n"); + printf("Asset size: %zu bytes\n", size); printf("AssetManager test PASSED\n"); |
