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

Unified Diff: third_party/WebKit/LayoutTests/battery-status/no-gc-with-eventlisteners.html

Issue 1836203002: Change the battery-status layout tests to use JS mocks. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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/LayoutTests/battery-status/no-gc-with-eventlisteners.html
diff --git a/third_party/WebKit/LayoutTests/battery-status/no-gc-with-eventlisteners.html b/third_party/WebKit/LayoutTests/battery-status/no-gc-with-eventlisteners.html
index 21649370bf86f8833528ce64d142e666216c6dfe..4bc9108f83d31273a156e5bcff2d30fc8cf2ae05 100644
--- a/third_party/WebKit/LayoutTests/battery-status/no-gc-with-eventlisteners.html
+++ b/third_party/WebKit/LayoutTests/battery-status/no-gc-with-eventlisteners.html
@@ -2,52 +2,36 @@
<html>
<body>
<script src="../resources/js-test.js"></script>
+<script src="../resources/mojo-helpers.js"></script>
+<script src="resources/mock-battery-monitor.js"></script>
<script>
description("Test no garbage collection of battery manager object when listeners are attached.");
if (!window.testRunner)
debug('This test cannot be run without the TestRunner');
-if (!window.internals)
- debug('This test cannot be run without the window.internals');
// Clean-up any unused battery manager objects from previous tests.
gc();
jsTestIsAsync = true;
testRunner.waitUntilDone();
-var mockBatteryInfo;
-function setAndFireMockBatteryInfo(charging, chargingTime, dischargingTime, level) {
- mockBatteryInfo = { charging: charging,
- chargingTime: chargingTime,
- dischargingTime: dischargingTime,
- level: level };
- window.internals.updateBatteryStatus(charging, chargingTime, dischargingTime, level);
-}
-
-// compare obtained battery values with the mock values
-function checkBatteryInfo(batteryManager) {
- batteryInfo = batteryManager;
- shouldBe('batteryInfo.charging', 'mockBatteryInfo.charging');
- shouldBe('batteryInfo.chargingTime', 'mockBatteryInfo.chargingTime');
- shouldBe('batteryInfo.dischargingTime', 'mockBatteryInfo.dischargingTime');
- shouldBe('batteryInfo.level', 'mockBatteryInfo.level');
-}
-
function fireLevelChange() {
gc();
setAndFireMockBatteryInfo(false, 10, 20, 0.6);
}
-navigator.getBattery().then(function(battery) {
- battery.addEventListener('levelchange', function() {
- checkBatteryInfo(battery);
- battery.removeEventListener('levelchange', arguments.callee);
- setTimeout(finishJSTest, 0);
+mockBatteryMonitorReady.then(() => {
+ navigator.getBattery().then(function(battery) {
+ battery.addEventListener('levelchange', function() {
+ testIfBatteryStatusIsUpToDate(battery);
+ battery.removeEventListener('levelchange', arguments.callee);
+ setTimeout(finishJSTest, 0);
+ });
+ setTimeout(fireLevelChange, 0);
});
- setTimeout(fireLevelChange, 0);
-});
-setAndFireMockBatteryInfo(false, 10, 20, 0.5);
+ setAndFireMockBatteryInfo(false, 10, 20, 0.5);
+});
</script>
</body>
</html>

Powered by Google App Engine
This is Rietveld 408576698