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

Unified Diff: Source/platform/scheduler/SchedulerTest.cpp

Issue 1087203002: Patch 2/3 to get WebScheduler via WebThread (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Sami's tidy up Created 5 years, 8 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: Source/platform/scheduler/SchedulerTest.cpp
diff --git a/Source/platform/scheduler/SchedulerTest.cpp b/Source/platform/scheduler/SchedulerTest.cpp
deleted file mode 100644
index 61ac5757f737e33a47c96962ae04a84a303cb34a..0000000000000000000000000000000000000000
--- a/Source/platform/scheduler/SchedulerTest.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "config.h"
-#include "platform/scheduler/Scheduler.h"
-
-#include "platform/RuntimeEnabledFeatures.h"
-#include "platform/TestingPlatformSupport.h"
-#include "public/platform/Platform.h"
-#include "public/platform/WebScheduler.h"
-#include "public/platform/WebTraceLocation.h"
-
-#include <gmock/gmock.h>
-#include <gtest/gtest.h>
-#include <string>
-#include <vector>
-
-using blink::Scheduler;
-using blink::WebScheduler;
-using blink::WebTraceLocation;
-
-namespace {
-
-class SchedulerForTest : public Scheduler {
-public:
- SchedulerForTest(WebScheduler* webScheduler):
- Scheduler(webScheduler)
- {
- }
-};
-
-class WebSchedulerForTest : public WebScheduler {
-public:
- WebSchedulerForTest()
- : m_shouldYieldForHighPriorityWork(false)
- {
- }
-
- // WebScheduler implementation:
- bool shouldYieldForHighPriorityWork() override
- {
- return m_shouldYieldForHighPriorityWork;
- }
-
- void postIdleTask(const WebTraceLocation&, blink::WebThread::IdleTask* task) override
- {
- m_latestIdleTask = adoptPtr(task);
- }
-
- void setShouldYieldForHighPriorityWork(bool shouldYieldForHighPriorityWork)
- {
- m_shouldYieldForHighPriorityWork = shouldYieldForHighPriorityWork;
- }
-
- void runLatestIdleTask(double deadlineSeconds)
- {
- m_latestIdleTask->run(deadlineSeconds);
- m_latestIdleTask.clear();
- }
-
-protected:
- bool m_shouldYieldForHighPriorityWork;
-
- OwnPtr<blink::WebThread::IdleTask> m_latestIdleTask;
-};
-
-class SchedulerTest : public testing::Test {
-public:
- SchedulerTest()
- {
- blink::RuntimeEnabledFeatures::setBlinkSchedulerEnabled(true);
- m_webScheduler = adoptPtr(new WebSchedulerForTest());
- m_scheduler = adoptPtr(new SchedulerForTest(m_webScheduler.get()));
- }
-
-protected:
- OwnPtr<WebSchedulerForTest> m_webScheduler;
- OwnPtr<SchedulerForTest> m_scheduler;
-};
-
-TEST_F(SchedulerTest, TestShouldYield)
-{
- EXPECT_FALSE(m_scheduler->shouldYieldForHighPriorityWork());
- m_webScheduler->setShouldYieldForHighPriorityWork(true);
- EXPECT_TRUE(m_scheduler->shouldYieldForHighPriorityWork());
-}
-
-void idleTestTask(double expectedDeadline, double deadlineSeconds)
-{
- EXPECT_EQ(expectedDeadline, deadlineSeconds);
-}
-
-TEST_F(SchedulerTest, TestIdleTasks)
-{
- double deadline = 1.1;
- m_scheduler->postIdleTask(FROM_HERE, WTF::bind<double>(&idleTestTask, deadline));
- m_webScheduler->runLatestIdleTask(deadline);
-}
-
-} // namespace

Powered by Google App Engine
This is Rietveld 408576698