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 2d321e5560cb8f109df13640c817864818277b41..98fd6d55fa546ef299ffc664b1ddaf727046d3ee 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_EQ(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_EQ(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_EQ(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_EQ(false, m_notifier.onLine()); |
+ EXPECT_EQ(WebConnectionTypeNone, m_notifier.connectionType()); |
+ EXPECT_EQ(kNoneMaxBandwidthMbps, m_notifier.maxBandwidth()); |
+ |
+ m_notifier.removeObserver(&observer, getExecutionContext()); |
+} |
+ |
} // namespace blink |