Add Map.VolatileSource unit test
This commit is contained in:
@@ -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);
|
||||
}
|
||||
Reference in New Issue
Block a user