OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "google_apis/gcm/engine/heartbeat_manager.h" | 5 #include "google_apis/gcm/engine/heartbeat_manager.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/message_loop/message_loop.h" | 10 #include "base/test/test_simple_task_runner.h" |
| 11 #include "base/thread_task_runner_handle.h" |
11 #include "base/time/time.h" | 12 #include "base/time/time.h" |
12 #include "base/timer/timer.h" | 13 #include "base/timer/timer.h" |
13 #include "google_apis/gcm/protocol/mcs.pb.h" | 14 #include "google_apis/gcm/protocol/mcs.pb.h" |
14 #include "testing/gtest/include/gtest/gtest.h" | 15 #include "testing/gtest/include/gtest/gtest.h" |
15 | 16 |
16 namespace gcm { | 17 namespace gcm { |
17 | 18 |
18 namespace { | 19 namespace { |
19 | 20 |
20 mcs_proto::HeartbeatConfig BuildHeartbeatConfig(int interval_ms) { | 21 mcs_proto::HeartbeatConfig BuildHeartbeatConfig(int interval_ms) { |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 private: | 59 private: |
59 // Helper functions for verifying heartbeat manager effects. | 60 // Helper functions for verifying heartbeat manager effects. |
60 void SendHeartbeatClosure(); | 61 void SendHeartbeatClosure(); |
61 void TriggerReconnectClosure(ConnectionFactory::ConnectionResetReason reason); | 62 void TriggerReconnectClosure(ConnectionFactory::ConnectionResetReason reason); |
62 | 63 |
63 scoped_ptr<TestHeartbeatManager> manager_; | 64 scoped_ptr<TestHeartbeatManager> manager_; |
64 | 65 |
65 int heartbeats_sent_; | 66 int heartbeats_sent_; |
66 int reconnects_triggered_; | 67 int reconnects_triggered_; |
67 | 68 |
68 base::MessageLoop message_loop_; | 69 scoped_refptr<base::TestSimpleTaskRunner> task_runner_; |
| 70 base::ThreadTaskRunnerHandle task_runner_handle_; |
69 }; | 71 }; |
70 | 72 |
71 HeartbeatManagerTest::HeartbeatManagerTest() | 73 HeartbeatManagerTest::HeartbeatManagerTest() |
72 : manager_(new TestHeartbeatManager()), | 74 : manager_(new TestHeartbeatManager()), |
73 heartbeats_sent_(0), | 75 heartbeats_sent_(0), |
74 reconnects_triggered_(0) { | 76 reconnects_triggered_(0), |
| 77 task_runner_(new base::TestSimpleTaskRunner()), |
| 78 task_runner_handle_(task_runner_) { |
75 } | 79 } |
76 | 80 |
77 void HeartbeatManagerTest::StartManager() { | 81 void HeartbeatManagerTest::StartManager() { |
78 manager_->Start(base::Bind(&HeartbeatManagerTest::SendHeartbeatClosure, | 82 manager_->Start(base::Bind(&HeartbeatManagerTest::SendHeartbeatClosure, |
79 base::Unretained(this)), | 83 base::Unretained(this)), |
80 base::Bind(&HeartbeatManagerTest::TriggerReconnectClosure, | 84 base::Bind(&HeartbeatManagerTest::TriggerReconnectClosure, |
81 base::Unretained(this))); | 85 base::Unretained(this))); |
82 } | 86 } |
83 | 87 |
84 void HeartbeatManagerTest::SendHeartbeatClosure() { | 88 void HeartbeatManagerTest::SendHeartbeatClosure() { |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
279 manager()->OnHeartbeatAcked(); | 283 manager()->OnHeartbeatAcked(); |
280 | 284 |
281 till_heartbeat = manager()->GetNextHeartbeatTime() - base::TimeTicks::Now(); | 285 till_heartbeat = manager()->GetNextHeartbeatTime() - base::TimeTicks::Now(); |
282 EXPECT_LE(till_heartbeat, base::TimeDelta::FromMilliseconds( | 286 EXPECT_LE(till_heartbeat, base::TimeDelta::FromMilliseconds( |
283 manager()->GetMaxClientHeartbeatIntervalMs())); | 287 manager()->GetMaxClientHeartbeatIntervalMs())); |
284 } | 288 } |
285 | 289 |
286 } // namespace | 290 } // namespace |
287 | 291 |
288 } // namespace gcm | 292 } // namespace gcm |
OLD | NEW |