diff options
author | Thiago Marcos P. Santos <thiago@mapbox.com> | 2016-03-08 00:14:42 -0300 |
---|---|---|
committer | Thiago Marcos P. Santos <thiago@mapbox.com> | 2016-03-08 10:31:01 -0300 |
commit | aaf9e8256fa5f9d5cc9f4acfebf28b28d8c543e8 (patch) | |
tree | 38b12bcd58bb3462db1feb7c4228e95d300e548f /test/storage | |
parent | 672727f773070f11e9eb2755d3e9c83b75b0d2d8 (diff) | |
download | qtlocation-mapboxgl-aaf9e8256fa5f9d5cc9f4acfebf28b28d8c543e8.tar.gz |
[tests] Add utest for NetworkStatus::Online/Offline
Diffstat (limited to 'test/storage')
-rw-r--r-- | test/storage/http_retry_network_status.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/test/storage/http_retry_network_status.cpp b/test/storage/http_retry_network_status.cpp index feb07d0245..02ba8b27b1 100644 --- a/test/storage/http_retry_network_status.cpp +++ b/test/storage/http_retry_network_status.cpp @@ -101,3 +101,36 @@ TEST_F(Storage, HTTPNetworkStatusChangePreempt) { loop.run(); } + +TEST_F(Storage, HTTPNetworkStatusOnlineOffline) { + SCOPED_TEST(HTTPNetworkStatusOnlineOffline) + + using namespace mbgl; + + util::RunLoop loop; + OnlineFileSource fs; + + const Resource resource { Resource::Unknown, "http://127.0.0.1:3000/test" }; + + EXPECT_EQ(NetworkStatus::Get(), NetworkStatus::Status::Online) << "Default status should be Online"; + NetworkStatus::Set(NetworkStatus::Status::Offline); + + util::Timer onlineTimer; + onlineTimer.start(Milliseconds(100), Duration::zero(), [&] () { + NetworkStatus::Set(NetworkStatus::Status::Online); + }); + + std::unique_ptr<FileRequest> req = fs.request(resource, [&](Response res) { + req.reset(); + + EXPECT_EQ(nullptr, res.error); + ASSERT_TRUE(res.data.get()); + + EXPECT_EQ(NetworkStatus::Get(), NetworkStatus::Status::Online) << "Triggered before set back to Online"; + + loop.stop(); + HTTPNetworkStatusOnlineOffline.finish(); + }); + + loop.run(); +} |