diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-10-17 15:42:30 +0300 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-10-17 15:44:16 +0300 |
commit | a89294b3a593f1c9e4f903e6ebb388a4de7908ce (patch) | |
tree | 657935721fe2f044a888054648bc8075a1a190eb | |
parent | e4a31e3554c34af88df72722313a761d1b9cd46b (diff) | |
download | qtlocation-mapboxgl-upstream/mikhail_fix_pending_image_requests.tar.gz |
[core] Update ImageManager.OnStyleImageMissingBeforeSpriteLoadedupstream/mikhail_fix_pending_image_requests
So that it checks pending image requests for a different requestor.
-rw-r--r-- | test/renderer/image_manager.test.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/test/renderer/image_manager.test.cpp b/test/renderer/image_manager.test.cpp index f1061ce59e..20c0a3a7f3 100644 --- a/test/renderer/image_manager.test.cpp +++ b/test/renderer/image_manager.test.cpp @@ -189,7 +189,7 @@ TEST(ImageManager, OnStyleImageMissingBeforeSpriteLoaded) { // Repeated request of the same image shall not result another // `ImageManagerObserver.onStyleImageMissing()` call. - imageManager.getImages(requestor, std::make_pair(dependencies, imageCorrelationID)); + imageManager.getImages(requestor, std::make_pair(dependencies, ++imageCorrelationID)); runLoop.runOnce(); EXPECT_EQ(observer.count, 1); @@ -197,10 +197,20 @@ TEST(ImageManager, OnStyleImageMissingBeforeSpriteLoaded) { // Request for updated dependencies must be dispatched to the // observer. dependencies.emplace("post", ImageType::Icon); - imageManager.getImages(requestor, std::make_pair(dependencies, imageCorrelationID)); + imageManager.getImages(requestor, std::make_pair(dependencies, ++imageCorrelationID)); runLoop.runOnce(); EXPECT_EQ(observer.count, 2); + + // Another requestor shall not have pending requests for already obtained images. + StubImageRequestor anotherRequestor(imageManager); + imageManager.getImages(anotherRequestor, std::make_pair(dependencies, ++imageCorrelationID)); + ASSERT_FALSE(anotherRequestor.hasPendingRequests()); + + dependencies.emplace("unfamiliar", ImageType::Icon); + imageManager.getImages(anotherRequestor, std::make_pair(dependencies, ++imageCorrelationID)); + EXPECT_TRUE(anotherRequestor.hasPendingRequests()); + EXPECT_TRUE(anotherRequestor.hasPendingRequest("unfamiliar")); } TEST(ImageManager, OnStyleImageMissingAfterSpriteLoaded) { |