blob: fcb35f6059bcb7a5e8e9815fc094cc39fd5a45e5 [file] [log] [blame]
// Copyright 2020 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.
// TODO(b/169279800): Pull out test code that media app and help app have in
// common.
/**
* Promise that signals the guest is ready to receive test messages (in addition
* to messages handled by receiver.js).
* @type {!Promise<undefined>}
*/
const testMessageHandlersReady = new Promise(resolve => {
window.addEventListener('DOMContentLoaded', () => {
guestMessagePipe.registerHandler('test-handlers-ready', resolve);
});
});
/**
* Runs the given `testCase` in the guest context.
* @param {string} testCase
*/
async function runTestInGuest(testCase) {
/** @type {!TestMessageRunTestCase} */
const message = {testCase};
await testMessageHandlersReady;
await guestMessagePipe.sendMessage('run-test-case', message);
}