@theia/playwright 1.37.0-next.8 → 1.37.0

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 (90) hide show
  1. package/lib/index.d.ts +4 -0
  2. package/lib/index.d.ts.map +1 -1
  3. package/lib/index.js +4 -0
  4. package/lib/index.js.map +1 -1
  5. package/lib/tests/theia-explorer-view.test.js +24 -5
  6. package/lib/tests/theia-explorer-view.test.js.map +1 -1
  7. package/lib/tests/theia-output-view.test.d.ts +2 -0
  8. package/lib/tests/theia-output-view.test.d.ts.map +1 -0
  9. package/lib/tests/theia-output-view.test.js +77 -0
  10. package/lib/tests/theia-output-view.test.js.map +1 -0
  11. package/lib/tests/theia-quick-command.test.js +14 -0
  12. package/lib/tests/theia-quick-command.test.js.map +1 -1
  13. package/lib/tests/theia-sample-app.test.js +3 -30
  14. package/lib/tests/theia-sample-app.test.js.map +1 -1
  15. package/lib/tests/theia-terminal-view.test.d.ts +2 -0
  16. package/lib/tests/theia-terminal-view.test.d.ts.map +1 -0
  17. package/lib/tests/theia-terminal-view.test.js +76 -0
  18. package/lib/tests/theia-terminal-view.test.js.map +1 -0
  19. package/lib/tests/theia-toolbar.test.d.ts +2 -0
  20. package/lib/tests/theia-toolbar.test.d.ts.map +1 -0
  21. package/lib/tests/theia-toolbar.test.js +60 -0
  22. package/lib/tests/theia-toolbar.test.js.map +1 -0
  23. package/lib/tests/theia-workspace.test.js +5 -3
  24. package/lib/tests/theia-workspace.test.js.map +1 -1
  25. package/lib/theia-app.d.ts +7 -0
  26. package/lib/theia-app.d.ts.map +1 -1
  27. package/lib/theia-app.js +30 -1
  28. package/lib/theia-app.js.map +1 -1
  29. package/lib/theia-explorer-view.d.ts +6 -4
  30. package/lib/theia-explorer-view.d.ts.map +1 -1
  31. package/lib/theia-explorer-view.js +38 -6
  32. package/lib/theia-explorer-view.js.map +1 -1
  33. package/lib/theia-monaco-editor.d.ts +16 -0
  34. package/lib/theia-monaco-editor.d.ts.map +1 -0
  35. package/lib/theia-monaco-editor.js +76 -0
  36. package/lib/theia-monaco-editor.js.map +1 -0
  37. package/lib/theia-output-channel.d.ts +25 -0
  38. package/lib/theia-output-channel.d.ts.map +1 -0
  39. package/lib/theia-output-channel.js +72 -0
  40. package/lib/theia-output-channel.js.map +1 -0
  41. package/lib/theia-output-view.d.ts +10 -0
  42. package/lib/theia-output-view.d.ts.map +1 -0
  43. package/lib/theia-output-view.js +82 -0
  44. package/lib/theia-output-view.js.map +1 -0
  45. package/lib/theia-quick-command-palette.d.ts +2 -1
  46. package/lib/theia-quick-command-palette.d.ts.map +1 -1
  47. package/lib/theia-quick-command-palette.js +9 -2
  48. package/lib/theia-quick-command-palette.js.map +1 -1
  49. package/lib/theia-terminal.d.ts +14 -0
  50. package/lib/theia-terminal.d.ts.map +1 -0
  51. package/lib/theia-terminal.js +60 -0
  52. package/lib/theia-terminal.js.map +1 -0
  53. package/lib/theia-text-editor.d.ts +2 -3
  54. package/lib/theia-text-editor.d.ts.map +1 -1
  55. package/lib/theia-text-editor.js +11 -40
  56. package/lib/theia-text-editor.js.map +1 -1
  57. package/lib/theia-toolbar-item.d.ts +11 -0
  58. package/lib/theia-toolbar-item.d.ts.map +1 -0
  59. package/lib/theia-toolbar-item.js +40 -0
  60. package/lib/theia-toolbar-item.js.map +1 -0
  61. package/lib/theia-toolbar.d.ts +20 -0
  62. package/lib/theia-toolbar.d.ts.map +1 -0
  63. package/lib/theia-toolbar.js +91 -0
  64. package/lib/theia-toolbar.js.map +1 -0
  65. package/lib/theia-tree-node.d.ts +1 -0
  66. package/lib/theia-tree-node.d.ts.map +1 -1
  67. package/lib/theia-tree-node.js +8 -0
  68. package/lib/theia-tree-node.js.map +1 -1
  69. package/package.json +13 -10
  70. package/src/index.ts +4 -0
  71. package/src/tests/resources/sample-files1/sampleFolderCompact/nestedFolder1/nestedFolder2/sampleFile1-1.txt +0 -0
  72. package/src/tests/theia-explorer-view.test.ts +25 -6
  73. package/src/tests/theia-output-view.test.ts +85 -0
  74. package/src/tests/theia-quick-command.test.ts +15 -0
  75. package/src/tests/theia-sample-app.test.ts +3 -34
  76. package/src/tests/theia-terminal-view.test.ts +85 -0
  77. package/src/tests/theia-toolbar.test.ts +65 -0
  78. package/src/tests/theia-workspace.test.ts +5 -3
  79. package/src/theia-app.ts +37 -1
  80. package/src/theia-explorer-view.ts +42 -7
  81. package/src/theia-monaco-editor.ts +83 -0
  82. package/src/theia-output-channel.ts +88 -0
  83. package/src/theia-output-view.ts +87 -0
  84. package/src/theia-quick-command-palette.ts +10 -2
  85. package/src/theia-terminal.ts +69 -0
  86. package/src/theia-text-editor.ts +13 -44
  87. package/src/theia-toolbar-item.ts +41 -0
  88. package/src/theia-toolbar.ts +99 -0
  89. package/src/theia-tree-node.ts +10 -1
  90. package/LICENSE +0 -642
@@ -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 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.type(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,2EAA2E;AAC3E,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"}
@@ -1,7 +1,9 @@
1
1
  import { ElementHandle } from '@playwright/test';
2
2
  import { TheiaApp } from './theia-app';
3
3
  import { TheiaEditor } from './theia-editor';
4
+ import { TheiaMonacoEditor } from './theia-monaco-editor';
4
5
  export declare class TheiaTextEditor extends TheiaEditor {
6
+ protected monacoEditor: TheiaMonacoEditor;
5
7
  constructor(filePath: string, app: TheiaApp);
6
8
  numberOfLines(): Promise<number | undefined>;
7
9
  textContentOfLineByLineNumber(lineNumber: number): Promise<string | undefined>;
@@ -10,7 +12,6 @@ export declare class TheiaTextEditor extends TheiaEditor {
10
12
  selectLineWithLineNumber(lineNumber: number): Promise<ElementHandle<SVGElement | HTMLElement> | undefined>;
11
13
  placeCursorInLineWithLineNumber(lineNumber: number): Promise<ElementHandle<SVGElement | HTMLElement> | undefined>;
12
14
  deleteLineByLineNumber(lineNumber: number): Promise<void>;
13
- protected lineByLineNumber(lineNumber: number): Promise<ElementHandle<SVGElement | HTMLElement> | undefined>;
14
15
  textContentOfLineContainingText(text: string): Promise<string | undefined>;
15
16
  replaceLineContainingText(newText: string, oldText: string): Promise<void>;
16
17
  selectLineContainingText(text: string): Promise<ElementHandle<SVGElement | HTMLElement> | undefined>;
@@ -18,10 +19,8 @@ export declare class TheiaTextEditor extends TheiaEditor {
18
19
  deleteLineContainingText(text: string): Promise<void>;
19
20
  addTextToNewLineAfterLineContainingText(textContainedByExistingLine: string, newText: string): Promise<void>;
20
21
  addTextToNewLineAfterLineByLineNumber(lineNumber: number, newText: string): Promise<void>;
21
- protected lineContainingText(text: string): Promise<ElementHandle<SVGElement | HTMLElement> | undefined>;
22
22
  protected selectLine(lineElement: ElementHandle<SVGElement | HTMLElement> | undefined): Promise<void>;
23
23
  protected placeCursorInLine(lineElement: ElementHandle<SVGElement | HTMLElement> | undefined): Promise<void>;
24
- protected replaceEditorSymbolsWithSpace(content: string): string | Promise<string | undefined>;
25
24
  protected selectedSuggestion(): Promise<ElementHandle<SVGElement | HTMLElement>>;
26
25
  getSelectedSuggestionText(): Promise<string>;
27
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"theia-text-editor.d.ts","sourceRoot":"","sources":["../src/theia-text-editor.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,qBAAa,eAAgB,SAAQ,WAAW;gBAEhC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ;IASrC,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAO5C,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAM9E,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;cAK/C,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;IAiB5G,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAO1E,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,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;cAK9F,UAAU,CAAC,WAAW,EAAE,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;cAI3F,iBAAiB,CAAC,WAAW,EAAE,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlH,SAAS,CAAC,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;cAO9E,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC;IAIhF,yBAAyB,IAAI,OAAO,CAAC,MAAM,CAAC;CAOrD"}
1
+ {"version":3,"file":"theia-text-editor.d.ts","sourceRoot":"","sources":["../src/theia-text-editor.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,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,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;cAI3F,iBAAiB,CAAC,WAAW,EAAE,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;cAIlG,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC;IAIhF,yBAAyB,IAAI,OAAO,CAAC,MAAM,CAAC;CAOrD"}
@@ -19,6 +19,7 @@ exports.TheiaTextEditor = void 0;
19
19
  const path_1 = require("path");
20
20
  const theia_editor_1 = require("./theia-editor");
21
21
  const util_1 = require("./util");
22
+ const theia_monaco_editor_1 = require("./theia-monaco-editor");
22
23
  class TheiaTextEditor extends theia_editor_1.TheiaEditor {
23
24
  constructor(filePath, app) {
24
25
  // shell-tab-code-editor-opener:file:///c%3A/Users/user/AppData/Local/Temp/cloud-ws-JBUhb6/sample.txt:1
@@ -27,17 +28,14 @@ class TheiaTextEditor extends theia_editor_1.TheiaEditor {
27
28
  tabSelector: (0, util_1.normalizeId)(`#shell-tab-code-editor-opener:file://${(0, util_1.urlEncodePath)((0, path_1.join)(app.workspace.escapedPath, util_1.OSUtil.fileSeparator, filePath))}:1`),
28
29
  viewSelector: (0, util_1.normalizeId)(`#code-editor-opener:file://${(0, util_1.urlEncodePath)((0, path_1.join)(app.workspace.escapedPath, util_1.OSUtil.fileSeparator, filePath))}:1`) + '.theia-editor'
29
30
  }, app);
31
+ this.monacoEditor = new theia_monaco_editor_1.TheiaMonacoEditor(this.viewSelector, app);
30
32
  }
31
33
  async numberOfLines() {
32
34
  await this.activate();
33
- const viewElement = await this.viewElement();
34
- const lineElements = await (viewElement === null || viewElement === void 0 ? void 0 : viewElement.$$('.view-lines .view-line'));
35
- return lineElements === null || lineElements === void 0 ? void 0 : lineElements.length;
35
+ return this.monacoEditor.numberOfLines();
36
36
  }
37
37
  async textContentOfLineByLineNumber(lineNumber) {
38
- const lineElement = await this.lineByLineNumber(lineNumber);
39
- const content = await (lineElement === null || lineElement === void 0 ? void 0 : lineElement.textContent());
40
- return content ? this.replaceEditorSymbolsWithSpace(content) : undefined;
38
+ return this.monacoEditor.textContentOfLineByLineNumber(lineNumber);
41
39
  }
42
40
  async replaceLineWithLineNumber(text, lineNumber) {
43
41
  await this.selectLineWithLineNumber(lineNumber);
@@ -49,13 +47,13 @@ class TheiaTextEditor extends theia_editor_1.TheiaEditor {
49
47
  }
50
48
  async selectLineWithLineNumber(lineNumber) {
51
49
  await this.activate();
52
- const lineElement = await this.lineByLineNumber(lineNumber);
50
+ const lineElement = await this.monacoEditor.lineByLineNumber(lineNumber);
53
51
  await this.selectLine(lineElement);
54
52
  return lineElement;
55
53
  }
56
54
  async placeCursorInLineWithLineNumber(lineNumber) {
57
55
  await this.activate();
58
- const lineElement = await this.lineByLineNumber(lineNumber);
56
+ const lineElement = await this.monacoEditor.lineByLineNumber(lineNumber);
59
57
  await this.placeCursorInLine(lineElement);
60
58
  return lineElement;
61
59
  }
@@ -63,26 +61,9 @@ class TheiaTextEditor extends theia_editor_1.TheiaEditor {
63
61
  await this.selectLineWithLineNumber(lineNumber);
64
62
  await this.page.keyboard.press('Backspace');
65
63
  }
66
- async lineByLineNumber(lineNumber) {
67
- await this.activate();
68
- const viewElement = await this.viewElement();
69
- const lines = await (viewElement === null || viewElement === void 0 ? void 0 : viewElement.$$('.view-lines .view-line'));
70
- if (!lines) {
71
- throw new Error(`Couldn't retrieve lines of text editor ${this.tabSelector}`);
72
- }
73
- const linesWithXCoordinates = [];
74
- for (const lineElement of lines) {
75
- const box = await lineElement.boundingBox();
76
- linesWithXCoordinates.push({ x: box ? box.x : Number.MAX_VALUE, lineElement });
77
- }
78
- linesWithXCoordinates.sort((a, b) => a.x.toString().localeCompare(b.x.toString()));
79
- return linesWithXCoordinates[lineNumber - 1].lineElement;
80
- }
81
64
  async textContentOfLineContainingText(text) {
82
65
  await this.activate();
83
- const lineElement = await this.lineContainingText(text);
84
- const content = await (lineElement === null || lineElement === void 0 ? void 0 : lineElement.textContent());
85
- return content ? this.replaceEditorSymbolsWithSpace(content) : undefined;
66
+ return this.monacoEditor.textContentOfLineContainingText(text);
86
67
  }
87
68
  async replaceLineContainingText(newText, oldText) {
88
69
  await this.selectLineContainingText(oldText);
@@ -90,13 +71,13 @@ class TheiaTextEditor extends theia_editor_1.TheiaEditor {
90
71
  }
91
72
  async selectLineContainingText(text) {
92
73
  await this.activate();
93
- const lineElement = await this.lineContainingText(text);
74
+ const lineElement = await this.monacoEditor.lineContainingText(text);
94
75
  await this.selectLine(lineElement);
95
76
  return lineElement;
96
77
  }
97
78
  async placeCursorInLineContainingText(text) {
98
79
  await this.activate();
99
- const lineElement = await this.lineContainingText(text);
80
+ const lineElement = await this.monacoEditor.lineContainingText(text);
100
81
  await this.placeCursorInLine(lineElement);
101
82
  return lineElement;
102
83
  }
@@ -105,35 +86,25 @@ class TheiaTextEditor extends theia_editor_1.TheiaEditor {
105
86
  await this.page.keyboard.press('Backspace');
106
87
  }
107
88
  async addTextToNewLineAfterLineContainingText(textContainedByExistingLine, newText) {
108
- const existingLine = await this.lineContainingText(textContainedByExistingLine);
89
+ const existingLine = await this.monacoEditor.lineContainingText(textContainedByExistingLine);
109
90
  await this.placeCursorInLine(existingLine);
110
91
  await this.page.keyboard.press('End');
111
92
  await this.page.keyboard.press('Enter');
112
93
  await this.page.keyboard.type(newText);
113
94
  }
114
95
  async addTextToNewLineAfterLineByLineNumber(lineNumber, newText) {
115
- const existingLine = await this.lineByLineNumber(lineNumber);
96
+ const existingLine = await this.monacoEditor.lineByLineNumber(lineNumber);
116
97
  await this.placeCursorInLine(existingLine);
117
98
  await this.page.keyboard.press('End');
118
99
  await this.page.keyboard.press('Enter');
119
100
  await this.page.keyboard.type(newText);
120
101
  }
121
- async lineContainingText(text) {
122
- const viewElement = await this.viewElement();
123
- return viewElement === null || viewElement === void 0 ? void 0 : viewElement.waitForSelector(`.view-lines .view-line:has-text("${text}")`);
124
- }
125
102
  async selectLine(lineElement) {
126
103
  await (lineElement === null || lineElement === void 0 ? void 0 : lineElement.click({ clickCount: 3 }));
127
104
  }
128
105
  async placeCursorInLine(lineElement) {
129
106
  await (lineElement === null || lineElement === void 0 ? void 0 : lineElement.click());
130
107
  }
131
- replaceEditorSymbolsWithSpace(content) {
132
- // [ ] &nbsp; => \u00a0 -- NO-BREAK SPACE
133
- // [·] &middot; => \u00b7 -- MIDDLE DOT
134
- // [] &zwnj; => \u200c -- ZERO WIDTH NON-JOINER
135
- return content.replace(/[\u00a0\u00b7]/g, ' ').replace(/[\u200c]/g, '');
136
- }
137
108
  async selectedSuggestion() {
138
109
  return this.page.waitForSelector(this.viewSelector + ' .monaco-list-row.show-file-icons.focused');
139
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"theia-text-editor.js","sourceRoot":"","sources":["../src/theia-text-editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theia-text-editor.js","sourceRoot":"","sources":["../src/theia-text-editor.ts"],"names":[],"mappings":"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"}
@@ -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;IAQ7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAGjC"}
@@ -0,0 +1,40 @@
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 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 classAttribute = await this.element.getAttribute('class');
30
+ if (classAttribute === undefined || classAttribute === null) {
31
+ return false;
32
+ }
33
+ return classAttribute.includes('enabled');
34
+ }
35
+ async trigger() {
36
+ await this.element.click();
37
+ }
38
+ }
39
+ exports.TheiaToolbarItem = TheiaToolbarItem;
40
+ //# 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,2EAA2E;AAC3E,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,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,IAAI,EAAE;YACzD,OAAO,KAAK,CAAC;SAChB;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;AApBD,4CAoBC"}
@@ -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,SAAuC;cAE/B,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 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.p-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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"}
@@ -12,6 +12,7 @@ export declare class TheiaTreeNode {
12
12
  isCollapsed(): Promise<boolean>;
13
13
  isExpandable(): Promise<boolean>;
14
14
  expand(): Promise<void>;
15
+ collapse(): Promise<void>;
15
16
  openContextMenu(): Promise<TheiaMenu>;
16
17
  }
17
18
  //# sourceMappingURL=theia-tree-node.d.ts.map
@@ -1 +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;IAMV,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC;IAAE,SAAS,CAAC,GAAG,EAAE,QAAQ;IAJrG,oBAAoB,SAAgC;IACpD,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,eAAe,IAAI,OAAO,CAAC,SAAS,CAAC;CAI9C"}
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;IAMV,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC;IAAE,SAAS,CAAC,GAAG,EAAE,QAAQ;IAJrG,oBAAoB,SAAgC;IACpD,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;CAI9C"}
@@ -46,6 +46,14 @@ class TheiaTreeNode {
46
46
  await expansionToggle.click();
47
47
  await this.elementHandle.waitForSelector(`${this.expansionToggleCssClass}:not(${this.collapsedCssClass})`);
48
48
  }
49
+ async collapse() {
50
+ if (await this.isCollapsed()) {
51
+ return;
52
+ }
53
+ const expansionToggle = await this.elementHandle.waitForSelector(this.expansionToggleCssClass);
54
+ await expansionToggle.click();
55
+ await this.elementHandle.waitForSelector(`${this.expansionToggleCssClass}${this.collapsedCssClass}`);
56
+ }
49
57
  async openContextMenu() {
50
58
  return theia_context_menu_1.TheiaContextMenu.open(this.app, () => this.elementHandle.waitForSelector(this.labelElementCssClass));
51
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"theia-tree-node.js","sourceRoot":"","sources":["../src/theia-tree-node.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,2EAA2E;AAC3E,gFAAgF;;;AAKhF,6DAAwD;AAGxD,MAAa,aAAa;IAMtB,YAAsB,aAAsD,EAAY,GAAa;QAA/E,kBAAa,GAAb,aAAa,CAAyC;QAAY,QAAG,GAAH,GAAG,CAAU;QAJrG,yBAAoB,GAAG,4BAA4B,CAAC;QACpD,4BAAuB,GAAG,wBAAwB,CAAC;QACnD,sBAAiB,GAAG,sBAAsB,CAAC;IAE8D,CAAC;IAE1G,KAAK,CAAC,KAAK;QACP,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACxE,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;SACjE;QACD,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,WAAW;QACb,OAAO,CAAC,CAAE,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,YAAY;QACd,OAAO,CAAC,CAAE,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,MAAM;QACR,IAAI,CAAE,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE;YAC5B,OAAO;SACV;QACD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC/F,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,uBAAuB,QAAQ,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC/G,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,OAAO,qCAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAChH,CAAC;CAEJ;AArCD,sCAqCC"}
1
+ {"version":3,"file":"theia-tree-node.js","sourceRoot":"","sources":["../src/theia-tree-node.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,2EAA2E;AAC3E,gFAAgF;;;AAKhF,6DAAwD;AAGxD,MAAa,aAAa;IAMtB,YAAsB,aAAsD,EAAY,GAAa;QAA/E,kBAAa,GAAb,aAAa,CAAyC;QAAY,QAAG,GAAH,GAAG,CAAU;QAJrG,yBAAoB,GAAG,4BAA4B,CAAC;QACpD,4BAAuB,GAAG,wBAAwB,CAAC;QACnD,sBAAiB,GAAG,sBAAsB,CAAC;IAE8D,CAAC;IAE1G,KAAK,CAAC,KAAK;QACP,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACxE,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;SACjE;QACD,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,WAAW;QACb,OAAO,CAAC,CAAE,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,YAAY;QACd,OAAO,CAAC,CAAE,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,MAAM;QACR,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE;YAC3B,OAAO;SACV;QACD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC/F,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,uBAAuB,QAAQ,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAC/G,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,IAAI,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE;YAC1B,OAAO;SACV;QACD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC/F,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACzG,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,OAAO,qCAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAChH,CAAC;CAEJ;AA9CD,sCA8CC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theia/playwright",
3
- "version": "1.37.0-next.8+8a58417ba",
3
+ "version": "1.37.0",
4
4
  "description": "System tests for Theia",
5
5
  "license": "EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0",
6
6
  "repository": {
@@ -12,14 +12,15 @@
12
12
  },
13
13
  "homepage": "https://github.com/eclipse-theia/theia",
14
14
  "scripts": {
15
- "clean": "rimraf lib *.tsbuildinfo",
16
- "build": "tsc --incremental && npx playwright install chromium",
15
+ "clean": "rimraf lib *.tsbuildinfo .eslintcache",
16
+ "build": "yarn && yarn clean && tsc --incremental && yarn lint && yarn playwright:install",
17
+ "watch": "tsc -w --incremental",
17
18
  "theia:start": "rimraf .tmp.cfg && THEIA_CONFIG_DIR=$PWD/.tmp.cfg yarn --cwd ../browser start",
18
19
  "lint": "eslint -c ./.eslintrc.js --ext .ts ./src",
19
20
  "lint:fix": "eslint -c ./.eslintrc.js --ext .ts ./src --fix",
20
- "ui-tests": "yarn && playwright test --config=./configs/playwright.config.ts",
21
- "ui-tests-ci": "yarn && playwright test --config=./configs/playwright.ci.config.ts",
22
- "ui-tests-headful": "yarn && playwright test --config=./configs/playwright.headful.config.ts",
21
+ "playwright:install": "playwright install chromium",
22
+ "ui-tests": "yarn build && playwright test",
23
+ "ui-tests-headful": "yarn build && playwright test --headed",
23
24
  "ui-tests-report-generate": "allure generate ./allure-results --clean -o allure-results/allure-report",
24
25
  "ui-tests-report": "yarn ui-tests-report-generate && allure open allure-results/allure-report"
25
26
  },
@@ -28,17 +29,19 @@
28
29
  "src"
29
30
  ],
30
31
  "dependencies": {
31
- "@playwright/test": "^1.30.0",
32
+ "@playwright/test": "^1.32.1",
32
33
  "fs-extra": "^9.0.8"
33
34
  },
34
35
  "devDependencies": {
35
36
  "@types/fs-extra": "^9.0.8",
36
- "allure-commandline": "^2.13.8",
37
- "allure-playwright": "^2.0.0-beta.14"
37
+ "allure-commandline": "^2.21.0",
38
+ "allure-playwright": "^2.1.0",
39
+ "rimraf": "^2.6.1",
40
+ "typescript": "~4.5.5"
38
41
  },
39
42
  "publishConfig": {
40
43
  "access": "public"
41
44
  },
42
45
  "main": "lib/index",
43
- "gitHead": "8a58417ba758ba4d7e78ff26fa2d861772909520"
46
+ "gitHead": "57769513da78e4f8d90abce3d7daaf7d436545fd"
44
47
  }
package/src/index.ts CHANGED
@@ -25,6 +25,8 @@ export * from './theia-menu-item';
25
25
  export * from './theia-menu';
26
26
  export * from './theia-notification-indicator';
27
27
  export * from './theia-notification-overlay';
28
+ export * from './theia-output-channel';
29
+ export * from './theia-output-view';
28
30
  export * from './theia-page-object';
29
31
  export * from './theia-preference-view';
30
32
  export * from './theia-problem-indicator';
@@ -35,6 +37,8 @@ export * from './theia-status-bar';
35
37
  export * from './theia-status-indicator';
36
38
  export * from './theia-text-editor';
37
39
  export * from './theia-toggle-bottom-indicator';
40
+ export * from './theia-toolbar';
41
+ export * from './theia-toolbar-item';
38
42
  export * from './theia-tree-node';
39
43
  export * from './theia-view';
40
44
  export * from './theia-workspace';