summaryrefslogtreecommitdiff
path: root/test/map/map.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/map/map.cpp')
-rw-r--r--test/map/map.cpp32
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;