@theia/playwright 1.45.0 → 1.46.0-next.72

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 (164) hide show
  1. package/README.md +54 -54
  2. package/lib/index.d.ts +30 -30
  3. package/lib/index.js +57 -57
  4. package/lib/tests/fixtures/theia-fixture.d.ts +4 -0
  5. package/lib/tests/fixtures/theia-fixture.d.ts.map +1 -0
  6. package/lib/tests/fixtures/theia-fixture.js +24 -0
  7. package/lib/tests/fixtures/theia-fixture.js.map +1 -0
  8. package/lib/tests/theia-app.test.d.ts +1 -1
  9. package/lib/tests/theia-app.test.js +29 -29
  10. package/lib/tests/theia-application-shell.test.d.ts +2 -0
  11. package/lib/tests/theia-application-shell.test.d.ts.map +1 -0
  12. package/lib/tests/theia-application-shell.test.js +58 -0
  13. package/lib/tests/theia-application-shell.test.js.map +1 -0
  14. package/lib/tests/theia-explorer-view.test.d.ts +1 -1
  15. package/lib/tests/theia-explorer-view.test.js +183 -183
  16. package/lib/tests/theia-main-menu.test.d.ts +1 -1
  17. package/lib/tests/theia-main-menu.test.js +92 -92
  18. package/lib/tests/theia-output-view.test.d.ts +1 -1
  19. package/lib/tests/theia-output-view.test.js +78 -78
  20. package/lib/tests/theia-preference-view.test.d.ts +1 -1
  21. package/lib/tests/theia-preference-view.test.js +101 -101
  22. package/lib/tests/theia-problems-view.test.d.ts +1 -1
  23. package/lib/tests/theia-problems-view.test.js +54 -54
  24. package/lib/tests/theia-quick-command.test.d.ts +1 -1
  25. package/lib/tests/theia-quick-command.test.js +69 -69
  26. package/lib/tests/theia-sample-app.test.d.ts +1 -1
  27. package/lib/tests/theia-sample-app.test.js +57 -57
  28. package/lib/tests/theia-status-bar.test.d.ts +1 -1
  29. package/lib/tests/theia-status-bar.test.js +44 -44
  30. package/lib/tests/theia-terminal-view.test.d.ts +1 -1
  31. package/lib/tests/theia-terminal-view.test.js +78 -78
  32. package/lib/tests/theia-text-editor.test.d.ts +1 -1
  33. package/lib/tests/theia-text-editor.test.js +155 -155
  34. package/lib/tests/theia-toolbar.test.d.ts +1 -1
  35. package/lib/tests/theia-toolbar.test.js +61 -61
  36. package/lib/tests/theia-workspace.test.d.ts +1 -1
  37. package/lib/tests/theia-workspace.test.js +72 -72
  38. package/lib/theia-about-dialog.d.ts +4 -4
  39. package/lib/theia-about-dialog.js +26 -26
  40. package/lib/theia-app-loader.d.ts +19 -19
  41. package/lib/theia-app-loader.js +129 -129
  42. package/lib/theia-app.d.ts +50 -50
  43. package/lib/theia-app.js +153 -153
  44. package/lib/theia-context-menu.d.ts +8 -8
  45. package/lib/theia-context-menu.js +37 -37
  46. package/lib/theia-dialog.d.ts +28 -28
  47. package/lib/theia-dialog.js +99 -99
  48. package/lib/theia-editor.d.ts +9 -9
  49. package/lib/theia-editor.js +68 -68
  50. package/lib/theia-explorer-view.d.ts +47 -47
  51. package/lib/theia-explorer-view.js +273 -273
  52. package/lib/theia-main-menu.d.ts +12 -12
  53. package/lib/theia-main-menu.js +53 -53
  54. package/lib/theia-menu-item.d.ts +14 -14
  55. package/lib/theia-menu-item.js +66 -66
  56. package/lib/theia-menu.d.ts +16 -16
  57. package/lib/theia-menu.js +86 -86
  58. package/lib/theia-monaco-editor.d.ts +15 -15
  59. package/lib/theia-monaco-editor.js +75 -75
  60. package/lib/theia-notification-indicator.d.ts +7 -7
  61. package/lib/theia-notification-indicator.js +44 -44
  62. package/lib/theia-notification-overlay.d.ts +22 -22
  63. package/lib/theia-notification-overlay.js +79 -79
  64. package/lib/theia-output-channel.d.ts +24 -24
  65. package/lib/theia-output-channel.js +71 -71
  66. package/lib/theia-output-view.d.ts +9 -9
  67. package/lib/theia-output-view.js +81 -81
  68. package/lib/theia-page-object.d.ts +7 -7
  69. package/lib/theia-page-object.js +27 -27
  70. package/lib/theia-preference-view.d.ts +84 -84
  71. package/lib/theia-preference-view.js +209 -209
  72. package/lib/theia-problem-indicator.d.ts +8 -8
  73. package/lib/theia-problem-indicator.js +38 -38
  74. package/lib/theia-problem-view.d.ts +5 -5
  75. package/lib/theia-problem-view.js +30 -30
  76. package/lib/theia-quick-command-palette.d.ts +12 -12
  77. package/lib/theia-quick-command-palette.js +80 -80
  78. package/lib/theia-rename-dialog.d.ts +5 -5
  79. package/lib/theia-rename-dialog.js +35 -35
  80. package/lib/theia-status-bar.d.ts +13 -13
  81. package/lib/theia-status-bar.js +39 -39
  82. package/lib/theia-status-indicator.d.ts +10 -10
  83. package/lib/theia-status-indicator.js +48 -48
  84. package/lib/theia-terminal.d.ts +13 -13
  85. package/lib/theia-terminal.js +59 -59
  86. package/lib/theia-text-editor.d.ts +26 -26
  87. package/lib/theia-text-editor.js +120 -120
  88. package/lib/theia-toggle-bottom-indicator.d.ts +4 -4
  89. package/lib/theia-toggle-bottom-indicator.js +26 -26
  90. package/lib/theia-toolbar-item.d.ts +10 -10
  91. package/lib/theia-toolbar-item.js +39 -39
  92. package/lib/theia-toolbar.d.ts +19 -19
  93. package/lib/theia-toolbar.js +90 -90
  94. package/lib/theia-tree-node.d.ts +19 -19
  95. package/lib/theia-tree-node.js +72 -72
  96. package/lib/theia-view.d.ts +32 -32
  97. package/lib/theia-view.js +149 -149
  98. package/lib/theia-welcome-view.d.ts +6 -0
  99. package/lib/theia-welcome-view.d.ts.map +1 -0
  100. package/lib/theia-welcome-view.js +31 -0
  101. package/lib/theia-welcome-view.js.map +1 -0
  102. package/lib/theia-workspace.d.ts +18 -18
  103. package/lib/theia-workspace.js +69 -69
  104. package/lib/util.d.ts +19 -19
  105. package/lib/util.js +93 -93
  106. package/package.json +2 -2
  107. package/src/index.ts +46 -46
  108. package/src/tests/resources/sample-files1/sample.txt +4 -4
  109. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-1/sampleFile1-1-1.txt +1 -1
  110. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-1/sampleFile1-1-2.txt +1 -1
  111. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-2/sampleFile1-2-1.txt +1 -1
  112. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-2/sampleFile1-2-2.txt +1 -1
  113. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-1/sampleFile2-1-1.txt +1 -1
  114. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-1/sampleFile2-1-2.txt +1 -1
  115. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-2/sampleFile2-2-1.txt +1 -1
  116. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-2/sampleFile2-2-2.txt +1 -1
  117. package/src/tests/resources/sample-files2/another-sample.txt +1 -1
  118. package/src/tests/theia-app.test.ts +33 -33
  119. package/src/tests/theia-application-shell.test.ts +67 -0
  120. package/src/tests/theia-explorer-view.test.ts +211 -211
  121. package/src/tests/theia-main-menu.test.ts +112 -112
  122. package/src/tests/theia-output-view.test.ts +85 -85
  123. package/src/tests/theia-preference-view.test.ts +122 -122
  124. package/src/tests/theia-problems-view.test.ts +64 -64
  125. package/src/tests/theia-quick-command.test.ts +80 -80
  126. package/src/tests/theia-sample-app.test.ts +66 -66
  127. package/src/tests/theia-status-bar.test.ts +52 -52
  128. package/src/tests/theia-terminal-view.test.ts +90 -90
  129. package/src/tests/theia-text-editor.test.ts +187 -187
  130. package/src/tests/theia-toolbar.test.ts +69 -69
  131. package/src/tests/theia-workspace.test.ts +80 -80
  132. package/src/theia-about-dialog.ts +26 -26
  133. package/src/theia-app-loader.ts +167 -167
  134. package/src/theia-app.ts +188 -188
  135. package/src/theia-context-menu.ts +42 -42
  136. package/src/theia-dialog.ts +114 -114
  137. package/src/theia-editor.ts +73 -73
  138. package/src/theia-explorer-view.ts +311 -311
  139. package/src/theia-main-menu.ts +54 -54
  140. package/src/theia-menu-item.ts +75 -75
  141. package/src/theia-menu.ts +96 -96
  142. package/src/theia-monaco-editor.ts +83 -83
  143. package/src/theia-notification-indicator.ts +44 -44
  144. package/src/theia-notification-overlay.ts +94 -94
  145. package/src/theia-output-channel.ts +88 -88
  146. package/src/theia-output-view.ts +87 -87
  147. package/src/theia-page-object.ts +29 -29
  148. package/src/theia-preference-view.ts +240 -240
  149. package/src/theia-problem-indicator.ts +37 -37
  150. package/src/theia-problem-view.ts +30 -30
  151. package/src/theia-quick-command-palette.ts +83 -83
  152. package/src/theia-rename-dialog.ts +36 -36
  153. package/src/theia-status-bar.ts +44 -44
  154. package/src/theia-status-indicator.ts +50 -50
  155. package/src/theia-terminal.ts +69 -69
  156. package/src/theia-text-editor.ts +141 -141
  157. package/src/theia-toggle-bottom-indicator.ts +21 -21
  158. package/src/theia-toolbar-item.ts +41 -41
  159. package/src/theia-toolbar.ts +99 -99
  160. package/src/theia-tree-node.ts +81 -81
  161. package/src/theia-view.ts +177 -177
  162. package/src/theia-welcome-view.ts +31 -0
  163. package/src/theia-workspace.ts +76 -76
  164. package/src/util.ts +91 -91
@@ -1,76 +1,76 @@
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.TheiaMonacoEditor = void 0;
19
- const theia_page_object_1 = require("./theia-page-object");
20
- class TheiaMonacoEditor extends theia_page_object_1.TheiaPageObject {
21
- constructor(selector, app) {
22
- super(app);
23
- this.selector = selector;
24
- }
25
- async waitForVisible() {
26
- await this.page.waitForSelector(this.selector, { state: 'visible' });
27
- }
28
- viewElement() {
29
- return this.page.$(this.selector);
30
- }
31
- async numberOfLines() {
32
- await this.waitForVisible();
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;
36
- }
37
- async textContentOfLineByLineNumber(lineNumber) {
38
- await this.waitForVisible();
39
- const lineElement = await this.lineByLineNumber(lineNumber);
40
- const content = await (lineElement === null || lineElement === void 0 ? void 0 : lineElement.textContent());
41
- return content ? this.replaceEditorSymbolsWithSpace(content) : undefined;
42
- }
43
- async lineByLineNumber(lineNumber) {
44
- await this.waitForVisible();
45
- const viewElement = await this.viewElement();
46
- const lines = await (viewElement === null || viewElement === void 0 ? void 0 : viewElement.$$('.view-lines > .view-line'));
47
- if (!lines) {
48
- throw new Error('Couldn\'t retrieve lines of monaco editor');
49
- }
50
- const linesWithXCoordinates = [];
51
- for (const lineElement of lines) {
52
- const box = await lineElement.boundingBox();
53
- linesWithXCoordinates.push({ x: box ? box.x : Number.MAX_VALUE, lineElement });
54
- }
55
- linesWithXCoordinates.sort((a, b) => a.x.toString().localeCompare(b.x.toString()));
56
- return linesWithXCoordinates[lineNumber - 1].lineElement;
57
- }
58
- async textContentOfLineContainingText(text) {
59
- await this.waitForVisible();
60
- const lineElement = await this.lineContainingText(text);
61
- const content = await (lineElement === null || lineElement === void 0 ? void 0 : lineElement.textContent());
62
- return content ? this.replaceEditorSymbolsWithSpace(content) : undefined;
63
- }
64
- async lineContainingText(text) {
65
- const viewElement = await this.viewElement();
66
- return viewElement === null || viewElement === void 0 ? void 0 : viewElement.waitForSelector(`.view-lines .view-line:has-text("${text}")`);
67
- }
68
- replaceEditorSymbolsWithSpace(content) {
69
- // [ ]   => \u00a0 -- NO-BREAK SPACE
70
- // [·] · => \u00b7 -- MIDDLE DOT
71
- // [] ‌ => \u200c -- ZERO WIDTH NON-JOINER
72
- return content.replace(/[\u00a0\u00b7]/g, ' ').replace(/[\u200c]/g, '');
73
- }
74
- }
75
- exports.TheiaMonacoEditor = TheiaMonacoEditor;
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.TheiaMonacoEditor = void 0;
19
+ const theia_page_object_1 = require("./theia-page-object");
20
+ class TheiaMonacoEditor extends theia_page_object_1.TheiaPageObject {
21
+ constructor(selector, app) {
22
+ super(app);
23
+ this.selector = selector;
24
+ }
25
+ async waitForVisible() {
26
+ await this.page.waitForSelector(this.selector, { state: 'visible' });
27
+ }
28
+ viewElement() {
29
+ return this.page.$(this.selector);
30
+ }
31
+ async numberOfLines() {
32
+ await this.waitForVisible();
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;
36
+ }
37
+ async textContentOfLineByLineNumber(lineNumber) {
38
+ await this.waitForVisible();
39
+ const lineElement = await this.lineByLineNumber(lineNumber);
40
+ const content = await (lineElement === null || lineElement === void 0 ? void 0 : lineElement.textContent());
41
+ return content ? this.replaceEditorSymbolsWithSpace(content) : undefined;
42
+ }
43
+ async lineByLineNumber(lineNumber) {
44
+ await this.waitForVisible();
45
+ const viewElement = await this.viewElement();
46
+ const lines = await (viewElement === null || viewElement === void 0 ? void 0 : viewElement.$$('.view-lines > .view-line'));
47
+ if (!lines) {
48
+ throw new Error('Couldn\'t retrieve lines of monaco editor');
49
+ }
50
+ const linesWithXCoordinates = [];
51
+ for (const lineElement of lines) {
52
+ const box = await lineElement.boundingBox();
53
+ linesWithXCoordinates.push({ x: box ? box.x : Number.MAX_VALUE, lineElement });
54
+ }
55
+ linesWithXCoordinates.sort((a, b) => a.x.toString().localeCompare(b.x.toString()));
56
+ return linesWithXCoordinates[lineNumber - 1].lineElement;
57
+ }
58
+ async textContentOfLineContainingText(text) {
59
+ await this.waitForVisible();
60
+ const lineElement = await this.lineContainingText(text);
61
+ const content = await (lineElement === null || lineElement === void 0 ? void 0 : lineElement.textContent());
62
+ return content ? this.replaceEditorSymbolsWithSpace(content) : undefined;
63
+ }
64
+ async lineContainingText(text) {
65
+ const viewElement = await this.viewElement();
66
+ return viewElement === null || viewElement === void 0 ? void 0 : viewElement.waitForSelector(`.view-lines .view-line:has-text("${text}")`);
67
+ }
68
+ replaceEditorSymbolsWithSpace(content) {
69
+ // [ ]   => \u00a0 -- NO-BREAK SPACE
70
+ // [·] · => \u00b7 -- MIDDLE DOT
71
+ // [] ‌ => \u200c -- ZERO WIDTH NON-JOINER
72
+ return content.replace(/[\u00a0\u00b7]/g, ' ').replace(/[\u200c]/g, '');
73
+ }
74
+ }
75
+ exports.TheiaMonacoEditor = TheiaMonacoEditor;
76
76
  //# sourceMappingURL=theia-monaco-editor.js.map
@@ -1,8 +1,8 @@
1
- import { TheiaStatusIndicator } from './theia-status-indicator';
2
- export declare class TheiaNotificationIndicator extends TheiaStatusIndicator {
3
- id: string;
4
- hasNotifications(): Promise<boolean>;
5
- waitForVisible(expectNotifications?: boolean): Promise<void>;
6
- toggleOverlay(): Promise<void>;
7
- }
1
+ import { TheiaStatusIndicator } from './theia-status-indicator';
2
+ export declare class TheiaNotificationIndicator extends TheiaStatusIndicator {
3
+ id: string;
4
+ hasNotifications(): Promise<boolean>;
5
+ waitForVisible(expectNotifications?: boolean): Promise<void>;
6
+ toggleOverlay(): Promise<void>;
7
+ }
8
8
  //# sourceMappingURL=theia-notification-indicator.d.ts.map
@@ -1,45 +1,45 @@
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.TheiaNotificationIndicator = void 0;
19
- const theia_status_indicator_1 = require("./theia-status-indicator");
20
- const NOTIFICATION_DOT_ICON = 'codicon-bell-dot';
21
- class TheiaNotificationIndicator extends theia_status_indicator_1.TheiaStatusIndicator {
22
- constructor() {
23
- super(...arguments);
24
- this.id = 'theia-notification-center';
25
- }
26
- async hasNotifications() {
27
- const container = await this.getElementHandle();
28
- const bellWithDot = await container.$(`.${NOTIFICATION_DOT_ICON}`);
29
- return Boolean(bellWithDot === null || bellWithDot === void 0 ? void 0 : bellWithDot.isVisible());
30
- }
31
- async waitForVisible(expectNotifications = false) {
32
- await super.waitForVisible();
33
- if (expectNotifications && !(await this.hasNotifications())) {
34
- throw new Error('No notifications when notifications expected.');
35
- }
36
- }
37
- async toggleOverlay() {
38
- const element = await this.getElementHandle();
39
- if (element) {
40
- await element.click();
41
- }
42
- }
43
- }
44
- exports.TheiaNotificationIndicator = TheiaNotificationIndicator;
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.TheiaNotificationIndicator = void 0;
19
+ const theia_status_indicator_1 = require("./theia-status-indicator");
20
+ const NOTIFICATION_DOT_ICON = 'codicon-bell-dot';
21
+ class TheiaNotificationIndicator extends theia_status_indicator_1.TheiaStatusIndicator {
22
+ constructor() {
23
+ super(...arguments);
24
+ this.id = 'theia-notification-center';
25
+ }
26
+ async hasNotifications() {
27
+ const container = await this.getElementHandle();
28
+ const bellWithDot = await container.$(`.${NOTIFICATION_DOT_ICON}`);
29
+ return Boolean(bellWithDot === null || bellWithDot === void 0 ? void 0 : bellWithDot.isVisible());
30
+ }
31
+ async waitForVisible(expectNotifications = false) {
32
+ await super.waitForVisible();
33
+ if (expectNotifications && !(await this.hasNotifications())) {
34
+ throw new Error('No notifications when notifications expected.');
35
+ }
36
+ }
37
+ async toggleOverlay() {
38
+ const element = await this.getElementHandle();
39
+ if (element) {
40
+ await element.click();
41
+ }
42
+ }
43
+ }
44
+ exports.TheiaNotificationIndicator = TheiaNotificationIndicator;
45
45
  //# sourceMappingURL=theia-notification-indicator.js.map
@@ -1,23 +1,23 @@
1
- import { TheiaApp } from './theia-app';
2
- import { TheiaNotificationIndicator } from './theia-notification-indicator';
3
- import { TheiaPageObject } from './theia-page-object';
4
- export declare class TheiaNotificationOverlay extends TheiaPageObject {
5
- protected notificationIndicator: TheiaNotificationIndicator;
6
- protected readonly HEADER_NOTIFICATIONS = "NOTIFICATIONS";
7
- protected readonly HEADER_NO_NOTIFICATIONS = "NO NEW NOTIFICATIONS";
8
- constructor(app: TheiaApp, notificationIndicator: TheiaNotificationIndicator);
9
- protected get selector(): string;
10
- protected get containerSelector(): string;
11
- protected get titleSelector(): string;
12
- isVisible(): Promise<boolean>;
13
- waitForVisible(): Promise<void>;
14
- activate(): Promise<void>;
15
- toggle(): Promise<void>;
16
- protected entrySelector(entryText: string): string;
17
- waitForEntry(entryText: string): Promise<void>;
18
- waitForEntryDetached(entryText: string): Promise<void>;
19
- isEntryVisible(entryText: string): Promise<boolean>;
20
- protected get clearAllButtonSelector(): string;
21
- clearAllNotifications(): Promise<void>;
22
- }
1
+ import { TheiaApp } from './theia-app';
2
+ import { TheiaNotificationIndicator } from './theia-notification-indicator';
3
+ import { TheiaPageObject } from './theia-page-object';
4
+ export declare class TheiaNotificationOverlay extends TheiaPageObject {
5
+ protected notificationIndicator: TheiaNotificationIndicator;
6
+ protected readonly HEADER_NOTIFICATIONS = "NOTIFICATIONS";
7
+ protected readonly HEADER_NO_NOTIFICATIONS = "NO NEW NOTIFICATIONS";
8
+ constructor(app: TheiaApp, notificationIndicator: TheiaNotificationIndicator);
9
+ protected get selector(): string;
10
+ protected get containerSelector(): string;
11
+ protected get titleSelector(): string;
12
+ isVisible(): Promise<boolean>;
13
+ waitForVisible(): Promise<void>;
14
+ activate(): Promise<void>;
15
+ toggle(): Promise<void>;
16
+ protected entrySelector(entryText: string): string;
17
+ waitForEntry(entryText: string): Promise<void>;
18
+ waitForEntryDetached(entryText: string): Promise<void>;
19
+ isEntryVisible(entryText: string): Promise<boolean>;
20
+ protected get clearAllButtonSelector(): string;
21
+ clearAllNotifications(): Promise<void>;
22
+ }
23
23
  //# sourceMappingURL=theia-notification-overlay.d.ts.map
@@ -1,80 +1,80 @@
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.TheiaNotificationOverlay = void 0;
19
- const theia_page_object_1 = require("./theia-page-object");
20
- class TheiaNotificationOverlay extends theia_page_object_1.TheiaPageObject {
21
- constructor(app, notificationIndicator) {
22
- super(app);
23
- this.notificationIndicator = notificationIndicator;
24
- this.HEADER_NOTIFICATIONS = 'NOTIFICATIONS';
25
- this.HEADER_NO_NOTIFICATIONS = 'NO NEW NOTIFICATIONS';
26
- }
27
- get selector() {
28
- return '.theia-notifications-overlay';
29
- }
30
- get containerSelector() {
31
- return `${this.selector} .theia-notifications-container.theia-notification-center`;
32
- }
33
- get titleSelector() {
34
- return `${this.containerSelector} .theia-notification-center-header-title`;
35
- }
36
- async isVisible() {
37
- const element = await this.page.$(`${this.containerSelector}.open`);
38
- return element ? element.isVisible() : false;
39
- }
40
- async waitForVisible() {
41
- await this.page.waitForSelector(`${this.containerSelector}.open`);
42
- }
43
- async activate() {
44
- if (!await this.isVisible()) {
45
- await this.notificationIndicator.toggleOverlay();
46
- }
47
- await this.waitForVisible();
48
- }
49
- async toggle() {
50
- await this.app.quickCommandPalette.type('Toggle Notifications');
51
- await this.app.quickCommandPalette.trigger('Notifications: Toggle Notifications');
52
- }
53
- entrySelector(entryText) {
54
- return `${this.containerSelector} .theia-notification-message span:has-text("${entryText}")`;
55
- }
56
- async waitForEntry(entryText) {
57
- await this.activate();
58
- await this.page.waitForSelector(this.entrySelector(entryText));
59
- }
60
- async waitForEntryDetached(entryText) {
61
- await this.activate();
62
- await this.page.waitForSelector(this.entrySelector(entryText), { state: 'detached' });
63
- }
64
- async isEntryVisible(entryText) {
65
- await this.activate();
66
- const element = await this.page.$(this.entrySelector(entryText));
67
- return !!element && element.isVisible();
68
- }
69
- get clearAllButtonSelector() {
70
- return this.selector + ' .theia-notification-center-header ul > li.codicon.codicon-clear-all';
71
- }
72
- async clearAllNotifications() {
73
- await this.activate();
74
- const element = await this.page.waitForSelector(this.clearAllButtonSelector);
75
- await element.click();
76
- await this.notificationIndicator.waitForVisible(false /* expectNotifications */);
77
- }
78
- }
79
- exports.TheiaNotificationOverlay = TheiaNotificationOverlay;
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.TheiaNotificationOverlay = void 0;
19
+ const theia_page_object_1 = require("./theia-page-object");
20
+ class TheiaNotificationOverlay extends theia_page_object_1.TheiaPageObject {
21
+ constructor(app, notificationIndicator) {
22
+ super(app);
23
+ this.notificationIndicator = notificationIndicator;
24
+ this.HEADER_NOTIFICATIONS = 'NOTIFICATIONS';
25
+ this.HEADER_NO_NOTIFICATIONS = 'NO NEW NOTIFICATIONS';
26
+ }
27
+ get selector() {
28
+ return '.theia-notifications-overlay';
29
+ }
30
+ get containerSelector() {
31
+ return `${this.selector} .theia-notifications-container.theia-notification-center`;
32
+ }
33
+ get titleSelector() {
34
+ return `${this.containerSelector} .theia-notification-center-header-title`;
35
+ }
36
+ async isVisible() {
37
+ const element = await this.page.$(`${this.containerSelector}.open`);
38
+ return element ? element.isVisible() : false;
39
+ }
40
+ async waitForVisible() {
41
+ await this.page.waitForSelector(`${this.containerSelector}.open`);
42
+ }
43
+ async activate() {
44
+ if (!await this.isVisible()) {
45
+ await this.notificationIndicator.toggleOverlay();
46
+ }
47
+ await this.waitForVisible();
48
+ }
49
+ async toggle() {
50
+ await this.app.quickCommandPalette.type('Toggle Notifications');
51
+ await this.app.quickCommandPalette.trigger('Notifications: Toggle Notifications');
52
+ }
53
+ entrySelector(entryText) {
54
+ return `${this.containerSelector} .theia-notification-message span:has-text("${entryText}")`;
55
+ }
56
+ async waitForEntry(entryText) {
57
+ await this.activate();
58
+ await this.page.waitForSelector(this.entrySelector(entryText));
59
+ }
60
+ async waitForEntryDetached(entryText) {
61
+ await this.activate();
62
+ await this.page.waitForSelector(this.entrySelector(entryText), { state: 'detached' });
63
+ }
64
+ async isEntryVisible(entryText) {
65
+ await this.activate();
66
+ const element = await this.page.$(this.entrySelector(entryText));
67
+ return !!element && element.isVisible();
68
+ }
69
+ get clearAllButtonSelector() {
70
+ return this.selector + ' .theia-notification-center-header ul > li.codicon.codicon-clear-all';
71
+ }
72
+ async clearAllNotifications() {
73
+ await this.activate();
74
+ const element = await this.page.waitForSelector(this.clearAllButtonSelector);
75
+ await element.click();
76
+ await this.notificationIndicator.waitForVisible(false /* expectNotifications */);
77
+ }
78
+ }
79
+ exports.TheiaNotificationOverlay = TheiaNotificationOverlay;
80
80
  //# sourceMappingURL=theia-notification-overlay.js.map
@@ -1,25 +1,25 @@
1
- import { ElementHandle } from '@playwright/test';
2
- import { TheiaOutputView } from './theia-output-view';
3
- import { TheiaPageObject } from './theia-page-object';
4
- import { TheiaMonacoEditor } from './theia-monaco-editor';
5
- export interface TheiaOutputViewChannelData {
6
- viewSelector: string;
7
- dataUri: string;
8
- channelName: string;
9
- }
10
- export declare class TheiaOutputViewChannel extends TheiaPageObject {
11
- protected readonly data: TheiaOutputViewChannelData;
12
- protected readonly outputView: TheiaOutputView;
13
- protected monacoEditor: TheiaMonacoEditor;
14
- constructor(data: TheiaOutputViewChannelData, outputView: TheiaOutputView);
15
- protected get viewSelector(): string;
16
- protected get dataUri(): string | undefined;
17
- protected get channelName(): string | undefined;
18
- waitForVisible(): Promise<void>;
19
- isDisplayed(): Promise<boolean>;
20
- protected viewElement(): Promise<ElementHandle<SVGElement | HTMLElement> | null>;
21
- numberOfLines(): Promise<number | undefined>;
22
- maxSeverityOfLineByLineNumber(lineNumber: number): Promise<'error' | 'warning' | 'info'>;
23
- textContentOfLineByLineNumber(lineNumber: number): Promise<string | undefined>;
24
- }
1
+ import { ElementHandle } from '@playwright/test';
2
+ import { TheiaOutputView } from './theia-output-view';
3
+ import { TheiaPageObject } from './theia-page-object';
4
+ import { TheiaMonacoEditor } from './theia-monaco-editor';
5
+ export interface TheiaOutputViewChannelData {
6
+ viewSelector: string;
7
+ dataUri: string;
8
+ channelName: string;
9
+ }
10
+ export declare class TheiaOutputViewChannel extends TheiaPageObject {
11
+ protected readonly data: TheiaOutputViewChannelData;
12
+ protected readonly outputView: TheiaOutputView;
13
+ protected monacoEditor: TheiaMonacoEditor;
14
+ constructor(data: TheiaOutputViewChannelData, outputView: TheiaOutputView);
15
+ protected get viewSelector(): string;
16
+ protected get dataUri(): string | undefined;
17
+ protected get channelName(): string | undefined;
18
+ waitForVisible(): Promise<void>;
19
+ isDisplayed(): Promise<boolean>;
20
+ protected viewElement(): Promise<ElementHandle<SVGElement | HTMLElement> | null>;
21
+ numberOfLines(): Promise<number | undefined>;
22
+ maxSeverityOfLineByLineNumber(lineNumber: number): Promise<'error' | 'warning' | 'info'>;
23
+ textContentOfLineByLineNumber(lineNumber: number): Promise<string | undefined>;
24
+ }
25
25
  //# sourceMappingURL=theia-output-channel.d.ts.map