@theia/playwright 1.25.0-next.7 → 1.25.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 (173) hide show
  1. package/lib/index.d.ts +26 -0
  2. package/lib/index.d.ts.map +1 -0
  3. package/lib/index.js +53 -0
  4. package/lib/index.js.map +1 -0
  5. package/lib/tests/fixtures/theia-fixture.d.ts +4 -0
  6. package/lib/tests/fixtures/theia-fixture.d.ts.map +1 -0
  7. package/lib/tests/fixtures/theia-fixture.js +24 -0
  8. package/lib/tests/fixtures/theia-fixture.js.map +1 -0
  9. package/lib/tests/theia-app.test.d.ts +2 -0
  10. package/lib/tests/theia-app.test.d.ts.map +1 -0
  11. package/lib/tests/theia-app.test.js +30 -0
  12. package/lib/tests/theia-app.test.js.map +1 -0
  13. package/lib/tests/theia-explorer-view.test.d.ts +2 -0
  14. package/lib/tests/theia-explorer-view.test.d.ts.map +1 -0
  15. package/lib/tests/theia-explorer-view.test.js +110 -0
  16. package/lib/tests/theia-explorer-view.test.js.map +1 -0
  17. package/lib/tests/theia-main-menu.test.d.ts +2 -0
  18. package/lib/tests/theia-main-menu.test.d.ts.map +1 -0
  19. package/lib/tests/theia-main-menu.test.js +74 -0
  20. package/lib/tests/theia-main-menu.test.js.map +1 -0
  21. package/lib/tests/theia-preference-view.test.d.ts +2 -0
  22. package/lib/tests/theia-preference-view.test.d.ts.map +1 -0
  23. package/lib/tests/theia-preference-view.test.js +79 -0
  24. package/lib/tests/theia-preference-view.test.js.map +1 -0
  25. package/lib/tests/theia-problems-view.test.d.ts +2 -0
  26. package/lib/tests/theia-problems-view.test.d.ts.map +1 -0
  27. package/lib/tests/theia-problems-view.test.js +53 -0
  28. package/lib/tests/theia-problems-view.test.js.map +1 -0
  29. package/lib/tests/theia-quick-command.test.d.ts +2 -0
  30. package/lib/tests/theia-quick-command.test.d.ts.map +1 -0
  31. package/lib/tests/theia-quick-command.test.js +54 -0
  32. package/lib/tests/theia-quick-command.test.js.map +1 -0
  33. package/lib/tests/theia-sample-app.test.d.ts +2 -0
  34. package/lib/tests/theia-sample-app.test.d.ts.map +1 -0
  35. package/lib/tests/theia-sample-app.test.js +81 -0
  36. package/lib/tests/theia-sample-app.test.js.map +1 -0
  37. package/lib/tests/theia-status-bar.test.d.ts +2 -0
  38. package/lib/tests/theia-status-bar.test.d.ts.map +1 -0
  39. package/lib/tests/theia-status-bar.test.js +42 -0
  40. package/lib/tests/theia-status-bar.test.js.map +1 -0
  41. package/lib/tests/theia-text-editor.test.d.ts +2 -0
  42. package/lib/tests/theia-text-editor.test.d.ts.map +1 -0
  43. package/lib/tests/theia-text-editor.test.js +148 -0
  44. package/lib/tests/theia-text-editor.test.js.map +1 -0
  45. package/lib/tests/theia-workspace.test.d.ts +2 -0
  46. package/lib/tests/theia-workspace.test.d.ts.map +1 -0
  47. package/lib/tests/theia-workspace.test.js +48 -0
  48. package/lib/tests/theia-workspace.test.js.map +1 -0
  49. package/lib/theia-about-dialog.d.ts +5 -0
  50. package/lib/theia-about-dialog.d.ts.map +1 -0
  51. package/lib/theia-about-dialog.js +27 -0
  52. package/lib/theia-about-dialog.js.map +1 -0
  53. package/lib/theia-app.d.ts +44 -0
  54. package/lib/theia-app.d.ts.map +1 -0
  55. package/lib/theia-app.js +136 -0
  56. package/lib/theia-app.js.map +1 -0
  57. package/lib/theia-context-menu.d.ts +9 -0
  58. package/lib/theia-context-menu.d.ts.map +1 -0
  59. package/lib/theia-context-menu.js +38 -0
  60. package/lib/theia-context-menu.js.map +1 -0
  61. package/lib/theia-dialog.d.ts +28 -0
  62. package/lib/theia-dialog.d.ts.map +1 -0
  63. package/lib/theia-dialog.js +99 -0
  64. package/lib/theia-dialog.js.map +1 -0
  65. package/lib/theia-editor.d.ts +10 -0
  66. package/lib/theia-editor.d.ts.map +1 -0
  67. package/lib/theia-editor.js +69 -0
  68. package/lib/theia-editor.js.map +1 -0
  69. package/lib/theia-explorer-view.d.ts +39 -0
  70. package/lib/theia-explorer-view.d.ts.map +1 -0
  71. package/lib/theia-explorer-view.js +210 -0
  72. package/lib/theia-explorer-view.js.map +1 -0
  73. package/lib/theia-main-menu.d.ts +13 -0
  74. package/lib/theia-main-menu.d.ts.map +1 -0
  75. package/lib/theia-main-menu.js +54 -0
  76. package/lib/theia-main-menu.js.map +1 -0
  77. package/lib/theia-menu-item.d.ts +14 -0
  78. package/lib/theia-menu-item.d.ts.map +1 -0
  79. package/lib/theia-menu-item.js +55 -0
  80. package/lib/theia-menu-item.js.map +1 -0
  81. package/lib/theia-menu.d.ts +17 -0
  82. package/lib/theia-menu.d.ts.map +1 -0
  83. package/lib/theia-menu.js +87 -0
  84. package/lib/theia-menu.js.map +1 -0
  85. package/lib/theia-notification-indicator.d.ts +9 -0
  86. package/lib/theia-notification-indicator.d.ts.map +1 -0
  87. package/lib/theia-notification-indicator.js +45 -0
  88. package/lib/theia-notification-indicator.js.map +1 -0
  89. package/lib/theia-notification-overlay.d.ts +23 -0
  90. package/lib/theia-notification-overlay.d.ts.map +1 -0
  91. package/lib/theia-notification-overlay.js +80 -0
  92. package/lib/theia-notification-overlay.js.map +1 -0
  93. package/lib/theia-page-object.d.ts +8 -0
  94. package/lib/theia-page-object.d.ts.map +1 -0
  95. package/lib/theia-page-object.js +28 -0
  96. package/lib/theia-page-object.js.map +1 -0
  97. package/lib/theia-preference-view.d.ts +51 -0
  98. package/lib/theia-preference-view.d.ts.map +1 -0
  99. package/lib/theia-preference-view.js +197 -0
  100. package/lib/theia-preference-view.js.map +1 -0
  101. package/lib/theia-problem-indicator.d.ts +9 -0
  102. package/lib/theia-problem-indicator.d.ts.map +1 -0
  103. package/lib/theia-problem-indicator.js +40 -0
  104. package/lib/theia-problem-indicator.js.map +1 -0
  105. package/lib/theia-problem-view.d.ts +6 -0
  106. package/lib/theia-problem-view.d.ts.map +1 -0
  107. package/lib/theia-problem-view.js +31 -0
  108. package/lib/theia-problem-view.js.map +1 -0
  109. package/lib/theia-quick-command-palette.d.ts +12 -0
  110. package/lib/theia-quick-command-palette.d.ts.map +1 -0
  111. package/lib/theia-quick-command-palette.js +74 -0
  112. package/lib/theia-quick-command-palette.js.map +1 -0
  113. package/lib/theia-rename-dialog.d.ts +6 -0
  114. package/lib/theia-rename-dialog.d.ts.map +1 -0
  115. package/lib/theia-rename-dialog.js +36 -0
  116. package/lib/theia-rename-dialog.js.map +1 -0
  117. package/lib/theia-status-bar.d.ts +14 -0
  118. package/lib/theia-status-bar.d.ts.map +1 -0
  119. package/lib/theia-status-bar.js +40 -0
  120. package/lib/theia-status-bar.js.map +1 -0
  121. package/lib/theia-status-indicator.d.ts +15 -0
  122. package/lib/theia-status-indicator.d.ts.map +1 -0
  123. package/lib/theia-status-indicator.js +77 -0
  124. package/lib/theia-status-indicator.js.map +1 -0
  125. package/lib/theia-text-editor.d.ts +28 -0
  126. package/lib/theia-text-editor.d.ts.map +1 -0
  127. package/lib/theia-text-editor.js +149 -0
  128. package/lib/theia-text-editor.js.map +1 -0
  129. package/lib/theia-toggle-bottom-indicator.d.ts +5 -0
  130. package/lib/theia-toggle-bottom-indicator.d.ts.map +1 -0
  131. package/lib/theia-toggle-bottom-indicator.js +27 -0
  132. package/lib/theia-toggle-bottom-indicator.js.map +1 -0
  133. package/lib/theia-tree-node.d.ts +17 -0
  134. package/lib/theia-tree-node.d.ts.map +1 -0
  135. package/lib/theia-tree-node.js +54 -0
  136. package/lib/theia-tree-node.js.map +1 -0
  137. package/lib/theia-view.d.ts +33 -0
  138. package/lib/theia-view.d.ts.map +1 -0
  139. package/lib/theia-view.js +152 -0
  140. package/lib/theia-view.js.map +1 -0
  141. package/lib/theia-workspace.d.ts +19 -0
  142. package/lib/theia-workspace.d.ts.map +1 -0
  143. package/lib/theia-workspace.js +70 -0
  144. package/lib/theia-workspace.js.map +1 -0
  145. package/lib/util.d.ts +20 -0
  146. package/lib/util.d.ts.map +1 -0
  147. package/lib/util.js +94 -0
  148. package/lib/util.js.map +1 -0
  149. package/package.json +8 -6
  150. package/src/index.ts +41 -0
  151. package/src/tests/fixtures/theia-fixture.ts +25 -0
  152. package/src/tests/resources/sample-files1/sample.txt +4 -0
  153. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-1/sampleFile1-1-1.txt +1 -0
  154. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-1/sampleFile1-1-2.txt +1 -0
  155. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-2/sampleFile1-2-1.txt +1 -0
  156. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-2/sampleFile1-2-2.txt +1 -0
  157. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-1/sampleFile2-1-1.txt +1 -0
  158. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-1/sampleFile2-1-2.txt +1 -0
  159. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-2/sampleFile2-2-1.txt +1 -0
  160. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-2/sampleFile2-2-2.txt +1 -0
  161. package/src/tests/resources/sample-files2/another-sample.txt +1 -0
  162. package/src/tests/theia-app.test.ts +34 -0
  163. package/src/tests/theia-explorer-view.test.ts +124 -0
  164. package/src/tests/theia-main-menu.test.ts +89 -0
  165. package/src/tests/theia-preference-view.test.ts +93 -0
  166. package/src/tests/theia-problems-view.test.ts +60 -0
  167. package/src/tests/theia-quick-command.test.ts +61 -0
  168. package/src/tests/theia-sample-app.test.ts +92 -0
  169. package/src/tests/theia-status-bar.test.ts +47 -0
  170. package/src/tests/theia-text-editor.test.ts +176 -0
  171. package/src/tests/theia-workspace.test.ts +51 -0
  172. package/src/theia-app.ts +32 -14
  173. package/src/theia-workspace.ts +4 -0
@@ -0,0 +1,210 @@
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 WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.TheiaExplorerView = exports.DOT_FILES_FILTER = exports.TheiaExplorerFileStatNode = void 0;
19
+ const theia_dialog_1 = require("./theia-dialog");
20
+ const theia_rename_dialog_1 = require("./theia-rename-dialog");
21
+ const theia_tree_node_1 = require("./theia-tree-node");
22
+ const theia_view_1 = require("./theia-view");
23
+ const util_1 = require("./util");
24
+ const TheiaExplorerViewData = {
25
+ tabSelector: '#shell-tab-explorer-view-container',
26
+ viewSelector: '#explorer-view-container--files',
27
+ viewName: 'Explorer'
28
+ };
29
+ class TheiaExplorerFileStatNode extends theia_tree_node_1.TheiaTreeNode {
30
+ constructor(elementHandle, explorerView) {
31
+ super(elementHandle, explorerView.app);
32
+ this.elementHandle = elementHandle;
33
+ this.explorerView = explorerView;
34
+ }
35
+ async absolutePath() {
36
+ return this.elementHandle.getAttribute('title');
37
+ }
38
+ async isFile() {
39
+ return !await this.isFolder();
40
+ }
41
+ async isFolder() {
42
+ return (0, util_1.elementContainsClass)(this.elementHandle, 'theia-DirNode');
43
+ }
44
+ async getMenuItemByNamePath(...names) {
45
+ const contextMenu = await this.openContextMenu();
46
+ const menuItem = await contextMenu.menuItemByNamePath(...names);
47
+ if (!menuItem) {
48
+ throw Error('MenuItem could not be retrieved by path');
49
+ }
50
+ return menuItem;
51
+ }
52
+ }
53
+ exports.TheiaExplorerFileStatNode = TheiaExplorerFileStatNode;
54
+ const DOT_FILES_FILTER = async (node) => {
55
+ const label = await node.label();
56
+ return label ? !label.startsWith('.') : true;
57
+ };
58
+ exports.DOT_FILES_FILTER = DOT_FILES_FILTER;
59
+ class TheiaExplorerView extends theia_view_1.TheiaView {
60
+ constructor(app) {
61
+ super(TheiaExplorerViewData, app);
62
+ }
63
+ async activate() {
64
+ await super.activate();
65
+ const viewElement = await this.viewElement();
66
+ await (viewElement === null || viewElement === void 0 ? void 0 : viewElement.waitForSelector('.theia-TreeContainer'));
67
+ }
68
+ async refresh() {
69
+ await this.clickButton('navigator.refresh');
70
+ }
71
+ async collapseAll() {
72
+ await this.clickButton('navigator.collapse.all');
73
+ }
74
+ async clickButton(id) {
75
+ await this.activate();
76
+ const viewElement = await this.viewElement();
77
+ await (viewElement === null || viewElement === void 0 ? void 0 : viewElement.hover());
78
+ const button = await (viewElement === null || viewElement === void 0 ? void 0 : viewElement.waitForSelector(`#${(0, util_1.normalizeId)(id)}`));
79
+ await (button === null || button === void 0 ? void 0 : button.click());
80
+ }
81
+ async visibleFileStatNodes(filterPredicate = (_ => Promise.resolve(true))) {
82
+ const viewElement = await this.viewElement();
83
+ const handles = await (viewElement === null || viewElement === void 0 ? void 0 : viewElement.$$('.theia-FileStatNode'));
84
+ if (handles) {
85
+ const nodes = handles.map(handle => new TheiaExplorerFileStatNode(handle, this));
86
+ const filteredNodes = [];
87
+ for (const node of nodes) {
88
+ if ((await filterPredicate(node)) === true) {
89
+ filteredNodes.push(node);
90
+ }
91
+ }
92
+ return filteredNodes;
93
+ }
94
+ return [];
95
+ }
96
+ async getFileStatNodeByLabel(label) {
97
+ const file = await this.fileStatNode(label);
98
+ if (!file) {
99
+ throw Error('File stat node could not be retrieved by path fragments');
100
+ }
101
+ return file;
102
+ }
103
+ async fileStatNode(filePath) {
104
+ return this.fileStatNodeBySegments(...filePath.split('/'));
105
+ }
106
+ async fileStatNodeBySegments(...pathFragments) {
107
+ await super.activate();
108
+ const viewElement = await this.viewElement();
109
+ let currentTreeNode = undefined;
110
+ let fragmentsSoFar = '';
111
+ for (let index = 0; index < pathFragments.length; index++) {
112
+ const fragment = pathFragments[index];
113
+ fragmentsSoFar += index !== 0 ? '/' : '';
114
+ fragmentsSoFar += fragment;
115
+ const selector = this.treeNodeSelector(fragmentsSoFar);
116
+ const nextTreeNode = await (viewElement === null || viewElement === void 0 ? void 0 : viewElement.waitForSelector(selector, { state: 'visible' }));
117
+ if (!nextTreeNode) {
118
+ throw new Error(`Tree node '${selector}' not found in explorer`);
119
+ }
120
+ currentTreeNode = new TheiaExplorerFileStatNode(nextTreeNode, this);
121
+ if (index < pathFragments.length - 1 && await currentTreeNode.isCollapsed()) {
122
+ await currentTreeNode.expand();
123
+ }
124
+ }
125
+ return currentTreeNode;
126
+ }
127
+ async selectTreeNode(filePath) {
128
+ await this.activate();
129
+ const treeNode = await this.page.waitForSelector(this.treeNodeSelector(filePath));
130
+ if (await this.isTreeNodeSelected(filePath)) {
131
+ await treeNode.focus();
132
+ }
133
+ else {
134
+ await treeNode.click({ modifiers: ['Control'] });
135
+ }
136
+ }
137
+ async isTreeNodeSelected(filePath) {
138
+ const treeNode = await this.page.waitForSelector(this.treeNodeSelector(filePath));
139
+ return (0, util_1.elementContainsClass)(treeNode, 'theia-mod-selected');
140
+ }
141
+ treeNodeSelector(filePath) {
142
+ return `.theia-FileStatNode:has(#${(0, util_1.normalizeId)(this.treeNodeId(filePath))})`;
143
+ }
144
+ treeNodeId(filePath) {
145
+ const workspacePath = this.app.workspace.path;
146
+ const nodeId = `${workspacePath}:${workspacePath}${util_1.OSUtil.fileSeparator}${filePath}`;
147
+ if (util_1.OSUtil.isWindows) {
148
+ return (0, util_1.urlEncodePath)(nodeId);
149
+ }
150
+ return nodeId;
151
+ }
152
+ async clickContextMenuItem(file, path) {
153
+ await this.activate();
154
+ const fileStatNode = await this.fileStatNode(file);
155
+ if (!fileStatNode) {
156
+ throw Error('File stat node could not be retrieved by path fragments');
157
+ }
158
+ const menuItem = await fileStatNode.getMenuItemByNamePath(...path);
159
+ await menuItem.click();
160
+ }
161
+ async existsNode(path, isDirectory) {
162
+ const fileStatNode = await this.fileStatNode(path);
163
+ if (!fileStatNode) {
164
+ return false;
165
+ }
166
+ if (isDirectory) {
167
+ if (!await fileStatNode.isFolder()) {
168
+ throw Error(`FileStatNode for '${path}' is not a directory!`);
169
+ }
170
+ }
171
+ else {
172
+ if (!await fileStatNode.isFile()) {
173
+ throw Error(`FileStatNode for '${path}' is not a file!`);
174
+ }
175
+ }
176
+ return true;
177
+ }
178
+ async existsFileNode(path) {
179
+ return this.existsNode(path, false);
180
+ }
181
+ async existsDirectoryNode(path) {
182
+ return this.existsNode(path, true);
183
+ }
184
+ async getNumberOfVisibleNodes() {
185
+ await this.activate();
186
+ await this.refresh();
187
+ const fileStatElements = await this.visibleFileStatNodes(exports.DOT_FILES_FILTER);
188
+ return fileStatElements.length;
189
+ }
190
+ async deleteNode(path, confirm = true) {
191
+ await this.activate();
192
+ await this.clickContextMenuItem(path, ['Delete']);
193
+ const confirmDialog = new theia_dialog_1.TheiaDialog(this.app);
194
+ await confirmDialog.waitForVisible();
195
+ confirm ? await confirmDialog.clickMainButton() : await confirmDialog.clickSecondaryButton();
196
+ await confirmDialog.waitForClosed();
197
+ }
198
+ async renameNode(path, newName, confirm = true) {
199
+ await this.activate();
200
+ await this.clickContextMenuItem(path, ['Rename']);
201
+ const renameDialog = new theia_rename_dialog_1.TheiaRenameDialog(this.app);
202
+ await renameDialog.waitForVisible();
203
+ await renameDialog.enterNewName(newName);
204
+ confirm ? await renameDialog.confirm() : await renameDialog.close();
205
+ await renameDialog.waitForClosed();
206
+ await this.refresh();
207
+ }
208
+ }
209
+ exports.TheiaExplorerView = TheiaExplorerView;
210
+ //# sourceMappingURL=theia-explorer-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-explorer-view.js","sourceRoot":"","sources":["../src/theia-explorer-view.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;;;AAIhF,iDAA6C;AAE7C,+DAA0D;AAC1D,uDAAkD;AAClD,6CAAyC;AACzC,iCAAkF;AAElF,MAAM,qBAAqB,GAAG;IAC1B,WAAW,EAAE,oCAAoC;IACjD,YAAY,EAAE,iCAAiC;IAC/C,QAAQ,EAAE,UAAU;CACvB,CAAC;AAEF,MAAa,yBAA0B,SAAQ,+BAAa;IAExD,YAA+B,aAAsD,EAAY,YAA+B;QAC5H,KAAK,CAAC,aAAa,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;QADZ,kBAAa,GAAb,aAAa,CAAyC;QAAY,iBAAY,GAAZ,YAAY,CAAmB;IAEhI,CAAC;IAED,KAAK,CAAC,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,MAAM;QACR,OAAO,CAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,OAAO,IAAA,2BAAoB,EAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,GAAG,KAAe;QAC1C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,EAAE;YAAE,MAAM,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAAE;QAC1E,OAAO,QAAQ,CAAC;IACpB,CAAC;CAEJ;AAzBD,8DAyBC;AAGM,MAAM,gBAAgB,GAAuC,KAAK,EAAC,IAAI,EAAC,EAAE;IAC7E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACjC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC,CAAC;AAHW,QAAA,gBAAgB,oBAG3B;AAEF,MAAa,iBAAkB,SAAQ,sBAAS;IAE5C,YAAY,GAAa;QACrB,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAEQ,KAAK,CAAC,QAAQ;QACnB,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,eAAe,CAAC,sBAAsB,CAAC,CAAA,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,OAAO;QACT,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,WAAW;QACb,MAAM,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IACrD,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,EAAU;QAClC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,EAAE,CAAA,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,eAAe,CAAC,IAAI,IAAA,kBAAW,EAAC,EAAE,CAAC,EAAE,CAAC,CAAA,CAAC;QACzE,MAAM,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,EAAE,CAAA,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,kBAAsD,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzG,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,EAAE,CAAC,qBAAqB,CAAC,CAAA,CAAC;QAC7D,IAAI,OAAO,EAAE;YACT,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,yBAAyB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YACjF,MAAM,aAAa,GAAG,EAAE,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,IAAI,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;oBACxC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC5B;aACJ;YACD,OAAO,aAAa,CAAC;SACxB;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,KAAa;QACtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,EAAE;YAAE,MAAM,KAAK,CAAC,yDAAyD,CAAC,CAAC;SAAE;QACtF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB;QAC/B,OAAO,IAAI,CAAC,sBAAsB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,GAAG,aAAuB;QACnD,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAE7C,IAAI,eAAe,GAAG,SAAS,CAAC;QAChC,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACvD,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YACtC,cAAc,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,cAAc,IAAI,QAAQ,CAAC;YAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YACvD,MAAM,YAAY,GAAG,MAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,eAAe,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA,CAAC;YACxF,IAAI,CAAC,YAAY,EAAE;gBACf,MAAM,IAAI,KAAK,CAAC,cAAc,QAAQ,yBAAyB,CAAC,CAAC;aACpE;YACD,eAAe,GAAG,IAAI,yBAAyB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACpE,IAAI,KAAK,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,eAAe,CAAC,WAAW,EAAE,EAAE;gBACzE,MAAM,eAAe,CAAC,MAAM,EAAE,CAAC;aAClC;SACJ;QAED,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgB;QACjC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClF,IAAI,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE;YACzC,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;SAC1B;aAAM;YACH,MAAM,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;SACpD;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,QAAgB;QACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClF,OAAO,IAAA,2BAAoB,EAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IAChE,CAAC;IAES,gBAAgB,CAAC,QAAgB;QACvC,OAAO,4BAA4B,IAAA,kBAAW,EAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC;IACjF,CAAC;IAES,UAAU,CAAC,QAAgB;QACjC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;QAC9C,MAAM,MAAM,GAAG,GAAG,aAAa,IAAI,aAAa,GAAG,aAAM,CAAC,aAAa,GAAG,QAAQ,EAAE,CAAC;QACrF,IAAI,aAAM,CAAC,SAAS,EAAE;YAClB,OAAO,IAAA,oBAAa,EAAC,MAAM,CAAC,CAAC;SAChC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAY,EAAE,IAAc;QACnD,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,YAAY,EAAE;YAAE,MAAM,KAAK,CAAC,yDAAyD,CAAC,CAAC;SAAE;QAC9F,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,CAAC;QACnE,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAES,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,WAAoB;QACzD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,YAAY,EAAE;YACf,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,WAAW,EAAE;YACb,IAAI,CAAC,MAAM,YAAY,CAAC,QAAQ,EAAE,EAAE;gBAChC,MAAM,KAAK,CAAC,qBAAqB,IAAI,uBAAuB,CAAC,CAAC;aACjE;SACJ;aAAM;YACH,IAAI,CAAC,MAAM,YAAY,CAAC,MAAM,EAAE,EAAE;gBAC9B,MAAM,KAAK,CAAC,qBAAqB,IAAI,kBAAkB,CAAC,CAAC;aAC5D;SACJ;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,uBAAuB;QACzB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,wBAAgB,CAAC,CAAC;QAC3E,OAAO,gBAAgB,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,OAAO,GAAG,IAAI;QACzC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAElD,MAAM,aAAa,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,aAAa,CAAC,cAAc,EAAE,CAAC;QACrC,OAAO,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,oBAAoB,EAAE,CAAC;QAC7F,MAAM,aAAa,CAAC,aAAa,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,OAAe,EAAE,OAAO,GAAG,IAAI;QAC1D,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAElD,MAAM,YAAY,GAAG,IAAI,uCAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,YAAY,CAAC,cAAc,EAAE,CAAC;QACpC,MAAM,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;QACpE,MAAM,YAAY,CAAC,aAAa,EAAE,CAAC;QACnC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;CAEJ;AAzKD,8CAyKC"}
@@ -0,0 +1,13 @@
1
+ import { ElementHandle } from '@playwright/test';
2
+ import { TheiaMenu } from './theia-menu';
3
+ import { TheiaPageObject } from './theia-page-object';
4
+ export declare class TheiaMainMenu extends TheiaMenu {
5
+ selector: string;
6
+ }
7
+ export declare class TheiaMenuBar extends TheiaPageObject {
8
+ openMenu(menuName: string): Promise<TheiaMainMenu>;
9
+ visibleMenuBarItems(): Promise<string[]>;
10
+ protected menuBarItem(label?: string): Promise<ElementHandle<SVGElement | HTMLElement> | null>;
11
+ protected menuBarItemSelector(label?: string): string;
12
+ }
13
+ //# sourceMappingURL=theia-main-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-main-menu.d.ts","sourceRoot":"","sources":["../src/theia-main-menu.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,qBAAa,aAAc,SAAQ,SAAS;IAC/B,QAAQ,SAA4B;CAChD;AAED,qBAAa,YAAa,SAAQ,eAAe;IAEvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAYlD,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK9C,SAAS,CAAC,WAAW,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC;IAI1F,SAAS,CAAC,mBAAmB,CAAC,KAAK,SAAK,GAAG,MAAM;CAIpD"}
@@ -0,0 +1,54 @@
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 WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.TheiaMenuBar = exports.TheiaMainMenu = void 0;
19
+ const theia_menu_1 = require("./theia-menu");
20
+ const theia_page_object_1 = require("./theia-page-object");
21
+ const util_1 = require("./util");
22
+ class TheiaMainMenu extends theia_menu_1.TheiaMenu {
23
+ constructor() {
24
+ super(...arguments);
25
+ this.selector = '.p-Menu.p-MenuBar-menu';
26
+ }
27
+ }
28
+ exports.TheiaMainMenu = TheiaMainMenu;
29
+ class TheiaMenuBar extends theia_page_object_1.TheiaPageObject {
30
+ async openMenu(menuName) {
31
+ const menuBarItem = await this.menuBarItem(menuName);
32
+ const mainMenu = new TheiaMainMenu(this.app);
33
+ if (await mainMenu.isOpen()) {
34
+ await (menuBarItem === null || menuBarItem === void 0 ? void 0 : menuBarItem.hover());
35
+ }
36
+ else {
37
+ await (menuBarItem === null || menuBarItem === void 0 ? void 0 : menuBarItem.click());
38
+ }
39
+ mainMenu.waitForVisible();
40
+ return mainMenu;
41
+ }
42
+ async visibleMenuBarItems() {
43
+ const items = await this.page.$$(this.menuBarItemSelector());
44
+ return (0, util_1.toTextContentArray)(items);
45
+ }
46
+ menuBarItem(label = '') {
47
+ return this.page.waitForSelector(this.menuBarItemSelector(label));
48
+ }
49
+ menuBarItemSelector(label = '') {
50
+ return `${(0, util_1.normalizeId)('#theia:menubar')} .p-MenuBar-itemLabel >> text=${label}`;
51
+ }
52
+ }
53
+ exports.TheiaMenuBar = TheiaMenuBar;
54
+ //# sourceMappingURL=theia-main-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-main-menu.js","sourceRoot":"","sources":["../src/theia-main-menu.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;;;AAIhF,6CAAyC;AACzC,2DAAsD;AACtD,iCAAyD;AAEzD,MAAa,aAAc,SAAQ,sBAAS;IAA5C;;QACa,aAAQ,GAAG,wBAAwB,CAAC;IACjD,CAAC;CAAA;AAFD,sCAEC;AAED,MAAa,YAAa,SAAQ,mCAAe;IAE7C,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAC3B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAE;YACzB,MAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,EAAE,CAAA,CAAC;SAC9B;aAAM;YACH,MAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,EAAE,CAAA,CAAC;SAC9B;QACD,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,mBAAmB;QACrB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC7D,OAAO,IAAA,yBAAkB,EAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAES,WAAW,CAAC,KAAK,GAAG,EAAE;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,CAAC;IAES,mBAAmB,CAAC,KAAK,GAAG,EAAE;QACpC,OAAO,GAAG,IAAA,kBAAW,EAAC,gBAAgB,CAAC,iCAAiC,KAAK,EAAE,CAAC;IACpF,CAAC;CAEJ;AA3BD,oCA2BC"}
@@ -0,0 +1,14 @@
1
+ import { ElementHandle } from '@playwright/test';
2
+ export declare class TheiaMenuItem {
3
+ protected element: ElementHandle<SVGElement | HTMLElement>;
4
+ constructor(element: ElementHandle<SVGElement | HTMLElement>);
5
+ protected labelElementHandle(): Promise<ElementHandle<SVGElement | HTMLElement>>;
6
+ protected shortCutElementHandle(): Promise<ElementHandle<SVGElement | HTMLElement>>;
7
+ label(): Promise<string | undefined>;
8
+ shortCut(): Promise<string | undefined>;
9
+ hasSubmenu(): Promise<boolean>;
10
+ isEnabled(): Promise<boolean>;
11
+ click(): Promise<void>;
12
+ hover(): Promise<void>;
13
+ }
14
+ //# sourceMappingURL=theia-menu-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-menu-item.d.ts","sourceRoot":"","sources":["../src/theia-menu-item.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,qBAAa,aAAa;IAEV,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC;gBAAhD,OAAO,EAAE,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC;IAEtE,SAAS,CAAC,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC;IAIhF,SAAS,CAAC,qBAAqB,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC;IAI7E,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIpC,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIvC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAI9B,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAQ7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI/B"}
@@ -0,0 +1,55 @@
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 WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.TheiaMenuItem = void 0;
19
+ const util_1 = require("./util");
20
+ class TheiaMenuItem {
21
+ constructor(element) {
22
+ this.element = element;
23
+ }
24
+ labelElementHandle() {
25
+ return this.element.waitForSelector('.p-Menu-itemLabel');
26
+ }
27
+ shortCutElementHandle() {
28
+ return this.element.waitForSelector('.p-Menu-itemShortcut');
29
+ }
30
+ async label() {
31
+ return (0, util_1.textContent)(this.labelElementHandle());
32
+ }
33
+ async shortCut() {
34
+ return (0, util_1.textContent)(this.shortCutElementHandle());
35
+ }
36
+ async hasSubmenu() {
37
+ return (await this.element.getAttribute('data-type')) === 'submenu';
38
+ }
39
+ async isEnabled() {
40
+ const classAttribute = (await this.element.getAttribute('class'));
41
+ if (classAttribute === undefined || classAttribute === null) {
42
+ return false;
43
+ }
44
+ return !classAttribute.includes('p-mod-disabled');
45
+ }
46
+ async click() {
47
+ return this.element.waitForSelector('.p-Menu-itemLabel')
48
+ .then(labelElement => labelElement.click({ position: { x: 10, y: 10 } }));
49
+ }
50
+ async hover() {
51
+ return this.element.hover();
52
+ }
53
+ }
54
+ exports.TheiaMenuItem = TheiaMenuItem;
55
+ //# sourceMappingURL=theia-menu-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-menu-item.js","sourceRoot":"","sources":["../src/theia-menu-item.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;;;AAIhF,iCAAqC;AAErC,MAAa,aAAa;IAEtB,YAAsB,OAAgD;QAAhD,YAAO,GAAP,OAAO,CAAyC;IAAI,CAAC;IAEjE,kBAAkB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;IAC7D,CAAC;IAES,qBAAqB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,KAAK;QACP,OAAO,IAAA,kBAAW,EAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,OAAO,IAAA,kBAAW,EAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,SAAS,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,SAAS;QACX,MAAM,cAAc,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAClE,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,IAAI,EAAE;YACzD,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC;aACnD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CAEJ;AAzCD,sCAyCC"}
@@ -0,0 +1,17 @@
1
+ import { ElementHandle } from '@playwright/test';
2
+ import { TheiaMenuItem } from './theia-menu-item';
3
+ import { TheiaPageObject } from './theia-page-object';
4
+ export declare class TheiaMenu extends TheiaPageObject {
5
+ selector: string;
6
+ protected menuElementHandle(): Promise<ElementHandle<SVGElement | HTMLElement> | null>;
7
+ waitForVisible(): Promise<void>;
8
+ isOpen(): Promise<boolean>;
9
+ close(): Promise<void>;
10
+ menuItems(): Promise<TheiaMenuItem[]>;
11
+ clickMenuItem(name: string): Promise<void>;
12
+ menuItemByName(name: string): Promise<TheiaMenuItem | undefined>;
13
+ menuItemByNamePath(...names: string[]): Promise<TheiaMenuItem | undefined>;
14
+ protected menuItemSelector(label?: string): string;
15
+ visibleMenuItems(): Promise<string[]>;
16
+ }
17
+ //# sourceMappingURL=theia-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-menu.d.ts","sourceRoot":"","sources":["../src/theia-menu.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,qBAAa,SAAU,SAAQ,eAAe;IAE1C,QAAQ,SAAa;cAEL,iBAAiB,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC;IAItF,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAK1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtB,SAAS,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IASrC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAWhE,kBAAkB,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAchF,SAAS,CAAC,gBAAgB,CAAC,KAAK,SAAK,GAAG,MAAM;IAIxC,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAM9C"}
@@ -0,0 +1,87 @@
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 WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.TheiaMenu = void 0;
19
+ const theia_menu_item_1 = require("./theia-menu-item");
20
+ const theia_page_object_1 = require("./theia-page-object");
21
+ const util_1 = require("./util");
22
+ class TheiaMenu extends theia_page_object_1.TheiaPageObject {
23
+ constructor() {
24
+ super(...arguments);
25
+ this.selector = '.p-Menu';
26
+ }
27
+ async menuElementHandle() {
28
+ return this.page.$(this.selector);
29
+ }
30
+ async waitForVisible() {
31
+ await this.page.waitForSelector(this.selector, { state: 'visible' });
32
+ }
33
+ async isOpen() {
34
+ const menu = await this.menuElementHandle();
35
+ return !!menu && menu.isVisible();
36
+ }
37
+ async close() {
38
+ if (!await this.isOpen()) {
39
+ return;
40
+ }
41
+ await this.page.mouse.click(0, 0);
42
+ await this.page.waitForSelector(this.selector, { state: 'detached' });
43
+ }
44
+ async menuItems() {
45
+ const menuHandle = await this.menuElementHandle();
46
+ if (!menuHandle) {
47
+ return [];
48
+ }
49
+ const items = await menuHandle.$$('.p-Menu-content .p-Menu-item');
50
+ return items.map(element => new theia_menu_item_1.TheiaMenuItem(element));
51
+ }
52
+ async clickMenuItem(name) {
53
+ return (await this.page.waitForSelector(this.menuItemSelector(name))).click();
54
+ }
55
+ async menuItemByName(name) {
56
+ const menuItems = await this.menuItems();
57
+ for (const item of menuItems) {
58
+ const label = await item.label();
59
+ if (label === name) {
60
+ return item;
61
+ }
62
+ }
63
+ return undefined;
64
+ }
65
+ async menuItemByNamePath(...names) {
66
+ let item;
67
+ for (let index = 0; index < names.length; index++) {
68
+ item = await this.page.waitForSelector(this.menuItemSelector(names[index]), { state: 'visible' });
69
+ await item.hover();
70
+ }
71
+ const menuItemHandle = await (item === null || item === void 0 ? void 0 : item.$('xpath=..'));
72
+ if (menuItemHandle) {
73
+ return new theia_menu_item_1.TheiaMenuItem(menuItemHandle);
74
+ }
75
+ return undefined;
76
+ }
77
+ menuItemSelector(label = '') {
78
+ return `.p-Menu-content .p-Menu-itemLabel >> text=${label}`;
79
+ }
80
+ async visibleMenuItems() {
81
+ const menuItems = await this.menuItems();
82
+ const labels = await Promise.all(menuItems.map(item => item.label()));
83
+ return labels.filter(util_1.isDefined);
84
+ }
85
+ }
86
+ exports.TheiaMenu = TheiaMenu;
87
+ //# sourceMappingURL=theia-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-menu.js","sourceRoot":"","sources":["../src/theia-menu.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { TheiaStatusIndicator } from './theia-status-indicator';
2
+ export declare class TheiaNotificationIndicator extends TheiaStatusIndicator {
3
+ protected get title(): string;
4
+ isVisible(): Promise<boolean>;
5
+ hasNotifications(): Promise<boolean>;
6
+ waitForVisible(expectNotifications?: boolean): Promise<void>;
7
+ toggleOverlay(): Promise<void>;
8
+ }
9
+ //# sourceMappingURL=theia-notification-indicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-notification-indicator.d.ts","sourceRoot":"","sources":["../src/theia-notification-indicator.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAMhE,qBAAa,0BAA2B,SAAQ,oBAAoB;IAEhE,SAAS,KAAK,KAAK,IAAI,MAAM,CAE5B;IAEc,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAItC,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI3B,cAAc,CAAC,mBAAmB,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAQvC"}
@@ -0,0 +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 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_ICON = 'codicon-bell';
21
+ const NOTIFICATION_DOT_ICON = 'codicon-bell-dot';
22
+ const NOTIFICATION_ICONS = [NOTIFICATION_ICON, NOTIFICATION_DOT_ICON];
23
+ class TheiaNotificationIndicator extends theia_status_indicator_1.TheiaStatusIndicator {
24
+ get title() {
25
+ return 'Notification';
26
+ }
27
+ async isVisible() {
28
+ return super.isVisible(NOTIFICATION_ICONS, this.title);
29
+ }
30
+ async hasNotifications() {
31
+ return super.isVisible(NOTIFICATION_DOT_ICON, this.title);
32
+ }
33
+ async waitForVisible(expectNotifications = false) {
34
+ await super.waitForVisibleByIcon(expectNotifications ? NOTIFICATION_DOT_ICON : NOTIFICATION_ICON);
35
+ }
36
+ async toggleOverlay() {
37
+ const hasNotifications = await this.hasNotifications();
38
+ const element = await this.getElementHandleByIcon(hasNotifications ? NOTIFICATION_DOT_ICON : NOTIFICATION_ICON, this.title);
39
+ if (element) {
40
+ await element.click();
41
+ }
42
+ }
43
+ }
44
+ exports.TheiaNotificationIndicator = TheiaNotificationIndicator;
45
+ //# sourceMappingURL=theia-notification-indicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-notification-indicator.js","sourceRoot":"","sources":["../src/theia-notification-indicator.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+DAA+D;AAC/D,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;AAEhF,qEAAgE;AAEhE,MAAM,iBAAiB,GAAG,cAAc,CAAC;AACzC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AACjD,MAAM,kBAAkB,GAAG,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AAEtE,MAAa,0BAA2B,SAAQ,6CAAoB;IAEhE,IAAc,KAAK;QACf,OAAO,cAAc,CAAC;IAC1B,CAAC;IAEQ,KAAK,CAAC,SAAS;QACpB,OAAO,KAAK,CAAC,SAAS,CAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,OAAO,KAAK,CAAC,SAAS,CAAC,qBAAqB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAEQ,KAAK,CAAC,cAAc,CAAC,mBAAmB,GAAG,KAAK;QACrD,MAAM,KAAK,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACtG,CAAC;IAED,KAAK,CAAC,aAAa;QACf,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5H,IAAI,OAAO,EAAE;YACT,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;SACzB;IACL,CAAC;CAEJ;AA1BD,gEA0BC"}
@@ -0,0 +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
+ }
23
+ //# sourceMappingURL=theia-notification-overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-notification-overlay.d.ts","sourceRoot":"","sources":["../src/theia-notification-overlay.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,wBAAyB,SAAQ,eAAe;IAK9B,SAAS,CAAC,qBAAqB,EAAE,0BAA0B;IAHtF,SAAS,CAAC,QAAQ,CAAC,oBAAoB,mBAAmB;IAC1D,SAAS,CAAC,QAAQ,CAAC,uBAAuB,0BAA0B;gBAExD,GAAG,EAAE,QAAQ,EAAY,qBAAqB,EAAE,0BAA0B;IAItF,SAAS,KAAK,QAAQ,IAAI,MAAM,CAE/B;IAED,SAAS,KAAK,iBAAiB,IAAI,MAAM,CAExC;IAED,SAAS,KAAK,aAAa,IAAI,MAAM,CAEpC;IAEK,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAK7B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAOzB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAI5C,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMzD,SAAS,KAAK,sBAAsB,IAAI,MAAM,CAE7C;IAEK,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;CAO/C"}