@theia/playwright 1.67.0-next.56 → 1.67.0-next.59

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 (213) hide show
  1. package/lib/index.d.ts +37 -0
  2. package/lib/index.d.ts.map +1 -0
  3. package/lib/index.js +55 -0
  4. package/lib/index.js.map +1 -0
  5. package/lib/tests/theia-app.test.d.ts +2 -0
  6. package/lib/tests/theia-app.test.d.ts.map +1 -0
  7. package/lib/tests/theia-app.test.js +30 -0
  8. package/lib/tests/theia-app.test.js.map +1 -0
  9. package/lib/tests/theia-application-shell.test.d.ts +2 -0
  10. package/lib/tests/theia-application-shell.test.d.ts.map +1 -0
  11. package/lib/tests/theia-application-shell.test.js +59 -0
  12. package/lib/tests/theia-application-shell.test.js.map +1 -0
  13. package/lib/tests/theia-explorer-view.test.d.ts +2 -0
  14. package/lib/tests/theia-explorer-view.test.d.ts.map +1 -0
  15. package/lib/tests/theia-explorer-view.test.js +186 -0
  16. package/lib/tests/theia-explorer-view.test.js.map +1 -0
  17. package/lib/tests/theia-getting-started.test.d.ts +2 -0
  18. package/lib/tests/theia-getting-started.test.d.ts.map +1 -0
  19. package/lib/tests/theia-getting-started.test.js +46 -0
  20. package/lib/tests/theia-getting-started.test.js.map +1 -0
  21. package/lib/tests/theia-main-menu.test.d.ts +2 -0
  22. package/lib/tests/theia-main-menu.test.d.ts.map +1 -0
  23. package/lib/tests/theia-main-menu.test.js +111 -0
  24. package/lib/tests/theia-main-menu.test.js.map +1 -0
  25. package/lib/tests/theia-notebook-editor.test.d.ts +2 -0
  26. package/lib/tests/theia-notebook-editor.test.d.ts.map +1 -0
  27. package/lib/tests/theia-notebook-editor.test.js +301 -0
  28. package/lib/tests/theia-notebook-editor.test.js.map +1 -0
  29. package/lib/tests/theia-output-view.test.d.ts +2 -0
  30. package/lib/tests/theia-output-view.test.d.ts.map +1 -0
  31. package/lib/tests/theia-output-view.test.js +79 -0
  32. package/lib/tests/theia-output-view.test.js.map +1 -0
  33. package/lib/tests/theia-preference-view.test.d.ts +2 -0
  34. package/lib/tests/theia-preference-view.test.d.ts.map +1 -0
  35. package/lib/tests/theia-preference-view.test.js +102 -0
  36. package/lib/tests/theia-preference-view.test.js.map +1 -0
  37. package/lib/tests/theia-problems-view.test.d.ts +2 -0
  38. package/lib/tests/theia-problems-view.test.d.ts.map +1 -0
  39. package/lib/tests/theia-problems-view.test.js +55 -0
  40. package/lib/tests/theia-problems-view.test.js.map +1 -0
  41. package/lib/tests/theia-quick-command.test.d.ts +2 -0
  42. package/lib/tests/theia-quick-command.test.d.ts.map +1 -0
  43. package/lib/tests/theia-quick-command.test.js +75 -0
  44. package/lib/tests/theia-quick-command.test.js.map +1 -0
  45. package/lib/tests/theia-sample-app.test.d.ts +2 -0
  46. package/lib/tests/theia-sample-app.test.d.ts.map +1 -0
  47. package/lib/tests/theia-sample-app.test.js +58 -0
  48. package/lib/tests/theia-sample-app.test.js.map +1 -0
  49. package/lib/tests/theia-status-bar.test.d.ts +2 -0
  50. package/lib/tests/theia-status-bar.test.d.ts.map +1 -0
  51. package/lib/tests/theia-status-bar.test.js +45 -0
  52. package/lib/tests/theia-status-bar.test.js.map +1 -0
  53. package/lib/tests/theia-terminal-view.test.d.ts +2 -0
  54. package/lib/tests/theia-terminal-view.test.d.ts.map +1 -0
  55. package/lib/tests/theia-terminal-view.test.js +80 -0
  56. package/lib/tests/theia-terminal-view.test.js.map +1 -0
  57. package/lib/tests/theia-text-editor.test.d.ts +2 -0
  58. package/lib/tests/theia-text-editor.test.d.ts.map +1 -0
  59. package/lib/tests/theia-text-editor.test.js +159 -0
  60. package/lib/tests/theia-text-editor.test.js.map +1 -0
  61. package/lib/tests/theia-toolbar.test.d.ts +2 -0
  62. package/lib/tests/theia-toolbar.test.d.ts.map +1 -0
  63. package/lib/tests/theia-toolbar.test.js +62 -0
  64. package/lib/tests/theia-toolbar.test.js.map +1 -0
  65. package/lib/tests/theia-workspace.test.d.ts +2 -0
  66. package/lib/tests/theia-workspace.test.d.ts.map +1 -0
  67. package/lib/tests/theia-workspace.test.js +77 -0
  68. package/lib/tests/theia-workspace.test.js.map +1 -0
  69. package/lib/theia-about-dialog.d.ts +5 -0
  70. package/lib/theia-about-dialog.d.ts.map +1 -0
  71. package/lib/theia-about-dialog.js +27 -0
  72. package/lib/theia-about-dialog.js.map +1 -0
  73. package/lib/theia-app-loader.d.ts +20 -0
  74. package/lib/theia-app-loader.d.ts.map +1 -0
  75. package/lib/theia-app-loader.js +124 -0
  76. package/lib/theia-app-loader.js.map +1 -0
  77. package/lib/theia-app.d.ts +51 -0
  78. package/lib/theia-app.d.ts.map +1 -0
  79. package/lib/theia-app.js +154 -0
  80. package/lib/theia-app.js.map +1 -0
  81. package/lib/theia-context-menu.d.ts +9 -0
  82. package/lib/theia-context-menu.d.ts.map +1 -0
  83. package/lib/theia-context-menu.js +38 -0
  84. package/lib/theia-context-menu.js.map +1 -0
  85. package/lib/theia-dialog.d.ts +29 -0
  86. package/lib/theia-dialog.d.ts.map +1 -0
  87. package/lib/theia-dialog.js +100 -0
  88. package/lib/theia-dialog.js.map +1 -0
  89. package/lib/theia-editor.d.ts +10 -0
  90. package/lib/theia-editor.d.ts.map +1 -0
  91. package/lib/theia-editor.js +69 -0
  92. package/lib/theia-editor.js.map +1 -0
  93. package/lib/theia-explorer-view.d.ts +48 -0
  94. package/lib/theia-explorer-view.d.ts.map +1 -0
  95. package/lib/theia-explorer-view.js +274 -0
  96. package/lib/theia-explorer-view.js.map +1 -0
  97. package/lib/theia-main-menu.d.ts +17 -0
  98. package/lib/theia-main-menu.d.ts.map +1 -0
  99. package/lib/theia-main-menu.js +73 -0
  100. package/lib/theia-main-menu.js.map +1 -0
  101. package/lib/theia-menu-item.d.ts +15 -0
  102. package/lib/theia-menu-item.d.ts.map +1 -0
  103. package/lib/theia-menu-item.js +67 -0
  104. package/lib/theia-menu-item.js.map +1 -0
  105. package/lib/theia-menu.d.ts +17 -0
  106. package/lib/theia-menu.d.ts.map +1 -0
  107. package/lib/theia-menu.js +106 -0
  108. package/lib/theia-menu.js.map +1 -0
  109. package/lib/theia-monaco-editor.d.ts +63 -0
  110. package/lib/theia-monaco-editor.d.ts.map +1 -0
  111. package/lib/theia-monaco-editor.js +155 -0
  112. package/lib/theia-monaco-editor.js.map +1 -0
  113. package/lib/theia-notebook-cell.d.ts +104 -0
  114. package/lib/theia-notebook-cell.d.ts.map +1 -0
  115. package/lib/theia-notebook-cell.js +228 -0
  116. package/lib/theia-notebook-cell.js.map +1 -0
  117. package/lib/theia-notebook-editor.d.ts +50 -0
  118. package/lib/theia-notebook-editor.d.ts.map +1 -0
  119. package/lib/theia-notebook-editor.js +153 -0
  120. package/lib/theia-notebook-editor.js.map +1 -0
  121. package/lib/theia-notebook-toolbar.d.ts +13 -0
  122. package/lib/theia-notebook-toolbar.d.ts.map +1 -0
  123. package/lib/theia-notebook-toolbar.js +47 -0
  124. package/lib/theia-notebook-toolbar.js.map +1 -0
  125. package/lib/theia-notification-indicator.d.ts +8 -0
  126. package/lib/theia-notification-indicator.d.ts.map +1 -0
  127. package/lib/theia-notification-indicator.js +45 -0
  128. package/lib/theia-notification-indicator.js.map +1 -0
  129. package/lib/theia-notification-overlay.d.ts +23 -0
  130. package/lib/theia-notification-overlay.d.ts.map +1 -0
  131. package/lib/theia-notification-overlay.js +80 -0
  132. package/lib/theia-notification-overlay.js.map +1 -0
  133. package/lib/theia-output-channel.d.ts +25 -0
  134. package/lib/theia-output-channel.d.ts.map +1 -0
  135. package/lib/theia-output-channel.js +72 -0
  136. package/lib/theia-output-channel.js.map +1 -0
  137. package/lib/theia-output-view.d.ts +10 -0
  138. package/lib/theia-output-view.d.ts.map +1 -0
  139. package/lib/theia-output-view.js +82 -0
  140. package/lib/theia-output-view.js.map +1 -0
  141. package/lib/theia-page-object.d.ts +8 -0
  142. package/lib/theia-page-object.d.ts.map +1 -0
  143. package/lib/theia-page-object.js +28 -0
  144. package/lib/theia-page-object.js.map +1 -0
  145. package/lib/theia-preference-view.d.ts +91 -0
  146. package/lib/theia-preference-view.d.ts.map +1 -0
  147. package/lib/theia-preference-view.js +224 -0
  148. package/lib/theia-preference-view.js.map +1 -0
  149. package/lib/theia-problem-indicator.d.ts +9 -0
  150. package/lib/theia-problem-indicator.d.ts.map +1 -0
  151. package/lib/theia-problem-indicator.js +39 -0
  152. package/lib/theia-problem-indicator.js.map +1 -0
  153. package/lib/theia-problem-view.d.ts +6 -0
  154. package/lib/theia-problem-view.d.ts.map +1 -0
  155. package/lib/theia-problem-view.js +31 -0
  156. package/lib/theia-problem-view.js.map +1 -0
  157. package/lib/theia-quick-command-palette.d.ts +14 -0
  158. package/lib/theia-quick-command-palette.d.ts.map +1 -0
  159. package/lib/theia-quick-command-palette.js +87 -0
  160. package/lib/theia-quick-command-palette.js.map +1 -0
  161. package/lib/theia-rename-dialog.d.ts +6 -0
  162. package/lib/theia-rename-dialog.d.ts.map +1 -0
  163. package/lib/theia-rename-dialog.js +35 -0
  164. package/lib/theia-rename-dialog.js.map +1 -0
  165. package/lib/theia-status-bar.d.ts +14 -0
  166. package/lib/theia-status-bar.d.ts.map +1 -0
  167. package/lib/theia-status-bar.js +40 -0
  168. package/lib/theia-status-bar.js.map +1 -0
  169. package/lib/theia-status-indicator.d.ts +11 -0
  170. package/lib/theia-status-indicator.d.ts.map +1 -0
  171. package/lib/theia-status-indicator.js +49 -0
  172. package/lib/theia-status-indicator.js.map +1 -0
  173. package/lib/theia-terminal.d.ts +14 -0
  174. package/lib/theia-terminal.d.ts.map +1 -0
  175. package/lib/theia-terminal.js +60 -0
  176. package/lib/theia-terminal.js.map +1 -0
  177. package/lib/theia-text-editor.d.ts +27 -0
  178. package/lib/theia-text-editor.d.ts.map +1 -0
  179. package/lib/theia-text-editor.js +124 -0
  180. package/lib/theia-text-editor.js.map +1 -0
  181. package/lib/theia-toggle-bottom-indicator.d.ts +5 -0
  182. package/lib/theia-toggle-bottom-indicator.d.ts.map +1 -0
  183. package/lib/theia-toggle-bottom-indicator.js +27 -0
  184. package/lib/theia-toggle-bottom-indicator.js.map +1 -0
  185. package/lib/theia-toolbar-item.d.ts +11 -0
  186. package/lib/theia-toolbar-item.d.ts.map +1 -0
  187. package/lib/theia-toolbar-item.js +41 -0
  188. package/lib/theia-toolbar-item.js.map +1 -0
  189. package/lib/theia-toolbar.d.ts +20 -0
  190. package/lib/theia-toolbar.d.ts.map +1 -0
  191. package/lib/theia-toolbar.js +91 -0
  192. package/lib/theia-toolbar.js.map +1 -0
  193. package/lib/theia-tree-node.d.ts +20 -0
  194. package/lib/theia-tree-node.d.ts.map +1 -0
  195. package/lib/theia-tree-node.js +73 -0
  196. package/lib/theia-tree-node.js.map +1 -0
  197. package/lib/theia-view.d.ts +33 -0
  198. package/lib/theia-view.d.ts.map +1 -0
  199. package/lib/theia-view.js +150 -0
  200. package/lib/theia-view.js.map +1 -0
  201. package/lib/theia-welcome-view.d.ts +6 -0
  202. package/lib/theia-welcome-view.d.ts.map +1 -0
  203. package/lib/theia-welcome-view.js +31 -0
  204. package/lib/theia-welcome-view.js.map +1 -0
  205. package/lib/theia-workspace.d.ts +27 -0
  206. package/lib/theia-workspace.d.ts.map +1 -0
  207. package/lib/theia-workspace.js +84 -0
  208. package/lib/theia-workspace.js.map +1 -0
  209. package/lib/util.d.ts +18 -0
  210. package/lib/util.d.ts.map +1 -0
  211. package/lib/util.js +86 -0
  212. package/lib/util.js.map +1 -0
  213. package/package.json +3 -3
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2023 EclipseSource 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
+ const test_1 = require("@playwright/test");
19
+ const theia_app_loader_1 = require("../theia-app-loader");
20
+ const theia_toolbar_1 = require("../theia-toolbar");
21
+ let app;
22
+ let toolbar;
23
+ test_1.test.describe('Theia Toolbar', () => {
24
+ test_1.test.beforeAll(async ({ playwright, browser }) => {
25
+ app = await theia_app_loader_1.TheiaAppLoader.load({ playwright, browser });
26
+ toolbar = new theia_toolbar_1.TheiaToolbar(app);
27
+ });
28
+ test_1.test.afterAll(async () => {
29
+ await app.page.close();
30
+ });
31
+ (0, test_1.test)('should toggle the toolbar and check visibility', async () => {
32
+ // depending on the user settings we have different starting conditions for the toolbar
33
+ const isShownInitially = await toolbar.isShown();
34
+ (0, test_1.expect)(await toolbar.isShown()).toBe(isShownInitially);
35
+ await toolbar.toggle();
36
+ (0, test_1.expect)(await toolbar.isShown()).toBe(!isShownInitially);
37
+ await toolbar.hide();
38
+ (0, test_1.expect)(await toolbar.isShown()).toBe(false);
39
+ await toolbar.show();
40
+ (0, test_1.expect)(await toolbar.isShown()).toBe(true);
41
+ });
42
+ (0, test_1.test)('should show the default toolbar tools of the sample Theia application', async () => {
43
+ (0, test_1.expect)(await toolbar.toolbarItems()).toHaveLength(5);
44
+ (0, test_1.expect)(await toolbar.toolbarItemIds()).toStrictEqual([
45
+ 'textEditor.commands.go.back',
46
+ 'textEditor.commands.go.forward',
47
+ 'workbench.action.splitEditorRight',
48
+ 'theia-sample-toolbar-contribution',
49
+ 'workbench.action.showCommands'
50
+ ]);
51
+ });
52
+ (0, test_1.test)('should trigger the "Command Palette" toolbar tool as expect the command palette to open', async () => {
53
+ const commandPaletteTool = await toolbar.toolBarItem('workbench.action.showCommands');
54
+ (0, test_1.expect)(commandPaletteTool).toBeDefined;
55
+ (0, test_1.expect)(await commandPaletteTool.isEnabled()).toBe(true);
56
+ await commandPaletteTool.trigger();
57
+ (0, test_1.expect)(await app.quickCommandPalette.isOpen()).toBe(true);
58
+ await app.quickCommandPalette.hide();
59
+ (0, test_1.expect)(await app.quickCommandPalette.isOpen()).toBe(false);
60
+ });
61
+ });
62
+ //# sourceMappingURL=theia-toolbar.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-toolbar.test.js","sourceRoot":"","sources":["../../src/tests/theia-toolbar.test.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,2CAAgD;AAEhD,0DAAqD;AACrD,oDAAgD;AAEhD,IAAI,GAAa,CAAC;AAClB,IAAI,OAAqB,CAAC;AAE1B,WAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAEhC,WAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE;QAC7C,GAAG,GAAG,MAAM,iCAAc,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QACzD,OAAO,GAAG,IAAI,4BAAY,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,WAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;QACrB,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,IAAA,WAAI,EAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,uFAAuF;QACvF,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACjD,IAAA,aAAM,EAAC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACvD,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,IAAA,aAAM,EAAC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC;QACxD,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,IAAA,aAAM,EAAC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,IAAA,aAAM,EAAC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,IAAA,WAAI,EAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,IAAA,aAAM,EAAC,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACrD,IAAA,aAAM,EAAC,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,aAAa,CAAC;YACjD,6BAA6B;YAC7B,gCAAgC;YAChC,mCAAmC;YACnC,mCAAmC;YACnC,+BAA+B;SAClC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAA,WAAI,EAAC,yFAAyF,EAAE,KAAK,IAAI,EAAE;QACvG,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;QACtF,IAAA,aAAM,EAAC,kBAAkB,CAAC,CAAC,WAAW,CAAC;QACvC,IAAA,aAAM,EAAC,MAAM,kBAAmB,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzD,MAAM,kBAAmB,CAAC,OAAO,EAAE,CAAC;QACpC,IAAA,aAAM,EAAC,MAAM,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACrC,IAAA,aAAM,EAAC,MAAM,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=theia-workspace.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-workspace.test.d.ts","sourceRoot":"","sources":["../../src/tests/theia-workspace.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2021 logi.cals GmbH, EclipseSource 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
+ const test_1 = require("@playwright/test");
19
+ const path = require("path");
20
+ const theia_app_loader_1 = require("../theia-app-loader");
21
+ const theia_explorer_view_1 = require("../theia-explorer-view");
22
+ const theia_workspace_1 = require("../theia-workspace");
23
+ test_1.test.describe('Theia Workspace', () => {
24
+ let isElectron;
25
+ test_1.test.beforeAll(async ({ playwright, browser }) => {
26
+ isElectron = process.env.USE_ELECTRON === 'true';
27
+ });
28
+ (0, test_1.test)('should be initialized empty by default', async ({ playwright, browser }) => {
29
+ if (!isElectron) {
30
+ const app = await theia_app_loader_1.TheiaAppLoader.load({ playwright, browser });
31
+ const explorer = await app.openView(theia_explorer_view_1.TheiaExplorerView);
32
+ const fileStatElements = await explorer.visibleFileStatNodes(theia_explorer_view_1.DOT_FILES_FILTER);
33
+ (0, test_1.expect)(fileStatElements.length).toBe(0);
34
+ await app.page.close();
35
+ }
36
+ });
37
+ (0, test_1.test)('should be initialized with the contents of a file location', async ({ playwright, browser }) => {
38
+ const ws = new theia_workspace_1.TheiaWorkspace([path.resolve(__dirname, '../../src/tests/resources/sample-files1')]);
39
+ const app = await theia_app_loader_1.TheiaAppLoader.load({ playwright, browser }, ws);
40
+ const explorer = await app.openView(theia_explorer_view_1.TheiaExplorerView);
41
+ // resources/sample-files1 contains two folders and one file
42
+ (0, test_1.expect)(await explorer.existsDirectoryNode('sampleFolder')).toBe(true);
43
+ (0, test_1.expect)(await explorer.existsDirectoryNode('sampleFolderCompact')).toBe(true);
44
+ (0, test_1.expect)(await explorer.existsFileNode('sample.txt')).toBe(true);
45
+ await app.page.close();
46
+ });
47
+ (0, test_1.test)('should be initialized with the contents of multiple file locations', async ({ playwright, browser }) => {
48
+ const ws = new theia_workspace_1.TheiaWorkspace([
49
+ path.resolve(__dirname, '../../src/tests/resources/sample-files1'),
50
+ path.resolve(__dirname, '../../src/tests/resources/sample-files2')
51
+ ]);
52
+ const app = await theia_app_loader_1.TheiaAppLoader.load({ playwright, browser }, ws);
53
+ const explorer = await app.openView(theia_explorer_view_1.TheiaExplorerView);
54
+ // resources/sample-files1 contains two folders and one file
55
+ (0, test_1.expect)(await explorer.existsDirectoryNode('sampleFolder')).toBe(true);
56
+ (0, test_1.expect)(await explorer.existsDirectoryNode('sampleFolderCompact')).toBe(true);
57
+ (0, test_1.expect)(await explorer.existsFileNode('sample.txt')).toBe(true);
58
+ // resources/sample-files2 contains one file
59
+ (0, test_1.expect)(await explorer.existsFileNode('another-sample.txt')).toBe(true);
60
+ await app.page.close();
61
+ });
62
+ (0, test_1.test)('open sample.txt via file menu', async ({ playwright, browser }) => {
63
+ const ws = new theia_workspace_1.TheiaWorkspace([path.resolve(__dirname, '../../src/tests/resources/sample-files1')]);
64
+ const app = await theia_app_loader_1.TheiaAppLoader.load({ playwright, browser }, ws);
65
+ const menuEntry = app.isElectron ? 'Open File...' : 'Open...';
66
+ await (await app.menuBar.openMenu('File')).clickMenuItem(menuEntry);
67
+ const fileDialog = await app.page.waitForSelector('div[class="dialogBlock"]');
68
+ (0, test_1.expect)(await fileDialog.isVisible()).toBe(true);
69
+ const fileEntry = app.page.getByText('sample.txt');
70
+ await fileEntry.click();
71
+ await app.page.locator('#theia-dialog-shell').getByRole('button', { name: 'Open' }).click();
72
+ const span = await app.page.waitForSelector('span:has-text("content line 2")');
73
+ (0, test_1.expect)(await span.isVisible()).toBe(true);
74
+ await app.page.close();
75
+ });
76
+ });
77
+ //# sourceMappingURL=theia-workspace.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-workspace.test.js","sourceRoot":"","sources":["../../src/tests/theia-workspace.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { TheiaDialog } from './theia-dialog';
2
+ export declare class TheiaAboutDialog extends TheiaDialog {
3
+ isVisible(): Promise<boolean>;
4
+ }
5
+ //# sourceMappingURL=theia-about-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-about-dialog.d.ts","sourceRoot":"","sources":["../src/theia-about-dialog.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,gBAAiB,SAAQ,WAAW;IAE9B,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;CAK/C"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2021 logi.cals GmbH, EclipseSource 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.TheiaAboutDialog = void 0;
19
+ const theia_dialog_1 = require("./theia-dialog");
20
+ class TheiaAboutDialog extends theia_dialog_1.TheiaDialog {
21
+ async isVisible() {
22
+ const dialog = await this.page.$(`${this.blockSelector} .theia-aboutDialog`);
23
+ return !!dialog && dialog.isVisible();
24
+ }
25
+ }
26
+ exports.TheiaAboutDialog = TheiaAboutDialog;
27
+ //# sourceMappingURL=theia-about-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-about-dialog.js","sourceRoot":"","sources":["../src/theia-about-dialog.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+DAA+D;AAC/D,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,iDAA6C;AAE7C,MAAa,gBAAiB,SAAQ,0BAAW;IAEpC,KAAK,CAAC,SAAS;QACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,qBAAqB,CAAC,CAAC;QAC7E,OAAO,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;IAC1C,CAAC;CAEJ;AAPD,4CAOC"}
@@ -0,0 +1,20 @@
1
+ import { Page, PlaywrightWorkerArgs } from '@playwright/test';
2
+ import { TheiaApp } from './theia-app';
3
+ import { TheiaWorkspace } from './theia-workspace';
4
+ export interface TheiaAppFactory<T extends TheiaApp> {
5
+ new (page: Page, initialWorkspace: TheiaWorkspace, isElectron?: boolean): T;
6
+ }
7
+ export interface TheiaPlaywrightTestConfig {
8
+ useElectron?: {
9
+ /** Path to the Theia Electron app package (absolute or relative to this package). */
10
+ electronAppPath?: string;
11
+ /** Path to the folder containing the plugins to load (absolute or relative to this package). */
12
+ pluginsPath?: string;
13
+ /** Electron launch options as [specified by Playwright](https://github.com/microsoft/playwright/blob/396487fc4c19bf27554eac9beea9db135e96cfb4/packages/playwright-core/types/types.d.ts#L14182). */
14
+ launchOptions?: object;
15
+ };
16
+ }
17
+ export declare namespace TheiaAppLoader {
18
+ function load<T extends TheiaApp>(args: TheiaPlaywrightTestConfig & PlaywrightWorkerArgs, initialWorkspace?: TheiaWorkspace, factory?: TheiaAppFactory<T>): Promise<T>;
19
+ }
20
+ //# sourceMappingURL=theia-app-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-app-loader.d.ts","sourceRoot":"","sources":["../src/theia-app-loader.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAyB,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,QAAQ;IAC/C,KAAI,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC;CAC9E;AAGD,MAAM,WAAW,yBAAyB;IACtC,WAAW,CAAC,EAAE;QACV,qFAAqF;QACrF,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gGAAgG;QAChG,WAAW,CAAC,EAAE,MAAM,CAAC;QAErB,oMAAoM;QACpM,aAAa,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAA;CACJ;AA8GD,yBAAiB,cAAc,CAAC;IAE5B,SAAsB,IAAI,CAAC,CAAC,SAAS,QAAQ,EACzC,IAAI,EAAE,yBAAyB,GAAG,oBAAoB,EACtD,gBAAgB,CAAC,EAAE,cAAc,EACjC,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC,CAUZ;CACJ"}
@@ -0,0 +1,124 @@
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 theia_app_1 = require("./theia-app");
21
+ const theia_workspace_1 = require("./theia-workspace");
22
+ function theiaAppFactory(factory) {
23
+ return (factory !== null && factory !== void 0 ? factory : theia_app_1.TheiaApp);
24
+ }
25
+ function initializeWorkspace(initialWorkspace) {
26
+ const workspace = initialWorkspace ? initialWorkspace : new theia_workspace_1.TheiaWorkspace();
27
+ workspace.initialize();
28
+ return workspace;
29
+ }
30
+ var TheiaBrowserAppLoader;
31
+ (function (TheiaBrowserAppLoader) {
32
+ async function load(page, initialWorkspace, factory) {
33
+ const workspace = initializeWorkspace(initialWorkspace);
34
+ return createAndLoad(page, workspace, factory);
35
+ }
36
+ TheiaBrowserAppLoader.load = load;
37
+ async function createAndLoad(page, workspace, factory) {
38
+ const appFactory = theiaAppFactory(factory);
39
+ const app = new appFactory(page, workspace, false);
40
+ await loadOrReload(app, '/#' + app.workspace.pathAsPathComponent);
41
+ await app.waitForShellAndInitialized();
42
+ return app;
43
+ }
44
+ async function loadOrReload(app, url) {
45
+ if (app.page.url() === url) {
46
+ await app.page.reload();
47
+ }
48
+ else {
49
+ const wasLoadedAlready = await app.isShellVisible();
50
+ await app.page.goto(url);
51
+ if (wasLoadedAlready) {
52
+ // Theia doesn't refresh on URL change only
53
+ // So we need to reload if the app was already loaded before
54
+ await app.page.reload();
55
+ }
56
+ }
57
+ }
58
+ })(TheiaBrowserAppLoader || (TheiaBrowserAppLoader = {}));
59
+ var TheiaElectronAppLoader;
60
+ (function (TheiaElectronAppLoader) {
61
+ async function load(args, initialWorkspace, factory) {
62
+ var _a, _b;
63
+ const workspace = initializeWorkspace(initialWorkspace);
64
+ const electronConfig = (_a = args.useElectron) !== null && _a !== void 0 ? _a : {
65
+ electronAppPath: '../electron',
66
+ pluginsPath: '../../plugins'
67
+ };
68
+ if (electronConfig === undefined || electronConfig.launchOptions === undefined && electronConfig.electronAppPath === undefined) {
69
+ throw Error('The Theia Playwright configuration must either specify `useElectron.electronAppPath` or `useElectron.launchOptions`');
70
+ }
71
+ const appPath = electronConfig.electronAppPath;
72
+ const pluginsPath = electronConfig.pluginsPath;
73
+ const launchOptions = (_b = electronConfig.launchOptions) !== null && _b !== void 0 ? _b : {
74
+ additionalArgs: ['--no-sandbox', '--no-cluster'],
75
+ electronAppPath: appPath,
76
+ pluginsPath: pluginsPath
77
+ };
78
+ const playwrightOptions = toPlaywrightOptions(launchOptions, workspace);
79
+ console.log(`Launching Electron with options: ${JSON.stringify(playwrightOptions)}`);
80
+ const electronApp = await test_1._electron.launch(playwrightOptions);
81
+ const page = await electronApp.firstWindow();
82
+ const appFactory = theiaAppFactory(factory);
83
+ const app = new appFactory(page, workspace, true);
84
+ await app.waitForShellAndInitialized();
85
+ return app;
86
+ }
87
+ TheiaElectronAppLoader.load = load;
88
+ function toPlaywrightOptions(electronLaunchOptions, workspace) {
89
+ if ('additionalArgs' in electronLaunchOptions && 'electronAppPath' in electronLaunchOptions) {
90
+ const args = [
91
+ electronLaunchOptions.electronAppPath,
92
+ ...electronLaunchOptions.additionalArgs,
93
+ `--app-project-path=${electronLaunchOptions.electronAppPath}`
94
+ ];
95
+ if (electronLaunchOptions.pluginsPath) {
96
+ args.push(`--plugins=local-dir:${electronLaunchOptions.pluginsPath}`);
97
+ }
98
+ if (workspace) {
99
+ args.push(workspace.path);
100
+ }
101
+ return {
102
+ args: args
103
+ };
104
+ }
105
+ return electronLaunchOptions;
106
+ }
107
+ TheiaElectronAppLoader.toPlaywrightOptions = toPlaywrightOptions;
108
+ })(TheiaElectronAppLoader || (TheiaElectronAppLoader = {}));
109
+ var TheiaAppLoader;
110
+ (function (TheiaAppLoader) {
111
+ async function load(args, initialWorkspace, factory) {
112
+ if (process.env.USE_ELECTRON === 'true') {
113
+ // disable native elements and early window to avoid issues with the electron app
114
+ process.env.THEIA_ELECTRON_DISABLE_NATIVE_ELEMENTS = '1';
115
+ process.env.THEIA_ELECTRON_NO_EARLY_WINDOW = '1';
116
+ process.env.THEIA_NO_SPLASH = 'true';
117
+ return TheiaElectronAppLoader.load(args, initialWorkspace, factory);
118
+ }
119
+ const page = await args.browser.newPage();
120
+ return TheiaBrowserAppLoader.load(page, initialWorkspace, factory);
121
+ }
122
+ TheiaAppLoader.load = load;
123
+ })(TheiaAppLoader || (exports.TheiaAppLoader = TheiaAppLoader = {}));
124
+ //# sourceMappingURL=theia-app-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-app-loader.js","sourceRoot":"","sources":["../src/theia-app-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +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 (fp: string, app: TheiaApp): T;
38
+ }, editorName?: string, expectFileNodes?: boolean): Promise<T>;
39
+ activateExistingEditor<T extends TheiaEditor>(filePath: string, editorFactory: {
40
+ new (fp: 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
+ //# sourceMappingURL=theia-app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-app.d.ts","sourceRoot":"","sources":["../src/theia-app.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,YAAY;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,mBAAmB,EAAE,YAGjC,CAAC;AAEF,qBAAa,QAAQ;IASN,IAAI,EAAE,IAAI;IACV,SAAS,EAAE,cAAc;IACzB,UAAU,EAAE,OAAO;IAT9B,SAAS,EAAE,cAAc,CAAC;IAC1B,mBAAmB,EAAE,wBAAwB,CAAC;IAC9C,OAAO,EAAE,YAAY,CAAC;IAEtB,SAAS,CAAC,OAAO,eAAuB;gBAG7B,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,cAAc,EACzB,UAAU,EAAE,OAAO;IAO9B,SAAS,CAAC,eAAe,IAAI,cAAc;IAI3C,SAAS,CAAC,yBAAyB,IAAI,wBAAwB;IAI/D,SAAS,CAAC,aAAa,IAAI,YAAY;IAIjC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAIlC,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3C,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC;IAK7C,eAAe,CAAC,WAAW,EAAE;QAAE,KAAI,GAAG,EAAE,QAAQ,GAAG,mBAAmB,CAAA;KAAE,EAAE,eAAe,uBAAiC,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAUzJ,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,WAAW,EAAE;QAAE,KAAI,GAAG,EAAE,QAAQ,GAAG,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAUjF,UAAU,CAAC,CAAC,SAAS,WAAW,EAAE,QAAQ,EAAE,MAAM,EACpD,aAAa,EAAE;QAAE,KAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,CAAC,CAAA;KAAE,EACpD,UAAU,CAAC,EAAE,MAAM,EAAE,eAAe,UAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAkCtD,sBAAsB,CAAC,CAAC,SAAS,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE;QAAE,KAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAUjI,YAAY,CAAC,CAAC,SAAS,aAAa,EAAE,eAAe,EAAE;QAAE,KAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;cAe/F,oBAAoB,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cAMrE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cAQnD,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAMlD,qEAAqE;IAC/D,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;CAI5C"}
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2021-2023 logi.cals GmbH, EclipseSource 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.TheiaApp = exports.DefaultTheiaAppData = void 0;
19
+ const theia_explorer_view_1 = require("./theia-explorer-view");
20
+ const theia_main_menu_1 = require("./theia-main-menu");
21
+ const theia_preference_view_1 = require("./theia-preference-view");
22
+ const theia_quick_command_palette_1 = require("./theia-quick-command-palette");
23
+ const theia_status_bar_1 = require("./theia-status-bar");
24
+ ;
25
+ exports.DefaultTheiaAppData = {
26
+ loadingSelector: '.theia-preload',
27
+ shellSelector: '.theia-ApplicationShell'
28
+ };
29
+ class TheiaApp {
30
+ constructor(page, workspace, isElectron) {
31
+ this.page = page;
32
+ this.workspace = workspace;
33
+ this.isElectron = isElectron;
34
+ this.appData = exports.DefaultTheiaAppData;
35
+ this.statusBar = this.createStatusBar();
36
+ this.quickCommandPalette = this.createQuickCommandPalette();
37
+ this.menuBar = this.createMenuBar();
38
+ }
39
+ createStatusBar() {
40
+ return new theia_status_bar_1.TheiaStatusBar(this);
41
+ }
42
+ createQuickCommandPalette() {
43
+ return new theia_quick_command_palette_1.TheiaQuickCommandPalette(this);
44
+ }
45
+ createMenuBar() {
46
+ return new theia_main_menu_1.TheiaMenuBar(this);
47
+ }
48
+ async isShellVisible() {
49
+ return this.page.isVisible(this.appData.shellSelector);
50
+ }
51
+ async waitForShellAndInitialized() {
52
+ await this.page.waitForSelector(this.appData.loadingSelector, { state: 'detached' });
53
+ await this.page.waitForSelector(this.appData.shellSelector);
54
+ await this.waitForInitialized();
55
+ }
56
+ async isMainContentPanelVisible() {
57
+ const contentPanel = await this.page.$('#theia-main-content-panel');
58
+ return !!contentPanel && contentPanel.isVisible();
59
+ }
60
+ async openPreferences(viewFactory, preferenceScope = theia_preference_view_1.TheiaPreferenceScope.Workspace) {
61
+ const view = new viewFactory(this);
62
+ if (await view.isTabVisible()) {
63
+ await view.activate();
64
+ return view;
65
+ }
66
+ await view.open(preferenceScope);
67
+ return view;
68
+ }
69
+ async openView(viewFactory) {
70
+ const view = new viewFactory(this);
71
+ if (await view.isTabVisible()) {
72
+ await view.activate();
73
+ return view;
74
+ }
75
+ await view.open();
76
+ return view;
77
+ }
78
+ async openEditor(filePath, editorFactory, editorName, expectFileNodes = true) {
79
+ const explorer = await this.openView(theia_explorer_view_1.TheiaExplorerView);
80
+ if (!explorer) {
81
+ throw Error('TheiaExplorerView could not be opened.');
82
+ }
83
+ if (expectFileNodes) {
84
+ await explorer.waitForVisibleFileNodes();
85
+ const fileStatElements = await explorer.visibleFileStatNodes(theia_explorer_view_1.DOT_FILES_FILTER);
86
+ if (fileStatElements.length < 1) {
87
+ throw Error('TheiaExplorerView is empty.');
88
+ }
89
+ }
90
+ const fileNode = await explorer.fileStatNode(filePath);
91
+ if (!fileNode || !await (fileNode === null || fileNode === void 0 ? void 0 : fileNode.isFile())) {
92
+ throw Error(`Specified path '${filePath}' could not be found or isn't a file.`);
93
+ }
94
+ const editor = new editorFactory(filePath, this);
95
+ const contextMenu = await fileNode.openContextMenu();
96
+ const editorToUse = editorName ? editorName : editor.name ? editor.name : undefined;
97
+ if (editorToUse) {
98
+ const menuItem = await contextMenu.menuItemByNamePath('Open With', editorToUse);
99
+ if (!menuItem) {
100
+ throw Error(`Editor named '${editorName}' could not be found in "Open With" menu.`);
101
+ }
102
+ await menuItem.click();
103
+ }
104
+ else {
105
+ await contextMenu.clickMenuItem('Open');
106
+ }
107
+ await editor.waitForVisible();
108
+ return editor;
109
+ }
110
+ async activateExistingEditor(filePath, editorFactory) {
111
+ const editor = new editorFactory(filePath, this);
112
+ if (!await editor.isTabVisible()) {
113
+ throw new Error(`Could not find opened editor for file ${filePath}`);
114
+ }
115
+ await editor.activate();
116
+ await editor.waitForVisible();
117
+ return editor;
118
+ }
119
+ async openTerminal(terminalFactory) {
120
+ const mainMenu = await this.menuBar.openMenu('Terminal');
121
+ const menuItem = await mainMenu.menuItemByName('New Terminal');
122
+ if (!menuItem) {
123
+ throw Error('Menu item \'New Terminal\' could not be found.');
124
+ }
125
+ const newTabIds = await this.runAndWaitForNewTabs(() => menuItem.click());
126
+ if (newTabIds.length > 1) {
127
+ console.warn('More than one new tab detected after opening the terminal');
128
+ }
129
+ return new terminalFactory(newTabIds[0], this);
130
+ }
131
+ async runAndWaitForNewTabs(command) {
132
+ const tabIdsBefore = await this.visibleTabIds();
133
+ await command();
134
+ return (await this.waitForNewTabs(tabIdsBefore)).filter(item => !tabIdsBefore.includes(item));
135
+ }
136
+ async waitForNewTabs(tabIds) {
137
+ let tabIdsCurrent;
138
+ while ((tabIdsCurrent = (await this.visibleTabIds())).length <= tabIds.length) {
139
+ console.debug('Awaiting a new tab to appear');
140
+ }
141
+ return tabIdsCurrent;
142
+ }
143
+ async visibleTabIds() {
144
+ const tabs = await this.page.$$('.lm-TabBar-tab');
145
+ const tabIds = (await Promise.all(tabs.map(tab => tab.getAttribute('id')))).filter(id => !!id);
146
+ return tabIds;
147
+ }
148
+ /** Specific Theia apps may add additional conditions to wait for. */
149
+ async waitForInitialized() {
150
+ // empty by default
151
+ }
152
+ }
153
+ exports.TheiaApp = TheiaApp;
154
+ //# sourceMappingURL=theia-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-app.js","sourceRoot":"","sources":["../src/theia-app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { ElementHandle } from '@playwright/test';
2
+ import { TheiaApp } from './theia-app';
3
+ import { TheiaMenu } from './theia-menu';
4
+ export declare class TheiaContextMenu extends TheiaMenu {
5
+ static openAt(app: TheiaApp, x: number, y: number): Promise<TheiaContextMenu>;
6
+ static open(app: TheiaApp, element: () => Promise<ElementHandle<SVGElement | HTMLElement>>): Promise<TheiaContextMenu>;
7
+ private static returnWhenVisible;
8
+ }
9
+ //# sourceMappingURL=theia-context-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-context-menu.d.ts","sourceRoot":"","sources":["../src/theia-context-menu.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,qBAAa,gBAAiB,SAAQ,SAAS;WAEvB,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;WAMtE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;mBAM9G,iBAAiB;CAMzC"}