diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/map/map.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/test/map/map.cpp b/test/map/map.cpp index 7e0bbd0234..314fb947f7 100644 --- a/test/map/map.cpp +++ b/test/map/map.cpp @@ -60,11 +60,20 @@ TEST(Map, SetStyleInvalidJSON) { Log::setObserver(std::make_unique<FixtureLogObserver>()); + bool fail = false; + test.view.setMapChangeCallback([&](MapChange change) { + if (change == mbgl::MapChangeDidFailLoadingMap) { + fail = true; + } + }); + { Map map(test.view, test.fileSource, MapMode::Still); map.setStyleJSON("invalid"); } + EXPECT_TRUE(fail); + auto observer = Log::removeObserver(); auto flo = dynamic_cast<FixtureLogObserver*>(observer.get()); EXPECT_EQ(1u, flo->count({ EventSeverity::Error, Event::ParseStyle, -1, @@ -73,6 +82,29 @@ TEST(Map, SetStyleInvalidJSON) { EXPECT_TRUE(unchecked.empty()) << unchecked; } +TEST(Map, SetStyleInvalidURL) { + MapTest test; + + test.fileSource.styleResponse = [] (const Resource&) { + Response response; + response.error = std::make_unique<Response::Error>( + Response::Error::Reason::Other, + "Failed by the test case"); + return response; + }; + + test.view.setMapChangeCallback([&](MapChange change) { + if (change == mbgl::MapChangeDidFailLoadingMap) { + test.runLoop.stop(); + } + }); + + Map map(test.view, test.fileSource, MapMode::Still); + map.setStyleURL("mapbox://bar"); + + test.runLoop.run(); +} + TEST(Map, DoubleStyleLoad) { MapTest test; |