[tests] Add unit test for style loading failures

This commit is contained in:
Thiago Marcos P. Santos
2016-08-24 19:57:16 +03:00
parent c98f4f476b
commit 1d7a5b0fe0
3 changed files with 42 additions and 0 deletions

View File

@@ -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;