shill: Retrieve cellular signal strength in capability delegates.
Refactor only, no functional changes.
BUG=chromium-os:18735
TEST=unit tests
Change-Id: I71e5dce70fcb018a156229799a8e2e1c2bfa8e89
Reviewed-on: https://gerrit.chromium.org/gerrit/11480
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Darin Petkov <petkov@chromium.org>
Commit-Ready: Darin Petkov <petkov@chromium.org>
diff --git a/cellular_capability_cdma_unittest.cc b/cellular_capability_cdma_unittest.cc
index b340f84..7c98953 100644
--- a/cellular_capability_cdma_unittest.cc
+++ b/cellular_capability_cdma_unittest.cc
@@ -9,6 +9,7 @@
#include <mm/mm-modem.h>
#include "shill/cellular.h"
+#include "shill/cellular_service.h"
#include "shill/error.h"
#include "shill/event_dispatcher.h"
#include "shill/mock_modem_cdma_proxy.h"
@@ -34,6 +35,10 @@
proxy_(new MockModemCDMAProxy()),
capability_(cellular_.get()) {}
+ virtual ~CellularCapabilityCDMATest() {
+ cellular_->service_ = NULL;
+ }
+
protected:
static const char kMEID[];
@@ -45,6 +50,15 @@
cellular_->cdma_.registration_state_1x = state;
}
+ void SetProxy() {
+ cellular_->set_modem_cdma_proxy(proxy_.release());
+ }
+
+ void SetService() {
+ cellular_->service_ = new CellularService(
+ &control_, &dispatcher_, NULL, cellular_);
+ }
+
NiceMockControl control_;
EventDispatcher dispatcher_;
CellularRefPtr cellular_;
@@ -56,7 +70,7 @@
TEST_F(CellularCapabilityCDMATest, GetIdentifiers) {
EXPECT_CALL(*proxy_, MEID()).WillOnce(Return(kMEID));
- cellular_->set_modem_cdma_proxy(proxy_.release());
+ SetProxy();
capability_.GetIdentifiers();
EXPECT_EQ(kMEID, cellular_->meid());
capability_.GetIdentifiers();
@@ -96,4 +110,14 @@
capability_.GetRoamingStateString());
}
+TEST_F(CellularCapabilityCDMATest, GetSignalQuality) {
+ const int kStrength = 90;
+ EXPECT_CALL(*proxy_, GetSignalQuality()).WillOnce(Return(kStrength));
+ SetProxy();
+ SetService();
+ EXPECT_EQ(0, cellular_->service()->strength());
+ capability_.GetSignalQuality();
+ EXPECT_EQ(kStrength, cellular_->service()->strength());
+}
+
} // namespace shill