MCPcopy Create free account
hub / github.com/Snapchat/Valdi / TEST

Function TEST

valdi/test/runtime/AssetsManager_tests.cpp:288–340  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

286};
287
288TEST(AssetsManager, canResolveAndLoadLocalAsset) {
289 AssetsManagerWrapper wrapper;
290
291 auto assetToLoad = makeShared<StandaloneLoadedAsset>(BytesView(), 0, 0);
292 auto assetKey = wrapper.createAndRegisterLocalAsset(assetToLoad);
293
294 wrapper.pauseWorkerQueue();
295
296 wrapper.callbacks.emplace_back([&](const auto& asset) {
297 ASSERT_EQ(AssetStateResolvingLocation, asset->getState());
298 ASSERT_TRUE(asset->getObservable() != nullptr);
299 ASSERT_EQ(static_cast<size_t>(1), asset->getConsumersSize());
300
301 auto consumer = asset->getConsumer(0);
302
303 ASSERT_EQ(AssetConsumerStateInitial, consumer->getState());
304 ASSERT_FALSE(consumer->notified());
305
306 wrapper.resumeWorkerQueue();
307 });
308 wrapper.callbacks.emplace_back([](const auto& asset) {
309 ASSERT_EQ(AssetStateReady, asset->getState());
310 ASSERT_TRUE(asset->getObservable() != nullptr);
311 ASSERT_EQ(static_cast<size_t>(1), asset->getConsumersSize());
312
313 auto consumer = asset->getConsumer(0);
314
315 ASSERT_EQ(AssetConsumerStateLoading, consumer->getState());
316 ASSERT_FALSE(consumer->notified());
317 });
318 wrapper.callbacks.emplace_back([](const auto& asset) {
319 ASSERT_EQ(AssetStateReady, asset->getState());
320 ASSERT_TRUE(asset->getObservable() != nullptr);
321 ASSERT_EQ(static_cast<size_t>(1), asset->getConsumersSize());
322
323 auto consumer = asset->getConsumer(0);
324
325 ASSERT_EQ(AssetConsumerStateLoaded, consumer->getState());
326 ASSERT_TRUE(consumer->notified());
327 });
328
329 auto result = wrapper.loadAssetSync(assetKey);
330
331 ASSERT_TRUE(result) << result.description();
332
333 auto loadedAsset = result.value().getTypedRef<LoadedAsset>();
334
335 ASSERT_TRUE(loadedAsset != nullptr) << result.description();
336
337 ASSERT_EQ(assetToLoad, loadedAsset);
338
339 wrapper.tearDown();
340}
341
342TEST(AssetsManager, canResolveAndLoadRemoteAsset) {
343 AssetsManagerWrapper wrapper;

Callers

nothing calls this directly

Calls 15

AssetKeyClass · 0.85
strongRefFunction · 0.85
makeInitializedBundleFunction · 0.85
AssetSpecsClass · 0.85
pauseWorkerQueueMethod · 0.80
getObservableMethod · 0.80
getConsumersSizeMethod · 0.80
notifiedMethod · 0.80
resumeWorkerQueueMethod · 0.80
loadAssetSyncMethod · 0.80
descriptionMethod · 0.80

Tested by

no test coverage detected