shill: Move Get{NetworkTechnology|RoamingState} to the capability delegates.
BUG=chromium-os:18735
TEST=unit tests
Change-Id: I29cd4054810d44718047717234f5ccfddf3a745c
Reviewed-on: https://gerrit.chromium.org/gerrit/11376
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Eric Shienbrood <ers@chromium.org>
Commit-Ready: Darin Petkov <petkov@chromium.org>
diff --git a/cellular_capability_gsm_unittest.cc b/cellular_capability_gsm_unittest.cc
index 2659727..56a96e5 100644
--- a/cellular_capability_gsm_unittest.cc
+++ b/cellular_capability_gsm_unittest.cc
@@ -4,7 +4,9 @@
#include "shill/cellular_capability_gsm.h"
+#include <chromeos/dbus/service_constants.h>
#include <gtest/gtest.h>
+#include <mm/mm-modem.h>
#include "shill/cellular.h"
#include "shill/error.h"
@@ -44,6 +46,14 @@
capability_.card_proxy_.reset(card_proxy_.release());
}
+ void SetAccessTechnology(uint32 technology) {
+ cellular_->gsm_.access_technology = technology;
+ }
+
+ void SetRegistrationState(uint32 state) {
+ cellular_->gsm_.registration_state = state;
+ }
+
NiceMockControl control_;
EventDispatcher dispatcher_;
CellularRefPtr cellular_;
@@ -113,4 +123,58 @@
dispatcher_.DispatchPendingEvents();
}
+TEST_F(CellularCapabilityGSMTest, GetNetworkTechnologyString) {
+ EXPECT_EQ("", capability_.GetNetworkTechnologyString());
+ SetAccessTechnology(MM_MODEM_GSM_ACCESS_TECH_GSM);
+ EXPECT_EQ("", capability_.GetNetworkTechnologyString());
+ SetRegistrationState(MM_MODEM_GSM_NETWORK_REG_STATUS_HOME);
+ EXPECT_EQ(flimflam::kNetworkTechnologyGsm,
+ capability_.GetNetworkTechnologyString());
+ SetAccessTechnology(MM_MODEM_GSM_ACCESS_TECH_GSM_COMPACT);
+ EXPECT_EQ(flimflam::kNetworkTechnologyGsm,
+ capability_.GetNetworkTechnologyString());
+ SetAccessTechnology(MM_MODEM_GSM_ACCESS_TECH_GPRS);
+ EXPECT_EQ(flimflam::kNetworkTechnologyGprs,
+ capability_.GetNetworkTechnologyString());
+ SetAccessTechnology(MM_MODEM_GSM_ACCESS_TECH_EDGE);
+ EXPECT_EQ(flimflam::kNetworkTechnologyEdge,
+ capability_.GetNetworkTechnologyString());
+ SetAccessTechnology(MM_MODEM_GSM_ACCESS_TECH_UMTS);
+ EXPECT_EQ(flimflam::kNetworkTechnologyUmts,
+ capability_.GetNetworkTechnologyString());
+ SetRegistrationState(MM_MODEM_GSM_NETWORK_REG_STATUS_ROAMING);
+ SetAccessTechnology(MM_MODEM_GSM_ACCESS_TECH_HSDPA);
+ EXPECT_EQ(flimflam::kNetworkTechnologyHspa,
+ capability_.GetNetworkTechnologyString());
+ SetAccessTechnology(MM_MODEM_GSM_ACCESS_TECH_HSUPA);
+ EXPECT_EQ(flimflam::kNetworkTechnologyHspa,
+ capability_.GetNetworkTechnologyString());
+ SetAccessTechnology(MM_MODEM_GSM_ACCESS_TECH_HSPA);
+ EXPECT_EQ(flimflam::kNetworkTechnologyHspa,
+ capability_.GetNetworkTechnologyString());
+ SetAccessTechnology(MM_MODEM_GSM_ACCESS_TECH_HSPA_PLUS);
+ EXPECT_EQ(flimflam::kNetworkTechnologyHspaPlus,
+ capability_.GetNetworkTechnologyString());
+}
+
+TEST_F(CellularCapabilityGSMTest, GetRoamingStateString) {
+ EXPECT_EQ(flimflam::kRoamingStateUnknown,
+ capability_.GetRoamingStateString());
+ SetRegistrationState(MM_MODEM_GSM_NETWORK_REG_STATUS_HOME);
+ EXPECT_EQ(flimflam::kRoamingStateHome,
+ capability_.GetRoamingStateString());
+ SetRegistrationState(MM_MODEM_GSM_NETWORK_REG_STATUS_ROAMING);
+ EXPECT_EQ(flimflam::kRoamingStateRoaming,
+ capability_.GetRoamingStateString());
+ SetRegistrationState(MM_MODEM_GSM_NETWORK_REG_STATUS_SEARCHING);
+ EXPECT_EQ(flimflam::kRoamingStateUnknown,
+ capability_.GetRoamingStateString());
+ SetRegistrationState(MM_MODEM_GSM_NETWORK_REG_STATUS_DENIED);
+ EXPECT_EQ(flimflam::kRoamingStateUnknown,
+ capability_.GetRoamingStateString());
+ SetRegistrationState(MM_MODEM_GSM_NETWORK_REG_STATUS_IDLE);
+ EXPECT_EQ(flimflam::kRoamingStateUnknown,
+ capability_.GetRoamingStateString());
+}
+
} // namespace shill