@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,49 @@
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.TheiaStatusIndicator = void 0;
19
+ const theia_page_object_1 = require("./theia-page-object");
20
+ class TheiaStatusIndicator extends theia_page_object_1.TheiaPageObject {
21
+ constructor() {
22
+ super(...arguments);
23
+ this.statusBarElementSelector = '#theia-statusBar div.element';
24
+ }
25
+ getSelectorForId(id) {
26
+ return `${this.statusBarElementSelector}#status-bar-${id}`;
27
+ }
28
+ async waitForVisible(waitForDetached = false) {
29
+ await this.page.waitForSelector(this.getSelectorForId(this.id), waitForDetached ? { state: 'detached' } : {});
30
+ }
31
+ async getElementHandle() {
32
+ const element = await this.page.$(this.getSelectorForId(this.id));
33
+ if (element) {
34
+ return element;
35
+ }
36
+ throw new Error('Could not find status bar element with ID ' + this.id);
37
+ }
38
+ async isVisible() {
39
+ try {
40
+ const element = await this.getElementHandle();
41
+ return element.isVisible();
42
+ }
43
+ catch (err) {
44
+ return false;
45
+ }
46
+ }
47
+ }
48
+ exports.TheiaStatusIndicator = TheiaStatusIndicator;
49
+ //# sourceMappingURL=theia-status-indicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-status-indicator.js","sourceRoot":"","sources":["../src/theia-status-indicator.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;;;AAGhF,2DAAsD;AAEtD,MAAsB,oBAAqB,SAAQ,mCAAe;IAAlE;;QAGc,6BAAwB,GAAG,8BAA8B,CAAC;IA2BxE,CAAC;IAzBa,gBAAgB,CAAC,EAAU;QACjC,OAAO,GAAG,IAAI,CAAC,wBAAwB,eAAe,EAAE,EAAE,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,eAAe,GAAG,KAAK;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClH,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4CAA4C,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,SAAS;QACX,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC9C,OAAO,OAAO,CAAC,SAAS,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;CAEJ;AA9BD,oDA8BC"}
@@ -0,0 +1,14 @@
1
+ import { ElementHandle } from '@playwright/test';
2
+ import { TheiaApp } from './theia-app';
3
+ import { TheiaMenu } from './theia-menu';
4
+ import { TheiaView } from './theia-view';
5
+ export declare class TheiaTerminal extends TheiaView {
6
+ constructor(tabId: string, app: TheiaApp);
7
+ submit(text: string): Promise<void>;
8
+ write(text: string): Promise<void>;
9
+ contents(): Promise<string>;
10
+ protected openContextMenu(): Promise<TheiaMenu>;
11
+ protected waitForInputArea(): Promise<ElementHandle<SVGElement | HTMLElement>>;
12
+ protected waitForVisibleView(): Promise<ElementHandle<SVGElement | HTMLElement>>;
13
+ }
14
+ //# sourceMappingURL=theia-terminal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-terminal.d.ts","sourceRoot":"","sources":["../src/theia-terminal.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,qBAAa,aAAc,SAAQ,SAAS;gBAE5B,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ;IAOlC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;cAOjB,eAAe,IAAI,OAAO,CAAC,SAAS,CAAC;cAKrC,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC;cAKpE,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC;CAIzF"}
@@ -0,0 +1,60 @@
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
+ exports.TheiaTerminal = void 0;
19
+ const theia_context_menu_1 = require("./theia-context-menu");
20
+ const theia_view_1 = require("./theia-view");
21
+ class TheiaTerminal extends theia_view_1.TheiaView {
22
+ constructor(tabId, app) {
23
+ super({
24
+ tabSelector: `#shell-tab-terminal-${getTerminalId(tabId)}`,
25
+ viewSelector: `#terminal-${getTerminalId(tabId)}`
26
+ }, app);
27
+ }
28
+ async submit(text) {
29
+ await this.write(text);
30
+ const input = await this.waitForInputArea();
31
+ await input.press('Enter');
32
+ }
33
+ async write(text) {
34
+ await this.activate();
35
+ const input = await this.waitForInputArea();
36
+ await input.fill(text);
37
+ }
38
+ async contents() {
39
+ await this.activate();
40
+ await (await this.openContextMenu()).clickMenuItem('Select All');
41
+ await (await this.openContextMenu()).clickMenuItem('Copy');
42
+ return this.page.evaluate('navigator.clipboard.readText()');
43
+ }
44
+ async openContextMenu() {
45
+ await this.activate();
46
+ return theia_context_menu_1.TheiaContextMenu.open(this.app, () => this.waitForVisibleView());
47
+ }
48
+ async waitForInputArea() {
49
+ const view = await this.waitForVisibleView();
50
+ return view.waitForSelector('.xterm-helper-textarea');
51
+ }
52
+ async waitForVisibleView() {
53
+ return this.page.waitForSelector(this.viewSelector, { state: 'visible' });
54
+ }
55
+ }
56
+ exports.TheiaTerminal = TheiaTerminal;
57
+ function getTerminalId(tabId) {
58
+ return tabId.substring(tabId.lastIndexOf('-') + 1);
59
+ }
60
+ //# sourceMappingURL=theia-terminal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-terminal.js","sourceRoot":"","sources":["../src/theia-terminal.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;;;AAIhF,6DAAwD;AAExD,6CAAyC;AAEzC,MAAa,aAAc,SAAQ,sBAAS;IAExC,YAAY,KAAa,EAAE,GAAa;QACpC,KAAK,CAAC;YACF,WAAW,EAAE,uBAAuB,aAAa,CAAC,KAAK,CAAC,EAAE;YAC1D,YAAY,EAAE,aAAa,aAAa,CAAC,KAAK,CAAC,EAAE;SACpD,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACrB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY;QACpB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACjE,MAAM,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;IAChE,CAAC;IAES,KAAK,CAAC,eAAe;QAC3B,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,qCAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC5E,CAAC;IAES,KAAK,CAAC,gBAAgB;QAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC;IAC1D,CAAC;IAES,KAAK,CAAC,kBAAkB;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9E,CAAC;CAEJ;AA1CD,sCA0CC;AAED,SAAS,aAAa,CAAC,KAAa;IAChC,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACvD,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { ElementHandle, Locator } from '@playwright/test';
2
+ import { TheiaApp } from './theia-app';
3
+ import { TheiaEditor } from './theia-editor';
4
+ import { TheiaMonacoEditor } from './theia-monaco-editor';
5
+ export declare class TheiaTextEditor extends TheiaEditor {
6
+ protected monacoEditor: TheiaMonacoEditor;
7
+ constructor(filePath: string, app: TheiaApp);
8
+ numberOfLines(): Promise<number | undefined>;
9
+ textContentOfLineByLineNumber(lineNumber: number): Promise<string | undefined>;
10
+ replaceLineWithLineNumber(text: string, lineNumber: number): Promise<void>;
11
+ protected typeTextAndHitEnter(text: string): Promise<void>;
12
+ selectLineWithLineNumber(lineNumber: number): Promise<ElementHandle<SVGElement | HTMLElement> | undefined>;
13
+ placeCursorInLineWithLineNumber(lineNumber: number): Promise<ElementHandle<SVGElement | HTMLElement> | undefined>;
14
+ deleteLineByLineNumber(lineNumber: number): Promise<void>;
15
+ textContentOfLineContainingText(text: string): Promise<string | undefined>;
16
+ replaceLineContainingText(newText: string, oldText: string): Promise<void>;
17
+ selectLineContainingText(text: string): Promise<ElementHandle<SVGElement | HTMLElement> | undefined>;
18
+ placeCursorInLineContainingText(text: string): Promise<ElementHandle<SVGElement | HTMLElement> | undefined>;
19
+ deleteLineContainingText(text: string): Promise<void>;
20
+ addTextToNewLineAfterLineContainingText(textContainedByExistingLine: string, newText: string): Promise<void>;
21
+ addTextToNewLineAfterLineByLineNumber(lineNumber: number, newText: string): Promise<void>;
22
+ protected selectLine(lineLocator: Locator | undefined): Promise<void>;
23
+ protected placeCursorInLine(lineLocator: Locator | undefined): Promise<void>;
24
+ protected selectedSuggestion(): Promise<ElementHandle<SVGElement | HTMLElement>>;
25
+ getSelectedSuggestionText(): Promise<string>;
26
+ }
27
+ //# sourceMappingURL=theia-text-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-text-editor.d.ts","sourceRoot":"","sources":["../src/theia-text-editor.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,qBAAa,eAAgB,SAAQ,WAAW;IAE5C,SAAS,CAAC,YAAY,EAAE,iBAAiB,CAAC;gBAE9B,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ;IAUrC,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAK5C,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI9E,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAKhE,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1D,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;IAO1G,+BAA+B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;IAOjH,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzD,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAK1E,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1E,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;IAOpG,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;IAO3G,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,uCAAuC,CAAC,2BAA2B,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5G,qCAAqC,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAQ/E,UAAU,CAAC,WAAW,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;cAI3D,iBAAiB,CAAC,WAAW,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;cAIlE,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC;IAIhF,yBAAyB,IAAI,OAAO,CAAC,MAAM,CAAC;CAOrD"}
@@ -0,0 +1,124 @@
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.TheiaTextEditor = void 0;
19
+ const theia_editor_1 = require("./theia-editor");
20
+ const util_1 = require("./util");
21
+ const theia_monaco_editor_1 = require("./theia-monaco-editor");
22
+ class TheiaTextEditor extends theia_editor_1.TheiaEditor {
23
+ constructor(filePath, app) {
24
+ // shell-tab-code-editor-opener:file:///c%3A/Users/user/AppData/Local/Temp/cloud-ws-JBUhb6/sample.txt:1
25
+ // code-editor-opener:file:///c%3A/Users/user/AppData/Local/Temp/cloud-ws-JBUhb6/sample.txt:1
26
+ super({
27
+ tabSelector: (0, util_1.normalizeId)(`#shell-tab-code-editor-opener:${app.workspace.pathAsUrl(filePath)}:1`),
28
+ viewSelector: (0, util_1.normalizeId)(`#code-editor-opener:${app.workspace.pathAsUrl(filePath)}:1`) + '.theia-editor'
29
+ }, app);
30
+ this.monacoEditor = new theia_monaco_editor_1.TheiaMonacoEditor(this.page.locator(this.data.viewSelector), app);
31
+ }
32
+ async numberOfLines() {
33
+ await this.activate();
34
+ return this.monacoEditor.numberOfLines();
35
+ }
36
+ async textContentOfLineByLineNumber(lineNumber) {
37
+ return this.monacoEditor.textContentOfLineByLineNumber(lineNumber);
38
+ }
39
+ async replaceLineWithLineNumber(text, lineNumber) {
40
+ await this.selectLineWithLineNumber(lineNumber);
41
+ await this.typeTextAndHitEnter(text);
42
+ }
43
+ async typeTextAndHitEnter(text) {
44
+ await this.page.keyboard.type(text);
45
+ await this.page.keyboard.press('Enter');
46
+ }
47
+ async selectLineWithLineNumber(lineNumber) {
48
+ var _a;
49
+ await this.activate();
50
+ const lineElement = await this.monacoEditor.line(lineNumber);
51
+ await this.selectLine(lineElement);
52
+ return (_a = await lineElement.elementHandle()) !== null && _a !== void 0 ? _a : undefined;
53
+ }
54
+ async placeCursorInLineWithLineNumber(lineNumber) {
55
+ var _a;
56
+ await this.activate();
57
+ const lineElement = await this.monacoEditor.line(lineNumber);
58
+ await this.placeCursorInLine(lineElement);
59
+ return (_a = await lineElement.elementHandle()) !== null && _a !== void 0 ? _a : undefined;
60
+ }
61
+ async deleteLineByLineNumber(lineNumber) {
62
+ await this.selectLineWithLineNumber(lineNumber);
63
+ await this.page.keyboard.press('Backspace');
64
+ }
65
+ async textContentOfLineContainingText(text) {
66
+ await this.activate();
67
+ return this.monacoEditor.textContentOfLineContainingText(text);
68
+ }
69
+ async replaceLineContainingText(newText, oldText) {
70
+ await this.selectLineContainingText(oldText);
71
+ await this.typeTextAndHitEnter(newText);
72
+ }
73
+ async selectLineContainingText(text) {
74
+ var _a;
75
+ await this.activate();
76
+ const lineElement = await this.monacoEditor.lineWithText(text);
77
+ await this.selectLine(lineElement);
78
+ return (_a = await (lineElement === null || lineElement === void 0 ? void 0 : lineElement.elementHandle())) !== null && _a !== void 0 ? _a : undefined;
79
+ }
80
+ async placeCursorInLineContainingText(text) {
81
+ var _a;
82
+ await this.activate();
83
+ const lineElement = await this.monacoEditor.lineWithText(text);
84
+ await this.placeCursorInLine(lineElement);
85
+ return (_a = await (lineElement === null || lineElement === void 0 ? void 0 : lineElement.elementHandle())) !== null && _a !== void 0 ? _a : undefined;
86
+ }
87
+ async deleteLineContainingText(text) {
88
+ await this.selectLineContainingText(text);
89
+ await this.page.keyboard.press('Backspace');
90
+ }
91
+ async addTextToNewLineAfterLineContainingText(textContainedByExistingLine, newText) {
92
+ const existingLine = await this.monacoEditor.lineWithText(textContainedByExistingLine);
93
+ await this.placeCursorInLine(existingLine);
94
+ await this.page.keyboard.press('End');
95
+ await this.page.keyboard.press('Enter');
96
+ await this.page.keyboard.type(newText);
97
+ }
98
+ async addTextToNewLineAfterLineByLineNumber(lineNumber, newText) {
99
+ const existingLine = await this.monacoEditor.line(lineNumber);
100
+ await this.placeCursorInLine(existingLine);
101
+ await this.page.keyboard.press('End');
102
+ await this.page.keyboard.press('Enter');
103
+ await this.page.keyboard.type(newText);
104
+ }
105
+ async selectLine(lineLocator) {
106
+ await (lineLocator === null || lineLocator === void 0 ? void 0 : lineLocator.click({ clickCount: 3 }));
107
+ }
108
+ async placeCursorInLine(lineLocator) {
109
+ await (lineLocator === null || lineLocator === void 0 ? void 0 : lineLocator.click());
110
+ }
111
+ async selectedSuggestion() {
112
+ return this.page.waitForSelector(this.viewSelector + ' .monaco-list-row.show-file-icons.focused');
113
+ }
114
+ async getSelectedSuggestionText() {
115
+ const suggestion = await this.selectedSuggestion();
116
+ const text = await suggestion.textContent();
117
+ if (text === null) {
118
+ throw new Error('Text content could not be found');
119
+ }
120
+ return text;
121
+ }
122
+ }
123
+ exports.TheiaTextEditor = TheiaTextEditor;
124
+ //# sourceMappingURL=theia-text-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-text-editor.js","sourceRoot":"","sources":["../src/theia-text-editor.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;;;AAKhF,iDAA6C;AAC7C,iCAAqC;AACrC,+DAA0D;AAE1D,MAAa,eAAgB,SAAQ,0BAAW;IAI5C,YAAY,QAAgB,EAAE,GAAa;QACvC,uGAAuG;QACvG,6FAA6F;QAC7F,KAAK,CAAC;YACF,WAAW,EAAE,IAAA,kBAAW,EAAC,iCAAiC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;YAChG,YAAY,EAAE,IAAA,kBAAW,EAAC,uBAAuB,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,eAAe;SAC5G,EAAE,GAAG,CAAC,CAAC;QACR,IAAI,CAAC,YAAY,GAAG,IAAI,uCAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,aAAa;QACf,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,UAAkB;QAClD,OAAO,IAAI,CAAC,YAAY,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,IAAY,EAAE,UAAkB;QAC5D,MAAM,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAES,KAAK,CAAC,mBAAmB,CAAC,IAAY;QAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,UAAkB;;QAC7C,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACnC,OAAO,MAAA,MAAM,WAAW,CAAC,aAAa,EAAE,mCAAI,SAAS,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,UAAkB;;QACpD,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO,MAAA,MAAM,WAAW,CAAC,aAAa,EAAE,mCAAI,SAAS,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,UAAkB;QAC3C,MAAM,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,IAAY;QAC9C,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,OAAe,EAAE,OAAe;QAC5D,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,IAAY;;QACvC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACnC,OAAO,MAAA,MAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,aAAa,EAAE,CAAA,mCAAI,SAAS,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,IAAY;;QAC9C,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO,MAAA,MAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,aAAa,EAAE,CAAA,mCAAI,SAAS,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,IAAY;QACvC,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,uCAAuC,CAAC,2BAAmC,EAAE,OAAe;QAC9F,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAAC;QACvF,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,qCAAqC,CAAC,UAAkB,EAAE,OAAe;QAC3E,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9D,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAES,KAAK,CAAC,UAAU,CAAC,WAAgC;QACvD,MAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAA,CAAC;IAChD,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,WAAgC;QAC9D,MAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,EAAE,CAAA,CAAC;IAC/B,CAAC;IAES,KAAK,CAAC,kBAAkB;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,GAAG,2CAA2C,CAAC,CAAC;IACtG,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC3B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IAChB,CAAC;CAEJ;AApHD,0CAoHC"}
@@ -0,0 +1,5 @@
1
+ import { TheiaStatusIndicator } from './theia-status-indicator';
2
+ export declare class TheiaToggleBottomIndicator extends TheiaStatusIndicator {
3
+ id: string;
4
+ }
5
+ //# sourceMappingURL=theia-toggle-bottom-indicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-toggle-bottom-indicator.d.ts","sourceRoot":"","sources":["../src/theia-toggle-bottom-indicator.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,qBAAa,0BAA2B,SAAQ,oBAAoB;IAChE,EAAE,SAAyB;CAC9B"}
@@ -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.TheiaToggleBottomIndicator = void 0;
19
+ const theia_status_indicator_1 = require("./theia-status-indicator");
20
+ class TheiaToggleBottomIndicator extends theia_status_indicator_1.TheiaStatusIndicator {
21
+ constructor() {
22
+ super(...arguments);
23
+ this.id = 'bottom-panel-toggle';
24
+ }
25
+ }
26
+ exports.TheiaToggleBottomIndicator = TheiaToggleBottomIndicator;
27
+ //# sourceMappingURL=theia-toggle-bottom-indicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-toggle-bottom-indicator.js","sourceRoot":"","sources":["../src/theia-toggle-bottom-indicator.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,qEAAgE;AAEhE,MAAa,0BAA2B,SAAQ,6CAAoB;IAApE;;QACI,OAAE,GAAG,qBAAqB,CAAC;IAC/B,CAAC;CAAA;AAFD,gEAEC"}
@@ -0,0 +1,11 @@
1
+ import { ElementHandle } from '@playwright/test';
2
+ import { TheiaApp } from './theia-app';
3
+ import { TheiaPageObject } from './theia-page-object';
4
+ export declare class TheiaToolbarItem extends TheiaPageObject {
5
+ protected element: ElementHandle<SVGElement | HTMLElement>;
6
+ constructor(app: TheiaApp, element: ElementHandle<SVGElement | HTMLElement>);
7
+ commandId(): Promise<string | null>;
8
+ isEnabled(): Promise<boolean>;
9
+ trigger(): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=theia-toolbar-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-toolbar-item.d.ts","sourceRoot":"","sources":["../src/theia-toolbar-item.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,gBAAiB,SAAQ,eAAe;IACtB,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC;gBAAzE,GAAG,EAAE,QAAQ,EAAY,OAAO,EAAE,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC;IAI/E,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAInC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAS7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAGjC"}
@@ -0,0 +1,41 @@
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
+ exports.TheiaToolbarItem = void 0;
19
+ const theia_page_object_1 = require("./theia-page-object");
20
+ class TheiaToolbarItem extends theia_page_object_1.TheiaPageObject {
21
+ constructor(app, element) {
22
+ super(app);
23
+ this.element = element;
24
+ }
25
+ async commandId() {
26
+ return this.element.getAttribute('id');
27
+ }
28
+ async isEnabled() {
29
+ const child = await this.element.$(':first-child');
30
+ const classAttribute = child && await child.getAttribute('class');
31
+ if (classAttribute === undefined || classAttribute === null) {
32
+ return false;
33
+ }
34
+ return classAttribute.includes('enabled');
35
+ }
36
+ async trigger() {
37
+ await this.element.click();
38
+ }
39
+ }
40
+ exports.TheiaToolbarItem = TheiaToolbarItem;
41
+ //# sourceMappingURL=theia-toolbar-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-toolbar-item.js","sourceRoot":"","sources":["../src/theia-toolbar-item.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;;;AAIhF,2DAAsD;AAEtD,MAAa,gBAAiB,SAAQ,mCAAe;IACjD,YAAY,GAAa,EAAY,OAAgD;QACjF,KAAK,CAAC,GAAG,CAAC,CAAC;QADsB,YAAO,GAAP,OAAO,CAAyC;IAErF,CAAC;IAED,KAAK,CAAC,SAAS;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,SAAS;QACX,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,cAAc,GAAG,KAAK,IAAI,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC1D,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,OAAO;QACT,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACJ;AArBD,4CAqBC"}
@@ -0,0 +1,20 @@
1
+ import { ElementHandle } from '@playwright/test';
2
+ import { TheiaPageObject } from './theia-page-object';
3
+ import { TheiaToolbarItem } from './theia-toolbar-item';
4
+ export declare class TheiaToolbar extends TheiaPageObject {
5
+ selector: string;
6
+ protected toolbarElementHandle(): Promise<ElementHandle<SVGElement | HTMLElement> | null>;
7
+ waitForVisible(): Promise<void>;
8
+ isShown(): Promise<boolean>;
9
+ show(): Promise<void>;
10
+ hide(): Promise<void>;
11
+ toggle(): Promise<void>;
12
+ waitUntilHidden(): Promise<void>;
13
+ waitUntilShown(): Promise<void>;
14
+ toolbarItems(): Promise<TheiaToolbarItem[]>;
15
+ toolbarItemIds(): Promise<string[]>;
16
+ toolBarItem(commandId: string): Promise<TheiaToolbarItem | undefined>;
17
+ protected toolBarItemSelector(toolbarItemId?: string): string;
18
+ protected toCommandIdArray(items: TheiaToolbarItem[]): Promise<string[]>;
19
+ }
20
+ //# sourceMappingURL=theia-toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-toolbar.d.ts","sourceRoot":"","sources":["../src/theia-toolbar.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,qBAAa,YAAa,SAAQ,eAAe;IAC7C,QAAQ,SAAwC;cAEhC,oBAAoB,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC;IAIzF,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAK3B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAOvB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,YAAY,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAS3C,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKnC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAY3E,SAAS,CAAC,mBAAmB,CAAC,aAAa,SAAK,GAAG,MAAM;cAIzC,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAKjF"}
@@ -0,0 +1,91 @@
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
+ exports.TheiaToolbar = void 0;
19
+ const theia_page_object_1 = require("./theia-page-object");
20
+ const theia_toolbar_item_1 = require("./theia-toolbar-item");
21
+ class TheiaToolbar extends theia_page_object_1.TheiaPageObject {
22
+ constructor() {
23
+ super(...arguments);
24
+ this.selector = 'div#main-toolbar.lm-TabBar-toolbar';
25
+ }
26
+ async toolbarElementHandle() {
27
+ return this.page.$(this.selector);
28
+ }
29
+ async waitForVisible() {
30
+ await this.page.waitForSelector(this.selector, { state: 'visible' });
31
+ }
32
+ async isShown() {
33
+ const statusBar = await this.toolbarElementHandle();
34
+ return !!statusBar && statusBar.isVisible();
35
+ }
36
+ async show() {
37
+ if (!await this.isShown()) {
38
+ await this.toggle();
39
+ }
40
+ }
41
+ async hide() {
42
+ if (await this.isShown()) {
43
+ await this.toggle();
44
+ }
45
+ }
46
+ async toggle() {
47
+ const isShown = await this.isShown();
48
+ const viewMenu = await this.app.menuBar.openMenu('View');
49
+ await viewMenu.clickMenuItem('Toggle Toolbar');
50
+ isShown ? await this.waitUntilHidden() : await this.waitUntilShown();
51
+ }
52
+ async waitUntilHidden() {
53
+ await this.page.waitForSelector(this.selector, { state: 'hidden' });
54
+ }
55
+ async waitUntilShown() {
56
+ await this.page.waitForSelector(this.selector, { state: 'visible' });
57
+ }
58
+ async toolbarItems() {
59
+ const toolbarHandle = await this.toolbarElementHandle();
60
+ if (!toolbarHandle) {
61
+ return [];
62
+ }
63
+ const items = await toolbarHandle.$$(this.toolBarItemSelector());
64
+ return items.map(element => new theia_toolbar_item_1.TheiaToolbarItem(this.app, element));
65
+ }
66
+ async toolbarItemIds() {
67
+ const items = await this.toolbarItems();
68
+ return this.toCommandIdArray(items);
69
+ }
70
+ async toolBarItem(commandId) {
71
+ const toolbarHandle = await this.toolbarElementHandle();
72
+ if (!toolbarHandle) {
73
+ return undefined;
74
+ }
75
+ const item = await toolbarHandle.$(this.toolBarItemSelector(commandId));
76
+ if (item) {
77
+ return new theia_toolbar_item_1.TheiaToolbarItem(this.app, item);
78
+ }
79
+ return undefined;
80
+ }
81
+ toolBarItemSelector(toolbarItemId = '') {
82
+ return `div.toolbar-item${toolbarItemId ? `[id="${toolbarItemId}"]` : ''}`;
83
+ }
84
+ async toCommandIdArray(items) {
85
+ const contents = items.map(item => item.commandId());
86
+ const resolvedContents = await Promise.all(contents);
87
+ return resolvedContents.filter(id => id !== undefined);
88
+ }
89
+ }
90
+ exports.TheiaToolbar = TheiaToolbar;
91
+ //# sourceMappingURL=theia-toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-toolbar.js","sourceRoot":"","sources":["../src/theia-toolbar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { ElementHandle } from '@playwright/test';
2
+ import { TheiaApp } from './theia-app';
3
+ import { TheiaMenu } from './theia-menu';
4
+ export declare class TheiaTreeNode {
5
+ protected elementHandle: ElementHandle<SVGElement | HTMLElement>;
6
+ protected app: TheiaApp;
7
+ labelElementCssClass: string;
8
+ nodeSegmentLabelCssClass: string;
9
+ expansionToggleCssClass: string;
10
+ collapsedCssClass: string;
11
+ constructor(elementHandle: ElementHandle<SVGElement | HTMLElement>, app: TheiaApp);
12
+ label(): Promise<string | null>;
13
+ isCollapsed(): Promise<boolean>;
14
+ isExpandable(): Promise<boolean>;
15
+ expand(): Promise<void>;
16
+ collapse(): Promise<void>;
17
+ openContextMenu(): Promise<TheiaMenu>;
18
+ openContextMenuOnSegment(nodeSegmentLabel: string): Promise<TheiaMenu>;
19
+ }
20
+ //# sourceMappingURL=theia-tree-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-tree-node.d.ts","sourceRoot":"","sources":["../src/theia-tree-node.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,qBAAa,aAAa;IAOV,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC;IAAE,SAAS,CAAC,GAAG,EAAE,QAAQ;IALrG,oBAAoB,SAAgC;IACpD,wBAAwB,SAAuC;IAC/D,uBAAuB,SAA4B;IACnD,iBAAiB,SAA0B;gBAErB,aAAa,EAAE,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,EAAY,GAAG,EAAE,QAAQ;IAE/F,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQ/B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IASvB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IASzB,eAAe,IAAI,OAAO,CAAC,SAAS,CAAC;IAIrC,wBAAwB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;CAW/E"}