@theia/playwright 1.47.1 → 1.48.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/README.md +54 -54
  2. package/lib/index.d.ts +30 -30
  3. package/lib/index.js +48 -48
  4. package/lib/tests/theia-app.test.d.ts +1 -1
  5. package/lib/tests/theia-app.test.js +29 -29
  6. package/lib/tests/theia-application-shell.test.d.ts +1 -1
  7. package/lib/tests/theia-application-shell.test.js +57 -57
  8. package/lib/tests/theia-explorer-view.test.d.ts +1 -1
  9. package/lib/tests/theia-explorer-view.test.js +183 -183
  10. package/lib/tests/theia-getting-started.test.d.ts +2 -0
  11. package/lib/tests/theia-getting-started.test.d.ts.map +1 -0
  12. package/lib/tests/theia-getting-started.test.js +46 -0
  13. package/lib/tests/theia-getting-started.test.js.map +1 -0
  14. package/lib/tests/theia-main-menu.test.d.ts +1 -1
  15. package/lib/tests/theia-main-menu.test.js +111 -92
  16. package/lib/tests/theia-main-menu.test.js.map +1 -1
  17. package/lib/tests/theia-output-view.test.d.ts +1 -1
  18. package/lib/tests/theia-output-view.test.js +78 -78
  19. package/lib/tests/theia-preference-view.test.d.ts +1 -1
  20. package/lib/tests/theia-preference-view.test.js +101 -101
  21. package/lib/tests/theia-problems-view.test.d.ts +1 -1
  22. package/lib/tests/theia-problems-view.test.js +54 -54
  23. package/lib/tests/theia-quick-command.test.d.ts +1 -1
  24. package/lib/tests/theia-quick-command.test.js +69 -69
  25. package/lib/tests/theia-sample-app.test.d.ts +1 -1
  26. package/lib/tests/theia-sample-app.test.js +57 -57
  27. package/lib/tests/theia-status-bar.test.d.ts +1 -1
  28. package/lib/tests/theia-status-bar.test.js +44 -44
  29. package/lib/tests/theia-terminal-view.test.d.ts +1 -1
  30. package/lib/tests/theia-terminal-view.test.js +78 -78
  31. package/lib/tests/theia-text-editor.test.d.ts +1 -1
  32. package/lib/tests/theia-text-editor.test.js +155 -155
  33. package/lib/tests/theia-toolbar.test.d.ts +1 -1
  34. package/lib/tests/theia-toolbar.test.js +61 -61
  35. package/lib/tests/theia-workspace.test.d.ts +1 -1
  36. package/lib/tests/theia-workspace.test.js +72 -72
  37. package/lib/theia-about-dialog.d.ts +4 -4
  38. package/lib/theia-about-dialog.js +26 -26
  39. package/lib/theia-app-loader.d.ts +19 -19
  40. package/lib/theia-app-loader.js +129 -129
  41. package/lib/theia-app.d.ts +50 -50
  42. package/lib/theia-app.js +153 -153
  43. package/lib/theia-context-menu.d.ts +8 -8
  44. package/lib/theia-context-menu.js +37 -37
  45. package/lib/theia-dialog.d.ts +28 -28
  46. package/lib/theia-dialog.js +99 -99
  47. package/lib/theia-editor.d.ts +9 -9
  48. package/lib/theia-editor.js +68 -68
  49. package/lib/theia-explorer-view.d.ts +47 -47
  50. package/lib/theia-explorer-view.js +273 -273
  51. package/lib/theia-main-menu.d.ts +12 -12
  52. package/lib/theia-main-menu.js +53 -53
  53. package/lib/theia-menu-item.d.ts +14 -14
  54. package/lib/theia-menu-item.js +66 -66
  55. package/lib/theia-menu.d.ts +16 -16
  56. package/lib/theia-menu.js +86 -86
  57. package/lib/theia-monaco-editor.d.ts +15 -15
  58. package/lib/theia-monaco-editor.js +75 -75
  59. package/lib/theia-notification-indicator.d.ts +7 -7
  60. package/lib/theia-notification-indicator.js +44 -44
  61. package/lib/theia-notification-overlay.d.ts +22 -22
  62. package/lib/theia-notification-overlay.js +79 -79
  63. package/lib/theia-output-channel.d.ts +24 -24
  64. package/lib/theia-output-channel.js +71 -71
  65. package/lib/theia-output-view.d.ts +9 -9
  66. package/lib/theia-output-view.js +81 -81
  67. package/lib/theia-page-object.d.ts +7 -7
  68. package/lib/theia-page-object.js +27 -27
  69. package/lib/theia-preference-view.d.ts +84 -84
  70. package/lib/theia-preference-view.js +209 -209
  71. package/lib/theia-problem-indicator.d.ts +8 -8
  72. package/lib/theia-problem-indicator.js +38 -38
  73. package/lib/theia-problem-view.d.ts +5 -5
  74. package/lib/theia-problem-view.js +30 -30
  75. package/lib/theia-quick-command-palette.d.ts +12 -12
  76. package/lib/theia-quick-command-palette.d.ts.map +1 -1
  77. package/lib/theia-quick-command-palette.js +78 -80
  78. package/lib/theia-quick-command-palette.js.map +1 -1
  79. package/lib/theia-rename-dialog.d.ts +5 -5
  80. package/lib/theia-rename-dialog.d.ts.map +1 -1
  81. package/lib/theia-rename-dialog.js +34 -35
  82. package/lib/theia-rename-dialog.js.map +1 -1
  83. package/lib/theia-status-bar.d.ts +13 -13
  84. package/lib/theia-status-bar.js +39 -39
  85. package/lib/theia-status-indicator.d.ts +10 -10
  86. package/lib/theia-status-indicator.js +48 -48
  87. package/lib/theia-terminal.d.ts +13 -13
  88. package/lib/theia-terminal.js +59 -59
  89. package/lib/theia-text-editor.d.ts +26 -26
  90. package/lib/theia-text-editor.js +120 -120
  91. package/lib/theia-toggle-bottom-indicator.d.ts +4 -4
  92. package/lib/theia-toggle-bottom-indicator.js +26 -26
  93. package/lib/theia-toolbar-item.d.ts +10 -10
  94. package/lib/theia-toolbar-item.js +39 -39
  95. package/lib/theia-toolbar.d.ts +19 -19
  96. package/lib/theia-toolbar.js +90 -90
  97. package/lib/theia-tree-node.d.ts +19 -19
  98. package/lib/theia-tree-node.js +72 -72
  99. package/lib/theia-view.d.ts +32 -32
  100. package/lib/theia-view.js +149 -149
  101. package/lib/theia-welcome-view.d.ts +5 -5
  102. package/lib/theia-welcome-view.js +30 -30
  103. package/lib/theia-workspace.d.ts +18 -18
  104. package/lib/theia-workspace.js +69 -69
  105. package/lib/util.d.ts +19 -19
  106. package/lib/util.js +93 -93
  107. package/package.json +2 -2
  108. package/src/index.ts +46 -46
  109. package/src/tests/resources/sample-files1/sample.txt +4 -4
  110. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-1/sampleFile1-1-1.txt +1 -1
  111. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-1/sampleFile1-1-2.txt +1 -1
  112. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-2/sampleFile1-2-1.txt +1 -1
  113. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-2/sampleFile1-2-2.txt +1 -1
  114. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-1/sampleFile2-1-1.txt +1 -1
  115. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-1/sampleFile2-1-2.txt +1 -1
  116. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-2/sampleFile2-2-1.txt +1 -1
  117. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-2/sampleFile2-2-2.txt +1 -1
  118. package/src/tests/resources/sample-files2/another-sample.txt +1 -1
  119. package/src/tests/theia-app.test.ts +33 -33
  120. package/src/tests/theia-application-shell.test.ts +67 -67
  121. package/src/tests/theia-explorer-view.test.ts +211 -211
  122. package/src/tests/theia-getting-started.test.ts +50 -0
  123. package/src/tests/theia-main-menu.test.ts +133 -112
  124. package/src/tests/theia-output-view.test.ts +85 -85
  125. package/src/tests/theia-preference-view.test.ts +122 -122
  126. package/src/tests/theia-problems-view.test.ts +64 -64
  127. package/src/tests/theia-quick-command.test.ts +80 -80
  128. package/src/tests/theia-sample-app.test.ts +66 -66
  129. package/src/tests/theia-status-bar.test.ts +52 -52
  130. package/src/tests/theia-terminal-view.test.ts +90 -90
  131. package/src/tests/theia-text-editor.test.ts +187 -187
  132. package/src/tests/theia-toolbar.test.ts +69 -69
  133. package/src/tests/theia-workspace.test.ts +80 -80
  134. package/src/theia-about-dialog.ts +26 -26
  135. package/src/theia-app-loader.ts +167 -167
  136. package/src/theia-app.ts +188 -188
  137. package/src/theia-context-menu.ts +42 -42
  138. package/src/theia-dialog.ts +114 -114
  139. package/src/theia-editor.ts +73 -73
  140. package/src/theia-explorer-view.ts +311 -311
  141. package/src/theia-main-menu.ts +54 -54
  142. package/src/theia-menu-item.ts +75 -75
  143. package/src/theia-menu.ts +96 -96
  144. package/src/theia-monaco-editor.ts +83 -83
  145. package/src/theia-notification-indicator.ts +44 -44
  146. package/src/theia-notification-overlay.ts +94 -94
  147. package/src/theia-output-channel.ts +88 -88
  148. package/src/theia-output-view.ts +87 -87
  149. package/src/theia-page-object.ts +29 -29
  150. package/src/theia-preference-view.ts +240 -240
  151. package/src/theia-problem-indicator.ts +37 -37
  152. package/src/theia-problem-view.ts +30 -30
  153. package/src/theia-quick-command-palette.ts +81 -83
  154. package/src/theia-rename-dialog.ts +35 -36
  155. package/src/theia-status-bar.ts +44 -44
  156. package/src/theia-status-indicator.ts +50 -50
  157. package/src/theia-terminal.ts +69 -69
  158. package/src/theia-text-editor.ts +141 -141
  159. package/src/theia-toggle-bottom-indicator.ts +21 -21
  160. package/src/theia-toolbar-item.ts +41 -41
  161. package/src/theia-toolbar.ts +99 -99
  162. package/src/theia-tree-node.ts +81 -81
  163. package/src/theia-view.ts +177 -177
  164. package/src/theia-welcome-view.ts +31 -31
  165. package/src/theia-workspace.ts +76 -76
  166. package/src/util.ts +91 -91
@@ -1,130 +1,130 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2022 STMicroelectronics and others.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.TheiaAppLoader = void 0;
19
- const test_1 = require("@playwright/test");
20
- const path = require("path");
21
- const fs = require("fs");
22
- const theia_app_1 = require("./theia-app");
23
- const theia_workspace_1 = require("./theia-workspace");
24
- const util_1 = require("./util");
25
- function theiaAppFactory(factory) {
26
- return (factory !== null && factory !== void 0 ? factory : theia_app_1.TheiaApp);
27
- }
28
- function initializeWorkspace(initialWorkspace) {
29
- const workspace = initialWorkspace ? initialWorkspace : new theia_workspace_1.TheiaWorkspace();
30
- workspace.initialize();
31
- return workspace;
32
- }
33
- var TheiaBrowserAppLoader;
34
- (function (TheiaBrowserAppLoader) {
35
- async function load(page, initialWorkspace, factory) {
36
- const workspace = initializeWorkspace(initialWorkspace);
37
- return createAndLoad(page, workspace, factory);
38
- }
39
- TheiaBrowserAppLoader.load = load;
40
- async function createAndLoad(page, workspace, factory) {
41
- const appFactory = theiaAppFactory(factory);
42
- const app = new appFactory(page, workspace, false);
43
- await loadOrReload(app, '/#' + app.workspace.urlEncodedPath);
44
- await app.waitForShellAndInitialized();
45
- return app;
46
- }
47
- async function loadOrReload(app, url) {
48
- if (app.page.url() === url) {
49
- await app.page.reload();
50
- }
51
- else {
52
- const wasLoadedAlready = await app.isShellVisible();
53
- await app.page.goto(url);
54
- if (wasLoadedAlready) {
55
- // Theia doesn't refresh on URL change only
56
- // So we need to reload if the app was already loaded before
57
- await app.page.reload();
58
- }
59
- }
60
- }
61
- })(TheiaBrowserAppLoader || (TheiaBrowserAppLoader = {}));
62
- var TheiaElectronAppLoader;
63
- (function (TheiaElectronAppLoader) {
64
- async function load(args, initialWorkspace, factory) {
65
- var _a, _b;
66
- const workspace = initializeWorkspace(initialWorkspace);
67
- const electronConfig = (_a = args.useElectron) !== null && _a !== void 0 ? _a : {
68
- electronAppPath: '../electron',
69
- pluginsPath: '../../plugins'
70
- };
71
- if (electronConfig === undefined || electronConfig.launchOptions === undefined && electronConfig.electronAppPath === undefined) {
72
- throw Error('The Theia Playwright configuration must either specify `useElectron.electronAppPath` or `useElectron.launchOptions`');
73
- }
74
- const appPath = electronConfig.electronAppPath;
75
- const pluginsPath = electronConfig.pluginsPath;
76
- const launchOptions = (_b = electronConfig.launchOptions) !== null && _b !== void 0 ? _b : {
77
- additionalArgs: ['--no-cluster'],
78
- electronAppPath: appPath,
79
- pluginsPath: pluginsPath
80
- };
81
- const playwrightOptions = toPlaywrightOptions(launchOptions, workspace);
82
- console.log(`Launching Electron with options: ${JSON.stringify(playwrightOptions)}`);
83
- const electronApp = await test_1._electron.launch(playwrightOptions);
84
- const page = await electronApp.firstWindow();
85
- const appFactory = theiaAppFactory(factory);
86
- const app = new appFactory(page, workspace, true);
87
- await app.waitForShellAndInitialized();
88
- return app;
89
- }
90
- TheiaElectronAppLoader.load = load;
91
- function toPlaywrightOptions(electronLaunchOptions, workspace) {
92
- if ('additionalArgs' in electronLaunchOptions && 'electronAppPath' in electronLaunchOptions) {
93
- const executablePath = path.normalize(path.join(electronLaunchOptions.electronAppPath, 'node_modules/.bin/electron')) + (util_1.OSUtil.isWindows ? '.cmd' : '');
94
- if (!fs.existsSync(executablePath)) {
95
- const errorMsg = `executablePath: ${executablePath} does not exist`;
96
- console.log(errorMsg);
97
- throw new Error(errorMsg);
98
- }
99
- const args = [
100
- electronLaunchOptions.electronAppPath,
101
- ...electronLaunchOptions.additionalArgs,
102
- `--app-project-path=${electronLaunchOptions.electronAppPath}`
103
- ];
104
- if (electronLaunchOptions.pluginsPath) {
105
- args.push(`--plugins=local-dir:${electronLaunchOptions.pluginsPath}`);
106
- }
107
- if (workspace) {
108
- args.push(workspace.path);
109
- }
110
- return { executablePath: executablePath, args: args };
111
- }
112
- return electronLaunchOptions;
113
- }
114
- TheiaElectronAppLoader.toPlaywrightOptions = toPlaywrightOptions;
115
- })(TheiaElectronAppLoader || (TheiaElectronAppLoader = {}));
116
- var TheiaAppLoader;
117
- (function (TheiaAppLoader) {
118
- async function load(args, initialWorkspace, factory) {
119
- if (process.env.USE_ELECTRON === 'true') {
120
- // disable native elements and early window to avoid issues with the electron app
121
- process.env.THEIA_ELECTRON_DISABLE_NATIVE_ELEMENTS = '1';
122
- process.env.THEIA_ELECTRON_NO_EARLY_WINDOW = '1';
123
- return TheiaElectronAppLoader.load(args, initialWorkspace, factory);
124
- }
125
- const page = await args.browser.newPage();
126
- return TheiaBrowserAppLoader.load(page, initialWorkspace, factory);
127
- }
128
- TheiaAppLoader.load = load;
129
- })(TheiaAppLoader = exports.TheiaAppLoader || (exports.TheiaAppLoader = {}));
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2022 STMicroelectronics and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.TheiaAppLoader = void 0;
19
+ const test_1 = require("@playwright/test");
20
+ const path = require("path");
21
+ const fs = require("fs");
22
+ const theia_app_1 = require("./theia-app");
23
+ const theia_workspace_1 = require("./theia-workspace");
24
+ const util_1 = require("./util");
25
+ function theiaAppFactory(factory) {
26
+ return (factory !== null && factory !== void 0 ? factory : theia_app_1.TheiaApp);
27
+ }
28
+ function initializeWorkspace(initialWorkspace) {
29
+ const workspace = initialWorkspace ? initialWorkspace : new theia_workspace_1.TheiaWorkspace();
30
+ workspace.initialize();
31
+ return workspace;
32
+ }
33
+ var TheiaBrowserAppLoader;
34
+ (function (TheiaBrowserAppLoader) {
35
+ async function load(page, initialWorkspace, factory) {
36
+ const workspace = initializeWorkspace(initialWorkspace);
37
+ return createAndLoad(page, workspace, factory);
38
+ }
39
+ TheiaBrowserAppLoader.load = load;
40
+ async function createAndLoad(page, workspace, factory) {
41
+ const appFactory = theiaAppFactory(factory);
42
+ const app = new appFactory(page, workspace, false);
43
+ await loadOrReload(app, '/#' + app.workspace.urlEncodedPath);
44
+ await app.waitForShellAndInitialized();
45
+ return app;
46
+ }
47
+ async function loadOrReload(app, url) {
48
+ if (app.page.url() === url) {
49
+ await app.page.reload();
50
+ }
51
+ else {
52
+ const wasLoadedAlready = await app.isShellVisible();
53
+ await app.page.goto(url);
54
+ if (wasLoadedAlready) {
55
+ // Theia doesn't refresh on URL change only
56
+ // So we need to reload if the app was already loaded before
57
+ await app.page.reload();
58
+ }
59
+ }
60
+ }
61
+ })(TheiaBrowserAppLoader || (TheiaBrowserAppLoader = {}));
62
+ var TheiaElectronAppLoader;
63
+ (function (TheiaElectronAppLoader) {
64
+ async function load(args, initialWorkspace, factory) {
65
+ var _a, _b;
66
+ const workspace = initializeWorkspace(initialWorkspace);
67
+ const electronConfig = (_a = args.useElectron) !== null && _a !== void 0 ? _a : {
68
+ electronAppPath: '../electron',
69
+ pluginsPath: '../../plugins'
70
+ };
71
+ if (electronConfig === undefined || electronConfig.launchOptions === undefined && electronConfig.electronAppPath === undefined) {
72
+ throw Error('The Theia Playwright configuration must either specify `useElectron.electronAppPath` or `useElectron.launchOptions`');
73
+ }
74
+ const appPath = electronConfig.electronAppPath;
75
+ const pluginsPath = electronConfig.pluginsPath;
76
+ const launchOptions = (_b = electronConfig.launchOptions) !== null && _b !== void 0 ? _b : {
77
+ additionalArgs: ['--no-cluster'],
78
+ electronAppPath: appPath,
79
+ pluginsPath: pluginsPath
80
+ };
81
+ const playwrightOptions = toPlaywrightOptions(launchOptions, workspace);
82
+ console.log(`Launching Electron with options: ${JSON.stringify(playwrightOptions)}`);
83
+ const electronApp = await test_1._electron.launch(playwrightOptions);
84
+ const page = await electronApp.firstWindow();
85
+ const appFactory = theiaAppFactory(factory);
86
+ const app = new appFactory(page, workspace, true);
87
+ await app.waitForShellAndInitialized();
88
+ return app;
89
+ }
90
+ TheiaElectronAppLoader.load = load;
91
+ function toPlaywrightOptions(electronLaunchOptions, workspace) {
92
+ if ('additionalArgs' in electronLaunchOptions && 'electronAppPath' in electronLaunchOptions) {
93
+ const executablePath = path.normalize(path.join(electronLaunchOptions.electronAppPath, 'node_modules/.bin/electron')) + (util_1.OSUtil.isWindows ? '.cmd' : '');
94
+ if (!fs.existsSync(executablePath)) {
95
+ const errorMsg = `executablePath: ${executablePath} does not exist`;
96
+ console.log(errorMsg);
97
+ throw new Error(errorMsg);
98
+ }
99
+ const args = [
100
+ electronLaunchOptions.electronAppPath,
101
+ ...electronLaunchOptions.additionalArgs,
102
+ `--app-project-path=${electronLaunchOptions.electronAppPath}`
103
+ ];
104
+ if (electronLaunchOptions.pluginsPath) {
105
+ args.push(`--plugins=local-dir:${electronLaunchOptions.pluginsPath}`);
106
+ }
107
+ if (workspace) {
108
+ args.push(workspace.path);
109
+ }
110
+ return { executablePath: executablePath, args: args };
111
+ }
112
+ return electronLaunchOptions;
113
+ }
114
+ TheiaElectronAppLoader.toPlaywrightOptions = toPlaywrightOptions;
115
+ })(TheiaElectronAppLoader || (TheiaElectronAppLoader = {}));
116
+ var TheiaAppLoader;
117
+ (function (TheiaAppLoader) {
118
+ async function load(args, initialWorkspace, factory) {
119
+ if (process.env.USE_ELECTRON === 'true') {
120
+ // disable native elements and early window to avoid issues with the electron app
121
+ process.env.THEIA_ELECTRON_DISABLE_NATIVE_ELEMENTS = '1';
122
+ process.env.THEIA_ELECTRON_NO_EARLY_WINDOW = '1';
123
+ return TheiaElectronAppLoader.load(args, initialWorkspace, factory);
124
+ }
125
+ const page = await args.browser.newPage();
126
+ return TheiaBrowserAppLoader.load(page, initialWorkspace, factory);
127
+ }
128
+ TheiaAppLoader.load = load;
129
+ })(TheiaAppLoader = exports.TheiaAppLoader || (exports.TheiaAppLoader = {}));
130
130
  //# sourceMappingURL=theia-app-loader.js.map
@@ -1,51 +1,51 @@
1
- import { Page } from '@playwright/test';
2
- import { TheiaEditor } from './theia-editor';
3
- import { TheiaMenuBar } from './theia-main-menu';
4
- import { TheiaPreferenceScope, TheiaPreferenceView } from './theia-preference-view';
5
- import { TheiaQuickCommandPalette } from './theia-quick-command-palette';
6
- import { TheiaStatusBar } from './theia-status-bar';
7
- import { TheiaTerminal } from './theia-terminal';
8
- import { TheiaView } from './theia-view';
9
- import { TheiaWorkspace } from './theia-workspace';
10
- export interface TheiaAppData {
11
- loadingSelector: string;
12
- shellSelector: string;
13
- }
14
- export declare const DefaultTheiaAppData: TheiaAppData;
15
- export declare class TheiaApp {
16
- page: Page;
17
- workspace: TheiaWorkspace;
18
- isElectron: boolean;
19
- statusBar: TheiaStatusBar;
20
- quickCommandPalette: TheiaQuickCommandPalette;
21
- menuBar: TheiaMenuBar;
22
- protected appData: TheiaAppData;
23
- constructor(page: Page, workspace: TheiaWorkspace, isElectron: boolean);
24
- protected createStatusBar(): TheiaStatusBar;
25
- protected createQuickCommandPalette(): TheiaQuickCommandPalette;
26
- protected createMenuBar(): TheiaMenuBar;
27
- isShellVisible(): Promise<boolean>;
28
- waitForShellAndInitialized(): Promise<void>;
29
- isMainContentPanelVisible(): Promise<boolean>;
30
- openPreferences(viewFactory: {
31
- new (app: TheiaApp): TheiaPreferenceView;
32
- }, preferenceScope?: TheiaPreferenceScope): Promise<TheiaPreferenceView>;
33
- openView<T extends TheiaView>(viewFactory: {
34
- new (app: TheiaApp): T;
35
- }): Promise<T>;
36
- openEditor<T extends TheiaEditor>(filePath: string, editorFactory: {
37
- new (filePath: string, app: TheiaApp): T;
38
- }, editorName?: string, expectFileNodes?: boolean): Promise<T>;
39
- activateExistingEditor<T extends TheiaEditor>(filePath: string, editorFactory: {
40
- new (filePath: string, app: TheiaApp): T;
41
- }): Promise<T>;
42
- openTerminal<T extends TheiaTerminal>(terminalFactory: {
43
- new (id: string, app: TheiaApp): T;
44
- }): Promise<T>;
45
- protected runAndWaitForNewTabs(command: () => Promise<void>): Promise<string[]>;
46
- protected waitForNewTabs(tabIds: string[]): Promise<string[]>;
47
- protected visibleTabIds(): Promise<string[]>;
48
- /** Specific Theia apps may add additional conditions to wait for. */
49
- waitForInitialized(): Promise<void>;
50
- }
1
+ import { Page } from '@playwright/test';
2
+ import { TheiaEditor } from './theia-editor';
3
+ import { TheiaMenuBar } from './theia-main-menu';
4
+ import { TheiaPreferenceScope, TheiaPreferenceView } from './theia-preference-view';
5
+ import { TheiaQuickCommandPalette } from './theia-quick-command-palette';
6
+ import { TheiaStatusBar } from './theia-status-bar';
7
+ import { TheiaTerminal } from './theia-terminal';
8
+ import { TheiaView } from './theia-view';
9
+ import { TheiaWorkspace } from './theia-workspace';
10
+ export interface TheiaAppData {
11
+ loadingSelector: string;
12
+ shellSelector: string;
13
+ }
14
+ export declare const DefaultTheiaAppData: TheiaAppData;
15
+ export declare class TheiaApp {
16
+ page: Page;
17
+ workspace: TheiaWorkspace;
18
+ isElectron: boolean;
19
+ statusBar: TheiaStatusBar;
20
+ quickCommandPalette: TheiaQuickCommandPalette;
21
+ menuBar: TheiaMenuBar;
22
+ protected appData: TheiaAppData;
23
+ constructor(page: Page, workspace: TheiaWorkspace, isElectron: boolean);
24
+ protected createStatusBar(): TheiaStatusBar;
25
+ protected createQuickCommandPalette(): TheiaQuickCommandPalette;
26
+ protected createMenuBar(): TheiaMenuBar;
27
+ isShellVisible(): Promise<boolean>;
28
+ waitForShellAndInitialized(): Promise<void>;
29
+ isMainContentPanelVisible(): Promise<boolean>;
30
+ openPreferences(viewFactory: {
31
+ new (app: TheiaApp): TheiaPreferenceView;
32
+ }, preferenceScope?: TheiaPreferenceScope): Promise<TheiaPreferenceView>;
33
+ openView<T extends TheiaView>(viewFactory: {
34
+ new (app: TheiaApp): T;
35
+ }): Promise<T>;
36
+ openEditor<T extends TheiaEditor>(filePath: string, editorFactory: {
37
+ new (filePath: string, app: TheiaApp): T;
38
+ }, editorName?: string, expectFileNodes?: boolean): Promise<T>;
39
+ activateExistingEditor<T extends TheiaEditor>(filePath: string, editorFactory: {
40
+ new (filePath: string, app: TheiaApp): T;
41
+ }): Promise<T>;
42
+ openTerminal<T extends TheiaTerminal>(terminalFactory: {
43
+ new (id: string, app: TheiaApp): T;
44
+ }): Promise<T>;
45
+ protected runAndWaitForNewTabs(command: () => Promise<void>): Promise<string[]>;
46
+ protected waitForNewTabs(tabIds: string[]): Promise<string[]>;
47
+ protected visibleTabIds(): Promise<string[]>;
48
+ /** Specific Theia apps may add additional conditions to wait for. */
49
+ waitForInitialized(): Promise<void>;
50
+ }
51
51
  //# sourceMappingURL=theia-app.d.ts.map