Backed out changeset 2450366cf7ca (bug 1891629) for causing win msix mochitest failures
[gecko.git] / widget / tests / browser / browser_test_ime_state_on_input_type_change_in_remote_content.js
blob2a4bc4c3322dbdd1d25bea88bf4bbd707557ba19
1 /* Any copyright is dedicated to the Public Domain.
2    http://creativecommons.org/publicdomain/zero/1.0/ */
4 "use strict";
6 /* import-globals-from ../file_ime_state_test_helper.js */
7 /* import-globals-from ../file_test_ime_state_on_input_type_change.js */
9 Services.scriptloader.loadSubScript(
10   "chrome://mochitests/content/browser/widget/tests/browser/file_ime_state_test_helper.js",
11   this
13 Services.scriptloader.loadSubScript(
14   "chrome://mochitests/content/browser/widget/tests/browser/file_test_ime_state_on_input_type_change.js",
15   this
17 add_task(async function () {
18   await BrowserTestUtils.withNewTab(
19     "https://example.com/browser/widget/tests/browser/file_ime_state_tests.html",
20     async function (browser) {
21       const tipWrapper = new TIPWrapper(window);
22       ok(
23         tipWrapper.isAvailable(),
24         "TextInputProcessor should've been initialized"
25       );
27       for (
28         let srcIndex = 0;
29         srcIndex < IMEStateOnInputTypeChangeTester.numberOfTests;
30         srcIndex++
31       ) {
32         const tester = new IMEStateOnInputTypeChangeTester(srcIndex);
33         for (
34           let destIndex = 0;
35           destIndex < IMEStateOnInputTypeChangeTester.numberOfTests;
36           destIndex++
37         ) {
38           const expectedResultBefore = await SpecialPowers.spawn(
39             browser,
40             [srcIndex, destIndex],
41             (aSrcIndex, aDestIndex) => {
42               content.wrappedJSObject.runner =
43                 content.wrappedJSObject.createIMEStateOnInputTypeChangeTester(
44                   aSrcIndex
45                 );
46               return content.wrappedJSObject.runner.prepareToRun(
47                 aDestIndex,
48                 content.window,
49                 content.document.body
50               );
51             }
52           );
53           if (expectedResultBefore === false) {
54             continue;
55           }
56           tester.checkBeforeRun(expectedResultBefore, tipWrapper);
57           const expectedResult = await SpecialPowers.spawn(browser, [], () => {
58             return content.wrappedJSObject.runner.run();
59           });
60           tester.checkResult(expectedResultBefore, expectedResult);
61           await SpecialPowers.spawn(browser, [], () => {
62             return content.wrappedJSObject.runner.clear();
63           });
64           tipWrapper.clearFocusBlurNotifications();
65         }
66         tester.clear();
67       }
68     }
69   );
70 });