@theia/playwright 1.48.0 → 1.48.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/README.md +54 -54
  2. package/lib/index.d.ts +30 -30
  3. package/lib/index.js +48 -48
  4. package/lib/tests/theia-app.test.d.ts +1 -1
  5. package/lib/tests/theia-app.test.js +29 -29
  6. package/lib/tests/theia-application-shell.test.d.ts +1 -1
  7. package/lib/tests/theia-application-shell.test.js +57 -57
  8. package/lib/tests/theia-explorer-view.test.d.ts +1 -1
  9. package/lib/tests/theia-explorer-view.test.js +183 -183
  10. package/lib/tests/theia-getting-started.test.d.ts +1 -1
  11. package/lib/tests/theia-getting-started.test.js +45 -45
  12. package/lib/tests/theia-main-menu.test.d.ts +1 -1
  13. package/lib/tests/theia-main-menu.test.js +111 -111
  14. package/lib/tests/theia-output-view.test.d.ts +1 -1
  15. package/lib/tests/theia-output-view.test.js +78 -78
  16. package/lib/tests/theia-preference-view.test.d.ts +1 -1
  17. package/lib/tests/theia-preference-view.test.js +101 -101
  18. package/lib/tests/theia-problems-view.test.d.ts +1 -1
  19. package/lib/tests/theia-problems-view.test.js +54 -54
  20. package/lib/tests/theia-quick-command.test.d.ts +1 -1
  21. package/lib/tests/theia-quick-command.test.js +69 -69
  22. package/lib/tests/theia-sample-app.test.d.ts +1 -1
  23. package/lib/tests/theia-sample-app.test.js +57 -57
  24. package/lib/tests/theia-status-bar.test.d.ts +1 -1
  25. package/lib/tests/theia-status-bar.test.js +44 -44
  26. package/lib/tests/theia-terminal-view.test.d.ts +1 -1
  27. package/lib/tests/theia-terminal-view.test.js +78 -78
  28. package/lib/tests/theia-text-editor.test.d.ts +1 -1
  29. package/lib/tests/theia-text-editor.test.js +155 -155
  30. package/lib/tests/theia-toolbar.test.d.ts +1 -1
  31. package/lib/tests/theia-toolbar.test.js +61 -61
  32. package/lib/tests/theia-workspace.test.d.ts +1 -1
  33. package/lib/tests/theia-workspace.test.js +72 -72
  34. package/lib/theia-about-dialog.d.ts +4 -4
  35. package/lib/theia-about-dialog.js +26 -26
  36. package/lib/theia-app-loader.d.ts +19 -19
  37. package/lib/theia-app-loader.js +129 -129
  38. package/lib/theia-app.d.ts +50 -50
  39. package/lib/theia-app.js +153 -153
  40. package/lib/theia-context-menu.d.ts +8 -8
  41. package/lib/theia-context-menu.js +37 -37
  42. package/lib/theia-dialog.d.ts +28 -28
  43. package/lib/theia-dialog.js +99 -99
  44. package/lib/theia-editor.d.ts +9 -9
  45. package/lib/theia-editor.js +68 -68
  46. package/lib/theia-explorer-view.d.ts +47 -47
  47. package/lib/theia-explorer-view.js +273 -273
  48. package/lib/theia-main-menu.d.ts +12 -12
  49. package/lib/theia-main-menu.js +53 -53
  50. package/lib/theia-menu-item.d.ts +14 -14
  51. package/lib/theia-menu-item.js +66 -66
  52. package/lib/theia-menu.d.ts +16 -16
  53. package/lib/theia-menu.js +86 -86
  54. package/lib/theia-monaco-editor.d.ts +15 -15
  55. package/lib/theia-monaco-editor.js +75 -75
  56. package/lib/theia-notification-indicator.d.ts +7 -7
  57. package/lib/theia-notification-indicator.js +44 -44
  58. package/lib/theia-notification-overlay.d.ts +22 -22
  59. package/lib/theia-notification-overlay.js +79 -79
  60. package/lib/theia-output-channel.d.ts +24 -24
  61. package/lib/theia-output-channel.js +71 -71
  62. package/lib/theia-output-view.d.ts +9 -9
  63. package/lib/theia-output-view.js +81 -81
  64. package/lib/theia-page-object.d.ts +7 -7
  65. package/lib/theia-page-object.js +27 -27
  66. package/lib/theia-preference-view.d.ts +84 -84
  67. package/lib/theia-preference-view.js +209 -209
  68. package/lib/theia-problem-indicator.d.ts +8 -8
  69. package/lib/theia-problem-indicator.js +38 -38
  70. package/lib/theia-problem-view.d.ts +5 -5
  71. package/lib/theia-problem-view.js +30 -30
  72. package/lib/theia-quick-command-palette.d.ts +12 -12
  73. package/lib/theia-quick-command-palette.js +78 -78
  74. package/lib/theia-rename-dialog.d.ts +5 -5
  75. package/lib/theia-rename-dialog.js +34 -34
  76. package/lib/theia-status-bar.d.ts +13 -13
  77. package/lib/theia-status-bar.js +39 -39
  78. package/lib/theia-status-indicator.d.ts +10 -10
  79. package/lib/theia-status-indicator.js +48 -48
  80. package/lib/theia-terminal.d.ts +13 -13
  81. package/lib/theia-terminal.js +59 -59
  82. package/lib/theia-text-editor.d.ts +26 -26
  83. package/lib/theia-text-editor.js +120 -120
  84. package/lib/theia-toggle-bottom-indicator.d.ts +4 -4
  85. package/lib/theia-toggle-bottom-indicator.js +26 -26
  86. package/lib/theia-toolbar-item.d.ts +10 -10
  87. package/lib/theia-toolbar-item.js +39 -39
  88. package/lib/theia-toolbar.d.ts +19 -19
  89. package/lib/theia-toolbar.js +90 -90
  90. package/lib/theia-tree-node.d.ts +19 -19
  91. package/lib/theia-tree-node.js +72 -72
  92. package/lib/theia-view.d.ts +32 -32
  93. package/lib/theia-view.js +149 -149
  94. package/lib/theia-welcome-view.d.ts +5 -5
  95. package/lib/theia-welcome-view.js +30 -30
  96. package/lib/theia-workspace.d.ts +18 -18
  97. package/lib/theia-workspace.js +69 -69
  98. package/lib/util.d.ts +19 -19
  99. package/lib/util.js +93 -93
  100. package/package.json +2 -2
  101. package/src/index.ts +46 -46
  102. package/src/tests/resources/sample-files1/sample.txt +4 -4
  103. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-1/sampleFile1-1-1.txt +1 -1
  104. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-1/sampleFile1-1-2.txt +1 -1
  105. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-2/sampleFile1-2-1.txt +1 -1
  106. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-2/sampleFile1-2-2.txt +1 -1
  107. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-1/sampleFile2-1-1.txt +1 -1
  108. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-1/sampleFile2-1-2.txt +1 -1
  109. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-2/sampleFile2-2-1.txt +1 -1
  110. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-2/sampleFile2-2-2.txt +1 -1
  111. package/src/tests/resources/sample-files2/another-sample.txt +1 -1
  112. package/src/tests/theia-app.test.ts +33 -33
  113. package/src/tests/theia-application-shell.test.ts +67 -67
  114. package/src/tests/theia-explorer-view.test.ts +211 -211
  115. package/src/tests/theia-getting-started.test.ts +50 -50
  116. package/src/tests/theia-main-menu.test.ts +133 -133
  117. package/src/tests/theia-output-view.test.ts +85 -85
  118. package/src/tests/theia-preference-view.test.ts +122 -122
  119. package/src/tests/theia-problems-view.test.ts +64 -64
  120. package/src/tests/theia-quick-command.test.ts +80 -80
  121. package/src/tests/theia-sample-app.test.ts +66 -66
  122. package/src/tests/theia-status-bar.test.ts +52 -52
  123. package/src/tests/theia-terminal-view.test.ts +90 -90
  124. package/src/tests/theia-text-editor.test.ts +187 -187
  125. package/src/tests/theia-toolbar.test.ts +69 -69
  126. package/src/tests/theia-workspace.test.ts +80 -80
  127. package/src/theia-about-dialog.ts +26 -26
  128. package/src/theia-app-loader.ts +167 -167
  129. package/src/theia-app.ts +188 -188
  130. package/src/theia-context-menu.ts +42 -42
  131. package/src/theia-dialog.ts +114 -114
  132. package/src/theia-editor.ts +73 -73
  133. package/src/theia-explorer-view.ts +311 -311
  134. package/src/theia-main-menu.ts +54 -54
  135. package/src/theia-menu-item.ts +75 -75
  136. package/src/theia-menu.ts +96 -96
  137. package/src/theia-monaco-editor.ts +83 -83
  138. package/src/theia-notification-indicator.ts +44 -44
  139. package/src/theia-notification-overlay.ts +94 -94
  140. package/src/theia-output-channel.ts +88 -88
  141. package/src/theia-output-view.ts +87 -87
  142. package/src/theia-page-object.ts +29 -29
  143. package/src/theia-preference-view.ts +240 -240
  144. package/src/theia-problem-indicator.ts +37 -37
  145. package/src/theia-problem-view.ts +30 -30
  146. package/src/theia-quick-command-palette.ts +81 -81
  147. package/src/theia-rename-dialog.ts +35 -35
  148. package/src/theia-status-bar.ts +44 -44
  149. package/src/theia-status-indicator.ts +50 -50
  150. package/src/theia-terminal.ts +69 -69
  151. package/src/theia-text-editor.ts +141 -141
  152. package/src/theia-toggle-bottom-indicator.ts +21 -21
  153. package/src/theia-toolbar-item.ts +41 -41
  154. package/src/theia-toolbar.ts +99 -99
  155. package/src/theia-tree-node.ts +81 -81
  156. package/src/theia-view.ts +177 -177
  157. package/src/theia-welcome-view.ts +31 -31
  158. package/src/theia-workspace.ts +76 -76
  159. package/src/util.ts +91 -91
@@ -1,27 +1,27 @@
1
- import { ElementHandle } 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(lineElement: ElementHandle<SVGElement | HTMLElement> | undefined): Promise<void>;
23
- protected placeCursorInLine(lineElement: ElementHandle<SVGElement | HTMLElement> | undefined): Promise<void>;
24
- protected selectedSuggestion(): Promise<ElementHandle<SVGElement | HTMLElement>>;
25
- getSelectedSuggestionText(): Promise<string>;
26
- }
1
+ import { ElementHandle } 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(lineElement: ElementHandle<SVGElement | HTMLElement> | undefined): Promise<void>;
23
+ protected placeCursorInLine(lineElement: ElementHandle<SVGElement | HTMLElement> | undefined): Promise<void>;
24
+ protected selectedSuggestion(): Promise<ElementHandle<SVGElement | HTMLElement>>;
25
+ getSelectedSuggestionText(): Promise<string>;
26
+ }
27
27
  //# sourceMappingURL=theia-text-editor.d.ts.map
@@ -1,121 +1,121 @@
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 path_1 = require("path");
20
- const theia_editor_1 = require("./theia-editor");
21
- const util_1 = require("./util");
22
- const theia_monaco_editor_1 = require("./theia-monaco-editor");
23
- class TheiaTextEditor extends theia_editor_1.TheiaEditor {
24
- constructor(filePath, app) {
25
- // shell-tab-code-editor-opener:file:///c%3A/Users/user/AppData/Local/Temp/cloud-ws-JBUhb6/sample.txt:1
26
- // code-editor-opener:file:///c%3A/Users/user/AppData/Local/Temp/cloud-ws-JBUhb6/sample.txt:1
27
- super({
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`),
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'
30
- }, app);
31
- this.monacoEditor = new theia_monaco_editor_1.TheiaMonacoEditor(this.viewSelector, app);
32
- }
33
- async numberOfLines() {
34
- await this.activate();
35
- return this.monacoEditor.numberOfLines();
36
- }
37
- async textContentOfLineByLineNumber(lineNumber) {
38
- return this.monacoEditor.textContentOfLineByLineNumber(lineNumber);
39
- }
40
- async replaceLineWithLineNumber(text, lineNumber) {
41
- await this.selectLineWithLineNumber(lineNumber);
42
- await this.typeTextAndHitEnter(text);
43
- }
44
- async typeTextAndHitEnter(text) {
45
- await this.page.keyboard.type(text);
46
- await this.page.keyboard.press('Enter');
47
- }
48
- async selectLineWithLineNumber(lineNumber) {
49
- await this.activate();
50
- const lineElement = await this.monacoEditor.lineByLineNumber(lineNumber);
51
- await this.selectLine(lineElement);
52
- return lineElement;
53
- }
54
- async placeCursorInLineWithLineNumber(lineNumber) {
55
- await this.activate();
56
- const lineElement = await this.monacoEditor.lineByLineNumber(lineNumber);
57
- await this.placeCursorInLine(lineElement);
58
- return lineElement;
59
- }
60
- async deleteLineByLineNumber(lineNumber) {
61
- await this.selectLineWithLineNumber(lineNumber);
62
- await this.page.keyboard.press('Backspace');
63
- }
64
- async textContentOfLineContainingText(text) {
65
- await this.activate();
66
- return this.monacoEditor.textContentOfLineContainingText(text);
67
- }
68
- async replaceLineContainingText(newText, oldText) {
69
- await this.selectLineContainingText(oldText);
70
- await this.typeTextAndHitEnter(newText);
71
- }
72
- async selectLineContainingText(text) {
73
- await this.activate();
74
- const lineElement = await this.monacoEditor.lineContainingText(text);
75
- await this.selectLine(lineElement);
76
- return lineElement;
77
- }
78
- async placeCursorInLineContainingText(text) {
79
- await this.activate();
80
- const lineElement = await this.monacoEditor.lineContainingText(text);
81
- await this.placeCursorInLine(lineElement);
82
- return lineElement;
83
- }
84
- async deleteLineContainingText(text) {
85
- await this.selectLineContainingText(text);
86
- await this.page.keyboard.press('Backspace');
87
- }
88
- async addTextToNewLineAfterLineContainingText(textContainedByExistingLine, newText) {
89
- const existingLine = await this.monacoEditor.lineContainingText(textContainedByExistingLine);
90
- await this.placeCursorInLine(existingLine);
91
- await this.page.keyboard.press('End');
92
- await this.page.keyboard.press('Enter');
93
- await this.page.keyboard.type(newText);
94
- }
95
- async addTextToNewLineAfterLineByLineNumber(lineNumber, newText) {
96
- const existingLine = await this.monacoEditor.lineByLineNumber(lineNumber);
97
- await this.placeCursorInLine(existingLine);
98
- await this.page.keyboard.press('End');
99
- await this.page.keyboard.press('Enter');
100
- await this.page.keyboard.type(newText);
101
- }
102
- async selectLine(lineElement) {
103
- await (lineElement === null || lineElement === void 0 ? void 0 : lineElement.click({ clickCount: 3 }));
104
- }
105
- async placeCursorInLine(lineElement) {
106
- await (lineElement === null || lineElement === void 0 ? void 0 : lineElement.click());
107
- }
108
- async selectedSuggestion() {
109
- return this.page.waitForSelector(this.viewSelector + ' .monaco-list-row.show-file-icons.focused');
110
- }
111
- async getSelectedSuggestionText() {
112
- const suggestion = await this.selectedSuggestion();
113
- const text = await suggestion.textContent();
114
- if (text === null) {
115
- throw new Error('Text content could not be found');
116
- }
117
- return text;
118
- }
119
- }
120
- exports.TheiaTextEditor = TheiaTextEditor;
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 path_1 = require("path");
20
+ const theia_editor_1 = require("./theia-editor");
21
+ const util_1 = require("./util");
22
+ const theia_monaco_editor_1 = require("./theia-monaco-editor");
23
+ class TheiaTextEditor extends theia_editor_1.TheiaEditor {
24
+ constructor(filePath, app) {
25
+ // shell-tab-code-editor-opener:file:///c%3A/Users/user/AppData/Local/Temp/cloud-ws-JBUhb6/sample.txt:1
26
+ // code-editor-opener:file:///c%3A/Users/user/AppData/Local/Temp/cloud-ws-JBUhb6/sample.txt:1
27
+ super({
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`),
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'
30
+ }, app);
31
+ this.monacoEditor = new theia_monaco_editor_1.TheiaMonacoEditor(this.viewSelector, app);
32
+ }
33
+ async numberOfLines() {
34
+ await this.activate();
35
+ return this.monacoEditor.numberOfLines();
36
+ }
37
+ async textContentOfLineByLineNumber(lineNumber) {
38
+ return this.monacoEditor.textContentOfLineByLineNumber(lineNumber);
39
+ }
40
+ async replaceLineWithLineNumber(text, lineNumber) {
41
+ await this.selectLineWithLineNumber(lineNumber);
42
+ await this.typeTextAndHitEnter(text);
43
+ }
44
+ async typeTextAndHitEnter(text) {
45
+ await this.page.keyboard.type(text);
46
+ await this.page.keyboard.press('Enter');
47
+ }
48
+ async selectLineWithLineNumber(lineNumber) {
49
+ await this.activate();
50
+ const lineElement = await this.monacoEditor.lineByLineNumber(lineNumber);
51
+ await this.selectLine(lineElement);
52
+ return lineElement;
53
+ }
54
+ async placeCursorInLineWithLineNumber(lineNumber) {
55
+ await this.activate();
56
+ const lineElement = await this.monacoEditor.lineByLineNumber(lineNumber);
57
+ await this.placeCursorInLine(lineElement);
58
+ return lineElement;
59
+ }
60
+ async deleteLineByLineNumber(lineNumber) {
61
+ await this.selectLineWithLineNumber(lineNumber);
62
+ await this.page.keyboard.press('Backspace');
63
+ }
64
+ async textContentOfLineContainingText(text) {
65
+ await this.activate();
66
+ return this.monacoEditor.textContentOfLineContainingText(text);
67
+ }
68
+ async replaceLineContainingText(newText, oldText) {
69
+ await this.selectLineContainingText(oldText);
70
+ await this.typeTextAndHitEnter(newText);
71
+ }
72
+ async selectLineContainingText(text) {
73
+ await this.activate();
74
+ const lineElement = await this.monacoEditor.lineContainingText(text);
75
+ await this.selectLine(lineElement);
76
+ return lineElement;
77
+ }
78
+ async placeCursorInLineContainingText(text) {
79
+ await this.activate();
80
+ const lineElement = await this.monacoEditor.lineContainingText(text);
81
+ await this.placeCursorInLine(lineElement);
82
+ return lineElement;
83
+ }
84
+ async deleteLineContainingText(text) {
85
+ await this.selectLineContainingText(text);
86
+ await this.page.keyboard.press('Backspace');
87
+ }
88
+ async addTextToNewLineAfterLineContainingText(textContainedByExistingLine, newText) {
89
+ const existingLine = await this.monacoEditor.lineContainingText(textContainedByExistingLine);
90
+ await this.placeCursorInLine(existingLine);
91
+ await this.page.keyboard.press('End');
92
+ await this.page.keyboard.press('Enter');
93
+ await this.page.keyboard.type(newText);
94
+ }
95
+ async addTextToNewLineAfterLineByLineNumber(lineNumber, newText) {
96
+ const existingLine = await this.monacoEditor.lineByLineNumber(lineNumber);
97
+ await this.placeCursorInLine(existingLine);
98
+ await this.page.keyboard.press('End');
99
+ await this.page.keyboard.press('Enter');
100
+ await this.page.keyboard.type(newText);
101
+ }
102
+ async selectLine(lineElement) {
103
+ await (lineElement === null || lineElement === void 0 ? void 0 : lineElement.click({ clickCount: 3 }));
104
+ }
105
+ async placeCursorInLine(lineElement) {
106
+ await (lineElement === null || lineElement === void 0 ? void 0 : lineElement.click());
107
+ }
108
+ async selectedSuggestion() {
109
+ return this.page.waitForSelector(this.viewSelector + ' .monaco-list-row.show-file-icons.focused');
110
+ }
111
+ async getSelectedSuggestionText() {
112
+ const suggestion = await this.selectedSuggestion();
113
+ const text = await suggestion.textContent();
114
+ if (text === null) {
115
+ throw new Error('Text content could not be found');
116
+ }
117
+ return text;
118
+ }
119
+ }
120
+ exports.TheiaTextEditor = TheiaTextEditor;
121
121
  //# sourceMappingURL=theia-text-editor.js.map
@@ -1,5 +1,5 @@
1
- import { TheiaStatusIndicator } from './theia-status-indicator';
2
- export declare class TheiaToggleBottomIndicator extends TheiaStatusIndicator {
3
- id: string;
4
- }
1
+ import { TheiaStatusIndicator } from './theia-status-indicator';
2
+ export declare class TheiaToggleBottomIndicator extends TheiaStatusIndicator {
3
+ id: string;
4
+ }
5
5
  //# sourceMappingURL=theia-toggle-bottom-indicator.d.ts.map
@@ -1,27 +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;
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
27
  //# sourceMappingURL=theia-toggle-bottom-indicator.js.map
@@ -1,11 +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
- }
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
11
  //# sourceMappingURL=theia-toolbar-item.d.ts.map
@@ -1,40 +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-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 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;
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 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
40
  //# sourceMappingURL=theia-toolbar-item.js.map
@@ -1,20 +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
- }
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
20
  //# sourceMappingURL=theia-toolbar.d.ts.map