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

Unified Diff: chrome/test/data/extensions/api_test/braille_display_private/key_events/test.js

Issue 56533004: Fix flaky brailleDisplayPrivateApi tests and reenable them. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 7 years, 1 month 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: chrome/test/data/extensions/api_test/braille_display_private/key_events/test.js
diff --git a/chrome/test/data/extensions/api_test/braille_display_private/key_events/test.js b/chrome/test/data/extensions/api_test/braille_display_private/key_events/test.js
index 48a23fe687570370463ccd7939196acefa933f31..4f3776b03bd0ea22136c75fe68bbf7707917e370 100644
--- a/chrome/test/data/extensions/api_test/braille_display_private/key_events/test.js
+++ b/chrome/test/data/extensions/api_test/braille_display_private/key_events/test.js
@@ -13,13 +13,13 @@ var EXPECTED_EVENTS = [
]
var event_number = 0;
-var callbackCompleted;
+var allEventsReceived;
function eventListener(event) {
- console.log("Received event: " + event);
+ console.log("Received event: " + JSON.stringify(event));
chrome.test.assertEq(event, EXPECTED_EVENTS[event_number]);
if (++event_number == EXPECTED_EVENTS.length) {
- callbackCompleted();
+ allEventsReceived();
}
console.log("Event number: " + event_number);
}
@@ -27,12 +27,18 @@ function eventListener(event) {
function waitForDisplay(callback) {
var callbackCompleted = chrome.test.callbackAdded();
var displayStateHandler = function(state) {
+ if (!callbackCompleted) {
+ return;
+ }
chrome.test.assertTrue(state.available, "Display not available");
chrome.test.assertEq(11, state.textCellCount);
callback(state);
callbackCompleted();
chrome.brailleDisplayPrivate.onDisplayStateChanged.removeListener(
displayStateHandler);
+ // Prevent additional runs if the onDisplayStateChanged event
+ // is fired before getDisplayState invokes the callback.
+ callbackCompleted = null;
};
chrome.brailleDisplayPrivate.onDisplayStateChanged.addListener(
displayStateHandler);
@@ -48,7 +54,7 @@ function waitForDisplay(callback) {
chrome.test.runTests([
function testKeyEvents() {
chrome.brailleDisplayPrivate.onKeyEvent.addListener(eventListener);
- callbackCompleted = chrome.test.callbackAdded();
+ allEventsReceived = chrome.test.callbackAdded();
waitForDisplay(pass());
}
]);

Powered by Google App Engine
This is Rietveld 408576698