Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / battery-status / multiple-promises.html
index ee970a5..a8eb5fd 100644 (file)
@@ -8,9 +8,12 @@ description("Test multiple promise resolution.");
 if (!window.testRunner)
     debug('This test cannot be run without the TestRunner');
 
-testRunner.setCanOpenWindows();
-testRunner.waitUntilDone();
+// Clean-up any unused battery manager objects from previous tests.
+gc();
 jsTestIsAsync = true;
+testRunner.waitUntilDone();
+testRunner.setCanOpenWindows();
+testRunner.setCloseRemainingWindowsWhenComplete(true);
 
 var mockBatteryInfo;
 function setAndFireMockBatteryInfo(charging, chargingTime, dischargingTime, level) {
@@ -32,24 +35,17 @@ function checkBatteryInfo(batteryManager) {
     shouldBe('batteryInfo.level', 'mockBatteryInfo.level');
 }
 
-var promise1Count = 0;
-var promise2Count = 0;
-
 function batteryStatusFailure() {
     testFailed('failed to successfully resolve the promise');
-    setTimeout(cleanupAndFinish, 0);
+    setTimeout(finishJSTest, 0);
 }
 
-function finishIfReady() {
-  if (promise1Count == 1 && promise2Count == 1) {
-    setTimeout(cleanupAndFinish, 0);
-  }
-}
+var promise1Count = 0;
+var promise2Count = 0;
 
-function cleanupAndFinish() {
-  // stops updating battery and clears current battery status.
-  window.testRunner.setPageVisibility("hidden");
-  finishJSTest();
+function finishIfReady() {
+    if (promise1Count == 1 && promise2Count == 1)
+        setTimeout(finishJSTest, 0);
 }
 
 promise1 = navigator.getBattery().then(