From eb9fe89612d0effca9e547deedcbe702953570b8 Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Tue, 23 Aug 2016 09:30:14 -0700 Subject: [PATCH] [tests] Test that style mutations due to annotations don't cancel style revalidation --- test/map/map.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/test/map/map.cpp b/test/map/map.cpp index 79c1993cb..2dc8aad92 100644 --- a/test/map/map.cpp +++ b/test/map/map.cpp @@ -126,6 +126,32 @@ TEST(Map, StyleExpired) { EXPECT_NE(nullptr, map.getLayer("bg")); } +TEST(Map, StyleExpiredWithAnnotations) { + // Adding an annotation should not prevent revalidation of an expired style. + + using namespace std::chrono_literals; + + MapTest test; + FakeFileSource fileSource; + + Map map(test.view, fileSource, MapMode::Still); + map.setStyleURL("mapbox://styles/test"); + EXPECT_EQ(1u, fileSource.requests.size()); + + Response response; + response.data = std::make_shared(util::read_file("test/fixtures/api/empty.json")); + response.expires = util::now() - 1h; + + fileSource.respond(Resource::Style, response); + EXPECT_EQ(1u, fileSource.requests.size()); + + map.addAnnotation(LineAnnotation { LineString {{ { 0, 0 }, { 10, 10 } }} }); + EXPECT_EQ(1u, fileSource.requests.size()); + + fileSource.respond(Resource::Style, response); + EXPECT_EQ(1u, fileSource.requests.size()); +} + TEST(Map, StyleEarlyMutation) { // An early mutation should not prevent the initial style load.