Index: third_party/WebKit/Source/core/page/NetworkStateNotifierTest.cpp |
diff --git a/third_party/WebKit/Source/core/page/NetworkStateNotifierTest.cpp b/third_party/WebKit/Source/core/page/NetworkStateNotifierTest.cpp |
index 5d189315bfa22feffefca09df1fa178b13c64388..9cba5481d67d4575098ad3a68872b9b0586d7ce7 100644 |
--- a/third_party/WebKit/Source/core/page/NetworkStateNotifierTest.cpp |
+++ b/third_party/WebKit/Source/core/page/NetworkStateNotifierTest.cpp |
@@ -278,4 +278,42 @@ TEST_F(NetworkStateNotifierTest, RemoveAllContexts) |
EXPECT_TRUE(verifyObservations(observer2, WebConnectionTypeNone, kNoneMaxBandwidthMbps)); |
} |
+TEST_F(NetworkStateNotifierTest, SetOverride) |
+{ |
+ StateObserver observer; |
+ m_notifier.addObserver(&observer, getExecutionContext()); |
+ |
+ m_notifier.setOnLine(true); |
+ setConnection(WebConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps); |
+ EXPECT_TRUE(verifyObservations(observer, WebConnectionTypeBluetooth, kBluetoothMaxBandwidthMbps)); |
+ EXPECT_TRUE(m_notifier.onLine()); |
+ EXPECT_EQ(WebConnectionTypeBluetooth, m_notifier.connectionType()); |
+ EXPECT_EQ(kBluetoothMaxBandwidthMbps, m_notifier.maxBandwidth()); |
+ |
+ m_notifier.setOverride(true, WebConnectionTypeEthernet, kEthernetMaxBandwidthMbps); |
+ testing::runPendingTasks(); |
+ EXPECT_TRUE(verifyObservations(observer, WebConnectionTypeEthernet, kEthernetMaxBandwidthMbps)); |
+ EXPECT_TRUE(m_notifier.onLine()); |
+ EXPECT_EQ(WebConnectionTypeEthernet, m_notifier.connectionType()); |
+ EXPECT_EQ(kEthernetMaxBandwidthMbps, m_notifier.maxBandwidth()); |
+ |
+ // When override is active, calls to setOnLine and setConnection are temporary ignored. |
+ m_notifier.setOnLine(false); |
+ setConnection(WebConnectionTypeNone, kNoneMaxBandwidthMbps); |
+ testing::runPendingTasks(); |
+ EXPECT_TRUE(verifyObservations(observer, WebConnectionTypeEthernet, kEthernetMaxBandwidthMbps)); |
+ EXPECT_TRUE(m_notifier.onLine()); |
+ EXPECT_EQ(WebConnectionTypeEthernet, m_notifier.connectionType()); |
+ EXPECT_EQ(kEthernetMaxBandwidthMbps, m_notifier.maxBandwidth()); |
+ |
+ m_notifier.clearOverride(); |
+ testing::runPendingTasks(); |
+ EXPECT_TRUE(verifyObservations(observer, WebConnectionTypeNone, kNoneMaxBandwidthMbps)); |
+ EXPECT_FALSE(m_notifier.onLine()); |
+ EXPECT_EQ(WebConnectionTypeNone, m_notifier.connectionType()); |
+ EXPECT_EQ(kNoneMaxBandwidthMbps, m_notifier.maxBandwidth()); |
+ |
+ m_notifier.removeObserver(&observer, getExecutionContext()); |
+} |
+ |
} // namespace blink |