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

Unified Diff: third_party/WebKit/Source/platform/network/NetworkStateNotifierTest.cpp

Issue 2710023006: Move NetworkStateNotifier from core (and web) into platform/network (Closed)
Patch Set: rebase Created 3 years, 9 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
Index: third_party/WebKit/Source/platform/network/NetworkStateNotifierTest.cpp
diff --git a/third_party/WebKit/Source/core/page/NetworkStateNotifierTest.cpp b/third_party/WebKit/Source/platform/network/NetworkStateNotifierTest.cpp
similarity index 89%
rename from third_party/WebKit/Source/core/page/NetworkStateNotifierTest.cpp
rename to third_party/WebKit/Source/platform/network/NetworkStateNotifierTest.cpp
index d441622eb3963b1c2b2ac58a4d1d11b2dfdeb41e..8d10384a6262d8b31b2d782dce0cd6cadfb0eeb0 100644
--- a/third_party/WebKit/Source/core/page/NetworkStateNotifierTest.cpp
+++ b/third_party/WebKit/Source/platform/network/NetworkStateNotifierTest.cpp
@@ -28,10 +28,9 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include "core/page/NetworkStateNotifier.h"
+#include "platform/network/NetworkStateNotifier.h"
-#include "core/dom/Document.h"
-#include "core/dom/TaskRunnerHelper.h"
+#include "platform/scheduler/test/fake_web_task_runner.h"
#include "platform/testing/UnitTestHelpers.h"
#include "public/platform/Platform.h"
#include "public/platform/WebConnectionType.h"
@@ -41,6 +40,8 @@
namespace blink {
+using scheduler::FakeWebTaskRunner;
+
namespace {
const double kNoneMaxBandwidthMbps = 0.0;
const double kBluetoothMaxBandwidthMbps = 1.0;
@@ -93,29 +94,36 @@ class StateObserver : public NetworkStateNotifier::NetworkStateObserver {
class NetworkStateNotifierTest : public ::testing::Test {
public:
NetworkStateNotifierTest()
- : m_document(Document::create()), m_document2(Document::create()) {
+ : m_taskRunner(adoptRef(new FakeWebTaskRunner())),
+ m_taskRunner2(adoptRef(new FakeWebTaskRunner())) {
// Initialize connection, so that future calls to setWebConnection issue
// notifications.
m_notifier.setWebConnection(WebConnectionTypeUnknown, 0.0);
m_notifier.setOnLine(false);
}
- WebTaskRunner* getTaskRunner() {
- return TaskRunnerHelper::get(TaskType::Networking, m_document.get()).get();
- }
+ WebTaskRunner* getTaskRunner() { return m_taskRunner.get(); }
+ WebTaskRunner* getTaskRunner2() { return m_taskRunner2.get(); }
- WebTaskRunner* getTaskRunner2() {
- return TaskRunnerHelper::get(TaskType::Networking, m_document2.get()).get();
+ void TearDown() override {
+ runPendingTasks();
+ m_taskRunner = nullptr;
+ m_taskRunner2 = nullptr;
}
protected:
+ void runPendingTasks() {
+ m_taskRunner->runUntilIdle();
+ m_taskRunner2->runUntilIdle();
+ }
+
void setConnection(WebConnectionType type, double maxBandwidthMbps) {
m_notifier.setWebConnection(type, maxBandwidthMbps);
- testing::runPendingTasks();
+ runPendingTasks();
}
void setOnLine(bool onLine) {
m_notifier.setOnLine(onLine);
- testing::runPendingTasks();
+ runPendingTasks();
}
void addObserverOnNotification(StateObserver* observer,
@@ -143,8 +151,8 @@ class NetworkStateNotifierTest : public ::testing::Test {
observer.observedMaxBandwidth() == maxBandwidthMbps;
}
- Persistent<Document> m_document;
- Persistent<Document> m_document2;
+ RefPtr<FakeWebTaskRunner> m_taskRunner;
+ RefPtr<FakeWebTaskRunner> m_taskRunner2;
NetworkStateNotifier m_notifier;
};
@@ -158,6 +166,7 @@ TEST_F(NetworkStateNotifierTest, AddObserver) {
EXPECT_TRUE(verifyObservations(observer, WebConnectionTypeBluetooth,
kBluetoothMaxBandwidthMbps));
EXPECT_EQ(observer.callbackCount(), 1);
+ m_notifier.removeConnectionObserver(&observer, getTaskRunner());
}
TEST_F(NetworkStateNotifierTest, RemoveObserver) {
@@ -171,6 +180,7 @@ TEST_F(NetworkStateNotifierTest, RemoveObserver) {
kNoneMaxBandwidthMbps));
EXPECT_TRUE(verifyObservations(observer2, WebConnectionTypeBluetooth,
kBluetoothMaxBandwidthMbps));
+ m_notifier.removeConnectionObserver(&observer2, getTaskRunner());
}
TEST_F(NetworkStateNotifierTest, RemoveSoleObserver) {
@@ -193,6 +203,8 @@ TEST_F(NetworkStateNotifierTest, AddObserverWhileNotifying) {
kBluetoothMaxBandwidthMbps));
EXPECT_TRUE(verifyObservations(observer2, WebConnectionTypeBluetooth,
kBluetoothMaxBandwidthMbps));
+ m_notifier.removeConnectionObserver(&observer1, getTaskRunner());
+ m_notifier.removeConnectionObserver(&observer2, getTaskRunner());
}
TEST_F(NetworkStateNotifierTest, RemoveSoleObserverWhileNotifying) {
@@ -226,6 +238,9 @@ TEST_F(NetworkStateNotifierTest, RemoveCurrentObserverWhileNotifying) {
kBluetoothMaxBandwidthMbps));
EXPECT_TRUE(verifyObservations(observer2, WebConnectionTypeEthernet,
kEthernetMaxBandwidthMbps));
+
+ m_notifier.removeConnectionObserver(&observer1, getTaskRunner());
+ m_notifier.removeConnectionObserver(&observer2, getTaskRunner());
}
TEST_F(NetworkStateNotifierTest, RemovePastObserverWhileNotifying) {
@@ -243,6 +258,9 @@ TEST_F(NetworkStateNotifierTest, RemovePastObserverWhileNotifying) {
kBluetoothMaxBandwidthMbps));
EXPECT_TRUE(verifyObservations(observer2, WebConnectionTypeEthernet,
kEthernetMaxBandwidthMbps));
+
+ m_notifier.removeConnectionObserver(&observer1, getTaskRunner());
+ m_notifier.removeConnectionObserver(&observer2, getTaskRunner());
}
TEST_F(NetworkStateNotifierTest, RemoveFutureObserverWhileNotifying) {
@@ -259,6 +277,10 @@ TEST_F(NetworkStateNotifierTest, RemoveFutureObserverWhileNotifying) {
kNoneMaxBandwidthMbps));
EXPECT_TRUE(verifyObservations(observer3, WebConnectionTypeBluetooth,
kBluetoothMaxBandwidthMbps));
+
+ m_notifier.removeConnectionObserver(&observer1, getTaskRunner());
+ m_notifier.removeConnectionObserver(&observer2, getTaskRunner());
+ m_notifier.removeConnectionObserver(&observer3, getTaskRunner());
}
TEST_F(NetworkStateNotifierTest, MultipleContextsAddObserver) {
@@ -271,6 +293,9 @@ TEST_F(NetworkStateNotifierTest, MultipleContextsAddObserver) {
kBluetoothMaxBandwidthMbps));
EXPECT_TRUE(verifyObservations(observer2, WebConnectionTypeBluetooth,
kBluetoothMaxBandwidthMbps));
+
+ m_notifier.removeConnectionObserver(&observer1, getTaskRunner());
+ m_notifier.removeConnectionObserver(&observer2, getTaskRunner2());
}
TEST_F(NetworkStateNotifierTest, RemoveContext) {
@@ -284,6 +309,8 @@ TEST_F(NetworkStateNotifierTest, RemoveContext) {
kBluetoothMaxBandwidthMbps));
EXPECT_TRUE(verifyObservations(observer2, WebConnectionTypeNone,
kNoneMaxBandwidthMbps));
+
+ m_notifier.removeConnectionObserver(&observer1, getTaskRunner());
}
TEST_F(NetworkStateNotifierTest, RemoveAllContexts) {
@@ -314,7 +341,7 @@ TEST_F(NetworkStateNotifierTest, SetOverride) {
m_notifier.setOverride(true, WebConnectionTypeEthernet,
kEthernetMaxBandwidthMbps);
- testing::runPendingTasks();
+ runPendingTasks();
EXPECT_TRUE(verifyObservations(observer, WebConnectionTypeEthernet,
kEthernetMaxBandwidthMbps));
EXPECT_TRUE(m_notifier.onLine());
@@ -325,7 +352,7 @@ TEST_F(NetworkStateNotifierTest, SetOverride) {
// ignored.
m_notifier.setOnLine(false);
setConnection(WebConnectionTypeNone, kNoneMaxBandwidthMbps);
- testing::runPendingTasks();
+ runPendingTasks();
EXPECT_TRUE(verifyObservations(observer, WebConnectionTypeEthernet,
kEthernetMaxBandwidthMbps));
EXPECT_TRUE(m_notifier.onLine());
@@ -333,7 +360,7 @@ TEST_F(NetworkStateNotifierTest, SetOverride) {
EXPECT_EQ(kEthernetMaxBandwidthMbps, m_notifier.maxBandwidth());
m_notifier.clearOverride();
- testing::runPendingTasks();
+ runPendingTasks();
EXPECT_TRUE(verifyObservations(observer, WebConnectionTypeNone,
kNoneMaxBandwidthMbps));
EXPECT_FALSE(m_notifier.onLine());
@@ -373,37 +400,39 @@ TEST_F(NetworkStateNotifierTest, NoExtraNotifications) {
TEST_F(NetworkStateNotifierTest, NoNotificationOnInitialization) {
NetworkStateNotifier notifier;
- Persistent<Document> document(Document::create());
StateObserver observer;
notifier.addConnectionObserver(&observer, getTaskRunner());
notifier.addOnLineObserver(&observer, getTaskRunner());
- testing::runPendingTasks();
+ runPendingTasks();
EXPECT_EQ(observer.callbackCount(), 0);
notifier.setWebConnection(WebConnectionTypeBluetooth,
kBluetoothMaxBandwidthMbps);
notifier.setOnLine(true);
- testing::runPendingTasks();
+ runPendingTasks();
EXPECT_EQ(observer.callbackCount(), 0);
notifier.setOnLine(true);
notifier.setWebConnection(WebConnectionTypeBluetooth,
kBluetoothMaxBandwidthMbps);
- testing::runPendingTasks();
+ runPendingTasks();
EXPECT_EQ(observer.callbackCount(), 0);
notifier.setWebConnection(WebConnectionTypeEthernet,
kEthernetMaxBandwidthMbps);
- testing::runPendingTasks();
+ runPendingTasks();
EXPECT_EQ(observer.callbackCount(), 1);
EXPECT_EQ(observer.observedType(), WebConnectionTypeEthernet);
EXPECT_EQ(observer.observedMaxBandwidth(), kEthernetMaxBandwidthMbps);
notifier.setOnLine(false);
- testing::runPendingTasks();
+ runPendingTasks();
EXPECT_EQ(observer.callbackCount(), 2);
EXPECT_FALSE(observer.observedOnLineState());
+
+ m_notifier.removeConnectionObserver(&observer, getTaskRunner());
+ m_notifier.removeOnLineObserver(&observer, getTaskRunner());
}
TEST_F(NetworkStateNotifierTest, OnLineNotification) {
@@ -411,12 +440,12 @@ TEST_F(NetworkStateNotifierTest, OnLineNotification) {
m_notifier.addOnLineObserver(&observer, getTaskRunner());
setOnLine(true);
- testing::runPendingTasks();
+ runPendingTasks();
EXPECT_TRUE(observer.observedOnLineState());
EXPECT_EQ(observer.callbackCount(), 1);
setOnLine(false);
- testing::runPendingTasks();
+ runPendingTasks();
EXPECT_FALSE(observer.observedOnLineState());
EXPECT_EQ(observer.callbackCount(), 2);
@@ -433,14 +462,14 @@ TEST_F(NetworkStateNotifierTest, MultipleObservers) {
m_notifier.addOnLineObserver(&observer2, getTaskRunner());
m_notifier.setOnLine(true);
- testing::runPendingTasks();
+ runPendingTasks();
EXPECT_TRUE(observer1.observedOnLineState());
EXPECT_TRUE(observer2.observedOnLineState());
EXPECT_EQ(observer1.callbackCount(), 1);
EXPECT_EQ(observer2.callbackCount(), 1);
m_notifier.setOnLine(false);
- testing::runPendingTasks();
+ runPendingTasks();
EXPECT_FALSE(observer1.observedOnLineState());
EXPECT_FALSE(observer2.observedOnLineState());
EXPECT_EQ(observer1.callbackCount(), 2);
@@ -449,7 +478,7 @@ TEST_F(NetworkStateNotifierTest, MultipleObservers) {
m_notifier.setOnLine(true);
m_notifier.setWebConnection(WebConnectionTypeEthernet,
kEthernetMaxBandwidthMbps);
- testing::runPendingTasks();
+ runPendingTasks();
EXPECT_TRUE(observer1.observedOnLineState());
EXPECT_TRUE(observer2.observedOnLineState());
EXPECT_TRUE(verifyObservations(observer2, WebConnectionTypeEthernet,
« no previous file with comments | « third_party/WebKit/Source/platform/network/NetworkStateNotifier.cpp ('k') | third_party/WebKit/Source/web/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698