Add Map.VolatileSource unit test

This commit is contained in:
Mikhail Pozdnyakov
2020-04-21 18:59:29 +03:00
parent dc7b1dd34f
commit b120cdd207

View File

@@ -1529,3 +1529,36 @@ TEST(Map, PlacedSymbolData) {
EXPECT_TRUE(test.frontend.getRenderer()->getPlacedSymbolsData().empty());
}
TEST(Map, VolatileSource) {
MapTest<> test{1, MapMode::Continuous};
std::atomic_int requestedTiles(0);
bool isVolatile = true;
test.fileSource->tileResponse = [&](const Resource& resource) {
auto expectedPolicy = isVolatile ? Resource::StoragePolicy::Volatile : Resource::StoragePolicy::Permanent;
EXPECT_EQ(expectedPolicy, resource.storagePolicy);
++requestedTiles;
Response res;
res.noContent = true;
return res;
};
test.map.getStyle().loadJSON(R"STYLE({
"version": 8,
"layers": [{
"id": "water",
"type": "fill",
"source": "vector",
"source-layer": "water"
}]
})STYLE");
auto source = std::make_unique<VectorSource>("vector", Tileset{{"a/{z}/{x}/{y}"}});
source->setVolatile(isVolatile);
test.map.getStyle().addSource(std::move(source));
test.map.jumpTo(CameraOptions().withZoom(16.0));
test.observer.didFinishLoadingMapCallback = [&] { test.runLoop.stop(); };
test.runLoop.run();
EXPECT_EQ(8, requestedTiles);
}