Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1260)

Unified Diff: Source/core/page/NetworkStateNotifierTest.cpp

Issue 1308943005: [NetInfo] Add Blink support for connection.change, connection.downlinkMax, and wimax (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/page/NetworkStateNotifier.cpp ('k') | Source/core/testing/Internals.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/page/NetworkStateNotifierTest.cpp
diff --git a/Source/core/page/NetworkStateNotifierTest.cpp b/Source/core/page/NetworkStateNotifierTest.cpp
index 4897726abd7ac71499f001b97bf4f794222fc2e1..b800d9b3817ed96de65b494adf5a0cbbde3cc98c 100644
--- a/Source/core/page/NetworkStateNotifierTest.cpp
+++ b/Source/core/page/NetworkStateNotifierTest.cpp
@@ -41,17 +41,25 @@
namespace blink {
+namespace {
+ const double kNoneMaxBandwidthMbps = 0.0;
+ const double kBluetoothMaxBandwidthMbps = 1.0;
+ const double kEthernetMaxBandwidthMbps = 2.0;
+}
+
class StateObserver : public NetworkStateNotifier::NetworkStateObserver {
public:
StateObserver()
: m_observedType(ConnectionTypeNone)
+ , m_observedMaxBandwidthMbps(0.0)
, m_callbackCount(0)
{
}
- virtual void connectionTypeChange(WebConnectionType type)
+ virtual void connectionChange(WebConnectionType type, double maxBandwidthMbps)
{
m_observedType = type;
+ m_observedMaxBandwidthMbps = maxBandwidthMbps;
m_callbackCount += 1;
if (m_closure)
@@ -63,6 +71,11 @@ public:
return m_observedType;
}
+ double observedMaxBandwidth() const
+ {
+ return m_observedMaxBandwidthMbps;
+ }
+
int callbackCount() const
{
return m_callbackCount;
@@ -76,6 +89,7 @@ public:
private:
OwnPtr<Closure> m_closure;
WebConnectionType m_observedType;
+ double m_observedMaxBandwidthMbps;
int m_callbackCount;
};
@@ -98,9 +112,9 @@ public:
}
protected:
- void setType(WebConnectionType type)
+ void setConnection(WebConnectionType type, double maxBandwidthMbps)
{
- m_notifier.setWebConnectionType(type);
+ m_notifier.setWebConnection(type, maxBandwidthMbps);
testing::runPendingTasks();
}
@@ -114,6 +128,13 @@ protected:
observer->setNotificationCallback(bind(&NetworkStateNotifier::removeObserver, &m_notifier, observerToRemove, executionContext()));
}
+ bool verifyObservations(const StateObserver& observer, WebConnectionType type, double maxBandwidthMbps)
+ {
+ EXPECT_EQ(observer.observedType(), type);
+ EXPECT_EQ(observer.observedMaxBandwidth(), maxBandwidthMbps);
+ return observer.observedType() == type && observer.observedMaxBandwidth() == maxBandwidthMbps;
+ }
+
RefPtrWillBePersistent<Document> m_document;
RefPtrWillBePersistent<Document> m_document2;
NetworkStateNotifier m_notifier;
@@ -123,10 +144,10 @@ TEST_F(NetworkStateNotifierTest, AddObserver)
{
StateObserver observer;
m_notifier.addObserver(&observer, executionContext());
- EXPECT_EQ(observer.observedType(), ConnectionTypeNone);
+ EXPECT_TRUE(verifyObservations(observer, ConnectionTypeNone, kNoneMaxBandwidthMbps));
- setType(ConnectionTypeBluetooth);
- EXPECT_EQ(observer.observedType(), ConnectionTypeBluetooth);
+ setConnection(ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps);
+ EXPECT_TRUE(verifyObservations(observer, ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps));
EXPECT_EQ(observer.callbackCount(), 1);
}
@@ -137,19 +158,19 @@ TEST_F(NetworkStateNotifierTest, RemoveObserver)
m_notifier.removeObserver(&observer1, executionContext());
m_notifier.addObserver(&observer2, executionContext());
- setType(ConnectionTypeBluetooth);
- EXPECT_EQ(observer1.observedType(), ConnectionTypeNone);
- EXPECT_EQ(observer2.observedType(), ConnectionTypeBluetooth);
+ setConnection(ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps);
+ EXPECT_TRUE(verifyObservations(observer1, ConnectionTypeNone, kNoneMaxBandwidthMbps));
+ EXPECT_TRUE(verifyObservations(observer2, ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps));
}
TEST_F(NetworkStateNotifierTest, RemoveSoleObserver)
{
- StateObserver observer1, observer2;
+ StateObserver observer1;
m_notifier.addObserver(&observer1, executionContext());
m_notifier.removeObserver(&observer1, executionContext());
- setType(ConnectionTypeBluetooth);
- EXPECT_EQ(observer1.observedType(), ConnectionTypeNone);
+ setConnection(ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps);
+ EXPECT_TRUE(verifyObservations(observer1, ConnectionTypeNone, kNoneMaxBandwidthMbps));
}
TEST_F(NetworkStateNotifierTest, AddObserverWhileNotifying)
@@ -158,9 +179,9 @@ TEST_F(NetworkStateNotifierTest, AddObserverWhileNotifying)
m_notifier.addObserver(&observer1, executionContext());
addObserverOnNotification(&observer1, &observer2);
- setType(ConnectionTypeBluetooth);
- EXPECT_EQ(observer1.observedType(), ConnectionTypeBluetooth);
- EXPECT_EQ(observer2.observedType(), ConnectionTypeBluetooth);
+ setConnection(ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps);
+ EXPECT_TRUE(verifyObservations(observer1, ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps));
+ EXPECT_TRUE(verifyObservations(observer2, ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps));
}
TEST_F(NetworkStateNotifierTest, RemoveSoleObserverWhileNotifying)
@@ -169,11 +190,11 @@ TEST_F(NetworkStateNotifierTest, RemoveSoleObserverWhileNotifying)
m_notifier.addObserver(&observer1, executionContext());
removeObserverOnNotification(&observer1, &observer1);
- setType(ConnectionTypeBluetooth);
- EXPECT_EQ(observer1.observedType(), ConnectionTypeBluetooth);
+ setConnection(ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps);
+ EXPECT_TRUE(verifyObservations(observer1, ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps));
- setType(ConnectionTypeEthernet);
- EXPECT_EQ(observer1.observedType(), ConnectionTypeBluetooth);
+ setConnection(ConnectionTypeEthernet, kEthernetMaxBandwidthMbps);
+ EXPECT_TRUE(verifyObservations(observer1, ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps));
}
TEST_F(NetworkStateNotifierTest, RemoveCurrentObserverWhileNotifying)
@@ -183,13 +204,13 @@ TEST_F(NetworkStateNotifierTest, RemoveCurrentObserverWhileNotifying)
m_notifier.addObserver(&observer2, executionContext());
removeObserverOnNotification(&observer1, &observer1);
- setType(ConnectionTypeBluetooth);
- EXPECT_EQ(observer1.observedType(), ConnectionTypeBluetooth);
- EXPECT_EQ(observer2.observedType(), ConnectionTypeBluetooth);
+ setConnection(ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps);
+ EXPECT_TRUE(verifyObservations(observer1, ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps));
+ EXPECT_TRUE(verifyObservations(observer2, ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps));
- setType(ConnectionTypeEthernet);
- EXPECT_EQ(observer1.observedType(), ConnectionTypeBluetooth);
- EXPECT_EQ(observer2.observedType(), ConnectionTypeEthernet);
+ setConnection(ConnectionTypeEthernet, kEthernetMaxBandwidthMbps);
+ EXPECT_TRUE(verifyObservations(observer1, ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps));
+ EXPECT_TRUE(verifyObservations(observer2, ConnectionTypeEthernet, kEthernetMaxBandwidthMbps));
}
TEST_F(NetworkStateNotifierTest, RemovePastObserverWhileNotifying)
@@ -199,13 +220,13 @@ TEST_F(NetworkStateNotifierTest, RemovePastObserverWhileNotifying)
m_notifier.addObserver(&observer2, executionContext());
removeObserverOnNotification(&observer2, &observer1);
- setType(ConnectionTypeBluetooth);
+ setConnection(ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps);
EXPECT_EQ(observer1.observedType(), ConnectionTypeBluetooth);
EXPECT_EQ(observer2.observedType(), ConnectionTypeBluetooth);
- setType(ConnectionTypeEthernet);
- EXPECT_EQ(observer1.observedType(), ConnectionTypeBluetooth);
- EXPECT_EQ(observer2.observedType(), ConnectionTypeEthernet);
+ setConnection(ConnectionTypeEthernet, kEthernetMaxBandwidthMbps);
+ EXPECT_TRUE(verifyObservations(observer1, ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps));
+ EXPECT_TRUE(verifyObservations(observer2, ConnectionTypeEthernet, kEthernetMaxBandwidthMbps));
}
TEST_F(NetworkStateNotifierTest, RemoveFutureObserverWhileNotifying)
@@ -216,11 +237,10 @@ TEST_F(NetworkStateNotifierTest, RemoveFutureObserverWhileNotifying)
m_notifier.addObserver(&observer3, executionContext());
removeObserverOnNotification(&observer1, &observer2);
- setType(ConnectionTypeBluetooth);
-
- EXPECT_EQ(observer1.observedType(), ConnectionTypeBluetooth);
- EXPECT_EQ(observer2.observedType(), ConnectionTypeNone);
- EXPECT_EQ(observer3.observedType(), ConnectionTypeBluetooth);
+ setConnection(ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps);
+ EXPECT_TRUE(verifyObservations(observer1, ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps));
+ EXPECT_TRUE(verifyObservations(observer2, ConnectionTypeNone, kNoneMaxBandwidthMbps));
+ EXPECT_TRUE(verifyObservations(observer3, ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps));
}
TEST_F(NetworkStateNotifierTest, MultipleContextsAddObserver)
@@ -229,9 +249,9 @@ TEST_F(NetworkStateNotifierTest, MultipleContextsAddObserver)
m_notifier.addObserver(&observer1, executionContext());
m_notifier.addObserver(&observer2, executionContext2());
- setType(ConnectionTypeBluetooth);
- EXPECT_EQ(observer1.observedType(), ConnectionTypeBluetooth);
- EXPECT_EQ(observer2.observedType(), ConnectionTypeBluetooth);
+ setConnection(ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps);
+ EXPECT_TRUE(verifyObservations(observer1, ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps));
+ EXPECT_TRUE(verifyObservations(observer2, ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps));
}
TEST_F(NetworkStateNotifierTest, RemoveContext)
@@ -241,9 +261,9 @@ TEST_F(NetworkStateNotifierTest, RemoveContext)
m_notifier.addObserver(&observer2, executionContext2());
m_notifier.removeObserver(&observer2, executionContext2());
- setType(ConnectionTypeBluetooth);
- EXPECT_EQ(observer1.observedType(), ConnectionTypeBluetooth);
- EXPECT_EQ(observer2.observedType(), ConnectionTypeNone);
+ setConnection(ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps);
+ EXPECT_TRUE(verifyObservations(observer1, ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps));
+ EXPECT_TRUE(verifyObservations(observer2, ConnectionTypeNone, kNoneMaxBandwidthMbps));
}
TEST_F(NetworkStateNotifierTest, RemoveAllContexts)
@@ -254,9 +274,9 @@ TEST_F(NetworkStateNotifierTest, RemoveAllContexts)
m_notifier.removeObserver(&observer1, executionContext());
m_notifier.removeObserver(&observer2, executionContext2());
- setType(ConnectionTypeBluetooth);
- EXPECT_EQ(observer1.observedType(), ConnectionTypeNone);
- EXPECT_EQ(observer2.observedType(), ConnectionTypeNone);
+ setConnection(ConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps);
+ EXPECT_TRUE(verifyObservations(observer1, ConnectionTypeNone, kNoneMaxBandwidthMbps));
+ EXPECT_TRUE(verifyObservations(observer2, ConnectionTypeNone, kNoneMaxBandwidthMbps));
}
} // namespace blink
« no previous file with comments | « Source/core/page/NetworkStateNotifier.cpp ('k') | Source/core/testing/Internals.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698