summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorThiago Marcos P. Santos <thiago@mapbox.com>2016-03-08 00:14:42 -0300
committerThiago Marcos P. Santos <thiago@mapbox.com>2016-03-08 10:31:01 -0300
commitaaf9e8256fa5f9d5cc9f4acfebf28b28d8c543e8 (patch)
tree38b12bcd58bb3462db1feb7c4228e95d300e548f /test
parent672727f773070f11e9eb2755d3e9c83b75b0d2d8 (diff)
downloadqtlocation-mapboxgl-aaf9e8256fa5f9d5cc9f4acfebf28b28d8c543e8.tar.gz
[tests] Add utest for NetworkStatus::Online/Offline
Diffstat (limited to 'test')
-rw-r--r--test/storage/http_retry_network_status.cpp33
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();
+}