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

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