@theia/playwright 1.37.0-next.8 → 1.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.d.ts +4 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +4 -0
- package/lib/index.js.map +1 -1
- package/lib/tests/theia-explorer-view.test.js +24 -5
- package/lib/tests/theia-explorer-view.test.js.map +1 -1
- package/lib/tests/theia-output-view.test.d.ts +2 -0
- package/lib/tests/theia-output-view.test.d.ts.map +1 -0
- package/lib/tests/theia-output-view.test.js +77 -0
- package/lib/tests/theia-output-view.test.js.map +1 -0
- package/lib/tests/theia-quick-command.test.js +14 -0
- package/lib/tests/theia-quick-command.test.js.map +1 -1
- package/lib/tests/theia-sample-app.test.js +3 -30
- package/lib/tests/theia-sample-app.test.js.map +1 -1
- package/lib/tests/theia-terminal-view.test.d.ts +2 -0
- package/lib/tests/theia-terminal-view.test.d.ts.map +1 -0
- package/lib/tests/theia-terminal-view.test.js +76 -0
- package/lib/tests/theia-terminal-view.test.js.map +1 -0
- package/lib/tests/theia-toolbar.test.d.ts +2 -0
- package/lib/tests/theia-toolbar.test.d.ts.map +1 -0
- package/lib/tests/theia-toolbar.test.js +60 -0
- package/lib/tests/theia-toolbar.test.js.map +1 -0
- package/lib/tests/theia-workspace.test.js +5 -3
- package/lib/tests/theia-workspace.test.js.map +1 -1
- package/lib/theia-app.d.ts +7 -0
- package/lib/theia-app.d.ts.map +1 -1
- package/lib/theia-app.js +30 -1
- package/lib/theia-app.js.map +1 -1
- package/lib/theia-explorer-view.d.ts +6 -4
- package/lib/theia-explorer-view.d.ts.map +1 -1
- package/lib/theia-explorer-view.js +38 -6
- package/lib/theia-explorer-view.js.map +1 -1
- package/lib/theia-monaco-editor.d.ts +16 -0
- package/lib/theia-monaco-editor.d.ts.map +1 -0
- package/lib/theia-monaco-editor.js +76 -0
- package/lib/theia-monaco-editor.js.map +1 -0
- package/lib/theia-output-channel.d.ts +25 -0
- package/lib/theia-output-channel.d.ts.map +1 -0
- package/lib/theia-output-channel.js +72 -0
- package/lib/theia-output-channel.js.map +1 -0
- package/lib/theia-output-view.d.ts +10 -0
- package/lib/theia-output-view.d.ts.map +1 -0
- package/lib/theia-output-view.js +82 -0
- package/lib/theia-output-view.js.map +1 -0
- package/lib/theia-quick-command-palette.d.ts +2 -1
- package/lib/theia-quick-command-palette.d.ts.map +1 -1
- package/lib/theia-quick-command-palette.js +9 -2
- package/lib/theia-quick-command-palette.js.map +1 -1
- package/lib/theia-terminal.d.ts +14 -0
- package/lib/theia-terminal.d.ts.map +1 -0
- package/lib/theia-terminal.js +60 -0
- package/lib/theia-terminal.js.map +1 -0
- package/lib/theia-text-editor.d.ts +2 -3
- package/lib/theia-text-editor.d.ts.map +1 -1
- package/lib/theia-text-editor.js +11 -40
- package/lib/theia-text-editor.js.map +1 -1
- package/lib/theia-toolbar-item.d.ts +11 -0
- package/lib/theia-toolbar-item.d.ts.map +1 -0
- package/lib/theia-toolbar-item.js +40 -0
- package/lib/theia-toolbar-item.js.map +1 -0
- package/lib/theia-toolbar.d.ts +20 -0
- package/lib/theia-toolbar.d.ts.map +1 -0
- package/lib/theia-toolbar.js +91 -0
- package/lib/theia-toolbar.js.map +1 -0
- package/lib/theia-tree-node.d.ts +1 -0
- package/lib/theia-tree-node.d.ts.map +1 -1
- package/lib/theia-tree-node.js +8 -0
- package/lib/theia-tree-node.js.map +1 -1
- package/package.json +13 -10
- package/src/index.ts +4 -0
- package/src/tests/resources/sample-files1/sampleFolderCompact/nestedFolder1/nestedFolder2/sampleFile1-1.txt +0 -0
- package/src/tests/theia-explorer-view.test.ts +25 -6
- package/src/tests/theia-output-view.test.ts +85 -0
- package/src/tests/theia-quick-command.test.ts +15 -0
- package/src/tests/theia-sample-app.test.ts +3 -34
- package/src/tests/theia-terminal-view.test.ts +85 -0
- package/src/tests/theia-toolbar.test.ts +65 -0
- package/src/tests/theia-workspace.test.ts +5 -3
- package/src/theia-app.ts +37 -1
- package/src/theia-explorer-view.ts +42 -7
- package/src/theia-monaco-editor.ts +83 -0
- package/src/theia-output-channel.ts +88 -0
- package/src/theia-output-view.ts +87 -0
- package/src/theia-quick-command-palette.ts +10 -2
- package/src/theia-terminal.ts +69 -0
- package/src/theia-text-editor.ts +13 -44
- package/src/theia-toolbar-item.ts +41 -0
- package/src/theia-toolbar.ts +99 -0
- package/src/theia-tree-node.ts +10 -1
- package/LICENSE +0 -642
package/lib/theia-app.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2021 logi.cals GmbH, EclipseSource and others.
|
|
3
|
+
// Copyright (C) 2021-2023 logi.cals GmbH, EclipseSource and others.
|
|
4
4
|
//
|
|
5
5
|
// This program and the accompanying materials are made available under the
|
|
6
6
|
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
@@ -128,6 +128,35 @@ class TheiaApp {
|
|
|
128
128
|
await editor.waitForVisible();
|
|
129
129
|
return editor;
|
|
130
130
|
}
|
|
131
|
+
async openTerminal(terminalFactory) {
|
|
132
|
+
const mainMenu = await this.menuBar.openMenu('Terminal');
|
|
133
|
+
const menuItem = await mainMenu.menuItemByName('New Terminal');
|
|
134
|
+
if (!menuItem) {
|
|
135
|
+
throw Error('Menu item \'New Terminal\' could not be found.');
|
|
136
|
+
}
|
|
137
|
+
const newTabIds = await this.runAndWaitForNewTabs(() => menuItem.click());
|
|
138
|
+
if (newTabIds.length > 1) {
|
|
139
|
+
console.warn('More than one new tab detected after opening the terminal');
|
|
140
|
+
}
|
|
141
|
+
return new terminalFactory(newTabIds[0], this);
|
|
142
|
+
}
|
|
143
|
+
async runAndWaitForNewTabs(command) {
|
|
144
|
+
const tabIdsBefore = await this.visibleTabIds();
|
|
145
|
+
await command();
|
|
146
|
+
return (await this.waitForNewTabs(tabIdsBefore)).filter(item => !tabIdsBefore.includes(item));
|
|
147
|
+
}
|
|
148
|
+
async waitForNewTabs(tabIds) {
|
|
149
|
+
let tabIdsCurrent;
|
|
150
|
+
while ((tabIdsCurrent = (await this.visibleTabIds())).length <= tabIds.length) {
|
|
151
|
+
console.debug('Awaiting a new tab to appear');
|
|
152
|
+
}
|
|
153
|
+
return tabIdsCurrent;
|
|
154
|
+
}
|
|
155
|
+
async visibleTabIds() {
|
|
156
|
+
const tabs = await this.page.$$('.p-TabBar-tab');
|
|
157
|
+
const tabIds = (await Promise.all(tabs.map(tab => tab.getAttribute('id')))).filter(id => !!id);
|
|
158
|
+
return tabIds;
|
|
159
|
+
}
|
|
131
160
|
/** Specific Theia apps may add additional conditions to wait for. */
|
|
132
161
|
async waitForInitialized() {
|
|
133
162
|
// empty by default
|
package/lib/theia-app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theia-app.js","sourceRoot":"","sources":["../src/theia-app.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF
|
|
1
|
+
{"version":3,"file":"theia-app.js","sourceRoot":"","sources":["../src/theia-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,16 +22,18 @@ export declare class TheiaExplorerView extends TheiaView {
|
|
|
22
22
|
protected clickButton(id: string): Promise<void>;
|
|
23
23
|
visibleFileStatNodes(filterPredicate?: TheiaExplorerFileStatNodePredicate): Promise<TheiaExplorerFileStatNode[]>;
|
|
24
24
|
getFileStatNodeByLabel(label: string): Promise<TheiaExplorerFileStatNode>;
|
|
25
|
-
fileStatNode(filePath: string): Promise<TheiaExplorerFileStatNode | undefined>;
|
|
26
|
-
fileStatNodeBySegments(...pathFragments: string[]): Promise<TheiaExplorerFileStatNode | undefined>;
|
|
25
|
+
fileStatNode(filePath: string, compact?: boolean): Promise<TheiaExplorerFileStatNode | undefined>;
|
|
26
|
+
protected fileStatNodeBySegments(...pathFragments: string[]): Promise<TheiaExplorerFileStatNode | undefined>;
|
|
27
|
+
protected compactFileStatNode(path: string): Promise<TheiaExplorerFileStatNode | undefined>;
|
|
27
28
|
selectTreeNode(filePath: string): Promise<void>;
|
|
28
29
|
isTreeNodeSelected(filePath: string): Promise<boolean>;
|
|
29
30
|
protected treeNodeSelector(filePath: string): string;
|
|
30
31
|
protected treeNodeId(filePath: string): string;
|
|
31
32
|
clickContextMenuItem(file: string, path: string[]): Promise<void>;
|
|
32
|
-
protected existsNode(path: string, isDirectory: boolean): Promise<boolean>;
|
|
33
|
+
protected existsNode(path: string, isDirectory: boolean, compact?: boolean): Promise<boolean>;
|
|
33
34
|
existsFileNode(path: string): Promise<boolean>;
|
|
34
|
-
existsDirectoryNode(path: string): Promise<boolean>;
|
|
35
|
+
existsDirectoryNode(path: string, compact?: boolean): Promise<boolean>;
|
|
36
|
+
waitForTreeNodeVisible(path: string): Promise<void>;
|
|
35
37
|
getNumberOfVisibleNodes(): Promise<number>;
|
|
36
38
|
deleteNode(path: string, confirm?: boolean): Promise<void>;
|
|
37
39
|
renameNode(path: string, newName: string, confirm?: boolean): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theia-explorer-view.d.ts","sourceRoot":"","sources":["../src/theia-explorer-view.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzC,qBAAa,yBAA0B,SAAQ,aAAa;cAEzB,aAAa,EAAE,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC;IAAE,SAAS,CAAC,YAAY,EAAE,iBAAiB;gBAAjG,aAAa,EAAE,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,EAAY,YAAY,EAAE,iBAAiB;IAI1H,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAItC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAI1B,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5B,qBAAqB,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;CAO1E;AAED,oBAAY,kCAAkC,GAAG,CAAC,IAAI,EAAE,yBAAyB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AACvG,eAAO,MAAM,gBAAgB,EAAE,kCAG9B,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,SAAS;gBAEhC,GAAG,EAAE,QAAQ;IAIV,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAMlC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;cAIlB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhD,oBAAoB,CAAC,eAAe,GAAE,kCAAiE,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAgB9I,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAMzE,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"theia-explorer-view.d.ts","sourceRoot":"","sources":["../src/theia-explorer-view.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,8 +100,8 @@ class TheiaExplorerView extends theia_view_1.TheiaView {
|
|
|
100
100
|
}
|
|
101
101
|
return file;
|
|
102
102
|
}
|
|
103
|
-
async fileStatNode(filePath) {
|
|
104
|
-
return this.fileStatNodeBySegments(...filePath.split('/'));
|
|
103
|
+
async fileStatNode(filePath, compact = false) {
|
|
104
|
+
return compact ? this.compactFileStatNode(filePath) : this.fileStatNodeBySegments(...filePath.split('/'));
|
|
105
105
|
}
|
|
106
106
|
async fileStatNodeBySegments(...pathFragments) {
|
|
107
107
|
await super.activate();
|
|
@@ -124,6 +124,33 @@ class TheiaExplorerView extends theia_view_1.TheiaView {
|
|
|
124
124
|
}
|
|
125
125
|
return currentTreeNode;
|
|
126
126
|
}
|
|
127
|
+
async compactFileStatNode(path) {
|
|
128
|
+
// default setting `explorer.compactFolders=true` renders folders in a compact form - single child folders will be compressed in a combined tree element
|
|
129
|
+
await super.activate();
|
|
130
|
+
const viewElement = await this.viewElement();
|
|
131
|
+
// check if first segment folder needs to be expanded first (if folder has never been expanded, it will not show the compact folder structure)
|
|
132
|
+
await this.waitForVisibleFileNodes();
|
|
133
|
+
const firstSegment = path.split('/')[0];
|
|
134
|
+
const selector = this.treeNodeSelector(firstSegment);
|
|
135
|
+
const folderElement = await (viewElement === null || viewElement === void 0 ? void 0 : viewElement.$(selector));
|
|
136
|
+
if (folderElement && await folderElement.isVisible()) {
|
|
137
|
+
const folderNode = await (viewElement === null || viewElement === void 0 ? void 0 : viewElement.waitForSelector(selector, { state: 'visible' }));
|
|
138
|
+
if (!folderNode) {
|
|
139
|
+
throw new Error(`Tree node '${selector}' not found in explorer`);
|
|
140
|
+
}
|
|
141
|
+
const folderFileStatNode = new TheiaExplorerFileStatNode(folderNode, this);
|
|
142
|
+
if (await folderFileStatNode.isCollapsed()) {
|
|
143
|
+
await folderFileStatNode.expand();
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// now get tree node via the full path
|
|
147
|
+
const fullPathSelector = this.treeNodeSelector(path);
|
|
148
|
+
const treeNode = await (viewElement === null || viewElement === void 0 ? void 0 : viewElement.waitForSelector(fullPathSelector, { state: 'visible' }));
|
|
149
|
+
if (!treeNode) {
|
|
150
|
+
throw new Error(`Tree node '${fullPathSelector}' not found in explorer`);
|
|
151
|
+
}
|
|
152
|
+
return new TheiaExplorerFileStatNode(treeNode, this);
|
|
153
|
+
}
|
|
127
154
|
async selectTreeNode(filePath) {
|
|
128
155
|
await this.activate();
|
|
129
156
|
const treeNode = await this.page.waitForSelector(this.treeNodeSelector(filePath));
|
|
@@ -162,8 +189,8 @@ class TheiaExplorerView extends theia_view_1.TheiaView {
|
|
|
162
189
|
const menuItem = await fileStatNode.getMenuItemByNamePath(...path);
|
|
163
190
|
await menuItem.click();
|
|
164
191
|
}
|
|
165
|
-
async existsNode(path, isDirectory) {
|
|
166
|
-
const fileStatNode = await this.fileStatNode(path);
|
|
192
|
+
async existsNode(path, isDirectory, compact = false) {
|
|
193
|
+
const fileStatNode = await this.fileStatNode(path, compact);
|
|
167
194
|
if (!fileStatNode) {
|
|
168
195
|
return false;
|
|
169
196
|
}
|
|
@@ -182,8 +209,13 @@ class TheiaExplorerView extends theia_view_1.TheiaView {
|
|
|
182
209
|
async existsFileNode(path) {
|
|
183
210
|
return this.existsNode(path, false);
|
|
184
211
|
}
|
|
185
|
-
async existsDirectoryNode(path) {
|
|
186
|
-
return this.existsNode(path, true);
|
|
212
|
+
async existsDirectoryNode(path, compact = false) {
|
|
213
|
+
return this.existsNode(path, true, compact);
|
|
214
|
+
}
|
|
215
|
+
async waitForTreeNodeVisible(path) {
|
|
216
|
+
// wait for tree node to be visible, e.g. after triggering create
|
|
217
|
+
const viewElement = await this.viewElement();
|
|
218
|
+
await (viewElement === null || viewElement === void 0 ? void 0 : viewElement.waitForSelector(this.treeNodeSelector(path), { state: 'visible' }));
|
|
187
219
|
}
|
|
188
220
|
async getNumberOfVisibleNodes() {
|
|
189
221
|
await this.activate();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theia-explorer-view.js","sourceRoot":"","sources":["../src/theia-explorer-view.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"theia-explorer-view.js","sourceRoot":"","sources":["../src/theia-explorer-view.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ElementHandle } from '@playwright/test';
|
|
2
|
+
import { TheiaPageObject } from './theia-page-object';
|
|
3
|
+
import { TheiaApp } from './theia-app';
|
|
4
|
+
export declare class TheiaMonacoEditor extends TheiaPageObject {
|
|
5
|
+
protected readonly selector: string;
|
|
6
|
+
constructor(selector: string, app: TheiaApp);
|
|
7
|
+
waitForVisible(): Promise<void>;
|
|
8
|
+
protected viewElement(): Promise<ElementHandle<SVGElement | HTMLElement> | null>;
|
|
9
|
+
numberOfLines(): Promise<number | undefined>;
|
|
10
|
+
textContentOfLineByLineNumber(lineNumber: number): Promise<string | undefined>;
|
|
11
|
+
lineByLineNumber(lineNumber: number): Promise<ElementHandle<SVGElement | HTMLElement> | undefined>;
|
|
12
|
+
textContentOfLineContainingText(text: string): Promise<string | undefined>;
|
|
13
|
+
lineContainingText(text: string): Promise<ElementHandle<SVGElement | HTMLElement> | undefined>;
|
|
14
|
+
protected replaceEditorSymbolsWithSpace(content: string): string | Promise<string | undefined>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=theia-monaco-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theia-monaco-editor.d.ts","sourceRoot":"","sources":["../src/theia-monaco-editor.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,qBAAa,iBAAkB,SAAQ,eAAe;IACtC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM;gBAAhB,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ;IAIxD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC,SAAS,CAAC,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC;IAI1E,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAO5C,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAO9E,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;IAiBlG,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAO1E,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;IAKpG,SAAS,CAAC,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAMjG"}
|
|
@@ -0,0 +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 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
|
+
//# sourceMappingURL=theia-monaco-editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theia-monaco-editor.js","sourceRoot":"","sources":["../src/theia-monaco-editor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +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
|
+
}
|
|
25
|
+
//# sourceMappingURL=theia-output-channel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theia-output-channel.d.ts","sourceRoot":"","sources":["../src/theia-output-channel.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,WAAW,0BAA0B;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,sBAAuB,SAAQ,eAAe;IAI3C,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,0BAA0B;IAAE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAe;IAF/G,SAAS,CAAC,YAAY,EAAE,iBAAiB,CAAC;gBAEX,IAAI,EAAE,0BAA0B,EAAqB,UAAU,EAAE,eAAe;IAK/G,SAAS,KAAK,YAAY,IAAI,MAAM,CAEnC;IAED,SAAS,KAAK,OAAO,IAAI,MAAM,GAAG,SAAS,CAE1C;IAED,SAAS,KAAK,WAAW,IAAI,MAAM,GAAG,SAAS,CAE9C;IAEK,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC,SAAS,CAAC,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC;IAI1E,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAK5C,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IAkBxF,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAGvF"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2023 EclipseSource and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.TheiaOutputViewChannel = void 0;
|
|
19
|
+
const theia_page_object_1 = require("./theia-page-object");
|
|
20
|
+
const util_1 = require("./util");
|
|
21
|
+
const theia_monaco_editor_1 = require("./theia-monaco-editor");
|
|
22
|
+
class TheiaOutputViewChannel extends theia_page_object_1.TheiaPageObject {
|
|
23
|
+
constructor(data, outputView) {
|
|
24
|
+
super(outputView.app);
|
|
25
|
+
this.data = data;
|
|
26
|
+
this.outputView = outputView;
|
|
27
|
+
this.monacoEditor = new theia_monaco_editor_1.TheiaMonacoEditor(this.viewSelector, outputView.app);
|
|
28
|
+
}
|
|
29
|
+
get viewSelector() {
|
|
30
|
+
return this.data.viewSelector;
|
|
31
|
+
}
|
|
32
|
+
get dataUri() {
|
|
33
|
+
return this.data.dataUri;
|
|
34
|
+
}
|
|
35
|
+
get channelName() {
|
|
36
|
+
return this.data.channelName;
|
|
37
|
+
}
|
|
38
|
+
async waitForVisible() {
|
|
39
|
+
await this.page.waitForSelector(this.viewSelector, { state: 'visible' });
|
|
40
|
+
}
|
|
41
|
+
async isDisplayed() {
|
|
42
|
+
return (0, util_1.isElementVisible)(this.viewElement());
|
|
43
|
+
}
|
|
44
|
+
viewElement() {
|
|
45
|
+
return this.page.$(this.viewSelector);
|
|
46
|
+
}
|
|
47
|
+
async numberOfLines() {
|
|
48
|
+
await this.waitForVisible();
|
|
49
|
+
return this.monacoEditor.numberOfLines();
|
|
50
|
+
}
|
|
51
|
+
async maxSeverityOfLineByLineNumber(lineNumber) {
|
|
52
|
+
await this.waitForVisible();
|
|
53
|
+
const lineElement = await this.monacoEditor.lineByLineNumber(lineNumber);
|
|
54
|
+
const contents = await (lineElement === null || lineElement === void 0 ? void 0 : lineElement.$$('span > span.mtk1'));
|
|
55
|
+
if (!contents || contents.length < 1) {
|
|
56
|
+
throw new Error(`Could not find contents of line number ${lineNumber}!`);
|
|
57
|
+
}
|
|
58
|
+
const severityClassNames = await Promise.all(contents.map(async (content) => { var _a; return (_a = (await content.getAttribute('class'))) === null || _a === void 0 ? void 0 : _a.split(' ')[1]; }));
|
|
59
|
+
if (severityClassNames.includes('theia-output-error')) {
|
|
60
|
+
return 'error';
|
|
61
|
+
}
|
|
62
|
+
else if (severityClassNames.includes('theia-output-warning')) {
|
|
63
|
+
return 'warning';
|
|
64
|
+
}
|
|
65
|
+
return 'info';
|
|
66
|
+
}
|
|
67
|
+
async textContentOfLineByLineNumber(lineNumber) {
|
|
68
|
+
return this.monacoEditor.textContentOfLineByLineNumber(lineNumber);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.TheiaOutputViewChannel = TheiaOutputViewChannel;
|
|
72
|
+
//# sourceMappingURL=theia-output-channel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theia-output-channel.js","sourceRoot":"","sources":["../src/theia-output-channel.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;AAIhF,2DAAsD;AACtD,iCAA0C;AAC1C,+DAA0D;AAQ1D,MAAa,sBAAuB,SAAQ,mCAAe;IAIvD,YAA+B,IAAgC,EAAqB,UAA2B;QAC3G,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QADK,SAAI,GAAJ,IAAI,CAA4B;QAAqB,eAAU,GAAV,UAAU,CAAiB;QAE3G,IAAI,CAAC,YAAY,GAAG,IAAI,uCAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IACjF,CAAC;IAED,IAAc,YAAY;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;IAClC,CAAC;IAED,IAAc,OAAO;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,IAAc,WAAW;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,cAAc;QAChB,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,WAAW;QACb,OAAO,IAAA,uBAAgB,EAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAChD,CAAC;IAES,WAAW;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,aAAa;QACf,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,UAAkB;QAClD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,MAAM,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,EAAE,CAAC,kBAAkB,CAAC,CAAA,CAAC;QAC3D,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,0CAA0C,UAAU,GAAG,CAAC,CAAC;SAC5E;QACD,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CACrD,KAAK,EAAC,OAAO,EAAC,EAAE,WAAC,OAAA,MAAA,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,EAAA,CAAC,CAAC,CAAC;QAE5E,IAAI,kBAAkB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE;YACnD,OAAO,OAAO,CAAC;SAClB;aAAM,IAAI,kBAAkB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE;YAC5D,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,UAAkB;QAClD,OAAO,IAAI,CAAC,YAAY,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAC;IACvE,CAAC;CACJ;AA3DD,wDA2DC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TheiaApp } from './theia-app';
|
|
2
|
+
import { TheiaOutputViewChannel } from './theia-output-channel';
|
|
3
|
+
import { TheiaView } from './theia-view';
|
|
4
|
+
export declare class TheiaOutputView extends TheiaView {
|
|
5
|
+
constructor(app: TheiaApp);
|
|
6
|
+
isOutputChannelSelected(outputChannelName: string): Promise<boolean>;
|
|
7
|
+
getOutputChannel(outputChannelName: string): Promise<TheiaOutputViewChannel | undefined>;
|
|
8
|
+
selectOutputChannel(outputChannelName: string): Promise<boolean>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=theia-output-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theia-output-view.d.ts","sourceRoot":"","sources":["../src/theia-output-view.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzC,qBAAa,eAAgB,SAAQ,SAAS;gBAC9B,GAAG,EAAE,QAAQ;IAInB,uBAAuB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAapE,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAiBxF,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAwBzE"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2023 EclipseSource and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.TheiaOutputView = void 0;
|
|
19
|
+
const theia_output_channel_1 = require("./theia-output-channel");
|
|
20
|
+
const theia_view_1 = require("./theia-view");
|
|
21
|
+
const util_1 = require("./util");
|
|
22
|
+
const TheiaOutputViewData = {
|
|
23
|
+
tabSelector: '#shell-tab-outputView',
|
|
24
|
+
viewSelector: '#outputView',
|
|
25
|
+
viewName: 'Output'
|
|
26
|
+
};
|
|
27
|
+
class TheiaOutputView extends theia_view_1.TheiaView {
|
|
28
|
+
constructor(app) {
|
|
29
|
+
super(TheiaOutputViewData, app);
|
|
30
|
+
}
|
|
31
|
+
async isOutputChannelSelected(outputChannelName) {
|
|
32
|
+
await this.activate();
|
|
33
|
+
const contentPanel = await this.page.$('#theia-bottom-content-panel');
|
|
34
|
+
if (contentPanel && (await contentPanel.isVisible())) {
|
|
35
|
+
const channelList = await contentPanel.$('#outputChannelList');
|
|
36
|
+
const selectedChannel = await (channelList === null || channelList === void 0 ? void 0 : channelList.$('div.theia-select-component-label'));
|
|
37
|
+
if (selectedChannel && (await selectedChannel.textContent()) === outputChannelName) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
async getOutputChannel(outputChannelName) {
|
|
44
|
+
await this.activate();
|
|
45
|
+
const channel = new theia_output_channel_1.TheiaOutputViewChannel({
|
|
46
|
+
viewSelector: 'div.p-Widget.theia-editor.p-DockPanel-widget > div.monaco-editor',
|
|
47
|
+
dataUri: (0, util_1.normalizeId)(`output:/${encodeURIComponent(outputChannelName)}`),
|
|
48
|
+
channelName: outputChannelName
|
|
49
|
+
}, this);
|
|
50
|
+
await channel.waitForVisible();
|
|
51
|
+
if (await channel.isDisplayed()) {
|
|
52
|
+
return channel;
|
|
53
|
+
}
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
async selectOutputChannel(outputChannelName) {
|
|
57
|
+
await this.activate();
|
|
58
|
+
const contentPanel = await this.page.$('#theia-bottom-content-panel');
|
|
59
|
+
if (contentPanel && (await contentPanel.isVisible())) {
|
|
60
|
+
const channelSelectComponent = await contentPanel.$('#outputChannelList');
|
|
61
|
+
if (!channelSelectComponent) {
|
|
62
|
+
throw Error('Output Channel List not visible.');
|
|
63
|
+
}
|
|
64
|
+
// open output channel list component
|
|
65
|
+
await channelSelectComponent.click();
|
|
66
|
+
const channelContainer = await this.page.waitForSelector('#select-component-container > div.theia-select-component-dropdown');
|
|
67
|
+
if (!channelContainer) {
|
|
68
|
+
throw Error('Output Channel List could not be opened.');
|
|
69
|
+
}
|
|
70
|
+
const channels = await channelContainer.$$('div.theia-select-component-option-value');
|
|
71
|
+
for (const channel of channels) {
|
|
72
|
+
if (await channel.textContent() === outputChannelName) {
|
|
73
|
+
await channel.click();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return this.isOutputChannelSelected(outputChannelName);
|
|
77
|
+
}
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.TheiaOutputView = TheiaOutputView;
|
|
82
|
+
//# sourceMappingURL=theia-output-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theia-output-view.js","sourceRoot":"","sources":["../src/theia-output-view.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,11 @@ import { TheiaPageObject } from './theia-page-object';
|
|
|
3
3
|
export declare class TheiaQuickCommandPalette extends TheiaPageObject {
|
|
4
4
|
selector: string;
|
|
5
5
|
open(): Promise<void>;
|
|
6
|
+
hide(): Promise<void>;
|
|
6
7
|
isOpen(): Promise<boolean>;
|
|
7
8
|
trigger(...commandName: string[]): Promise<void>;
|
|
8
9
|
protected triggerSingleCommand(commandName: string): Promise<void>;
|
|
9
|
-
type(
|
|
10
|
+
type(value: string, confirm?: boolean): Promise<void>;
|
|
10
11
|
protected selectedCommand(): Promise<ElementHandle<SVGElement | HTMLElement> | null>;
|
|
11
12
|
}
|
|
12
13
|
//# sourceMappingURL=theia-quick-command-palette.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theia-quick-command-palette.d.ts","sourceRoot":"","sources":["../src/theia-quick-command-palette.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,qBAAa,wBAAyB,SAAQ,eAAe;IAEzD,QAAQ,SAAyB;IAE3B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAS1B,OAAO,CAAC,GAAG,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;cAMtC,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"theia-quick-command-palette.d.ts","sourceRoot":"","sources":["../src/theia-quick-command-palette.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,qBAAa,wBAAyB,SAAQ,eAAe;IAEzD,QAAQ,SAAyB;IAE3B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAS1B,OAAO,CAAC,GAAG,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;cAMtC,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;cAczC,eAAe,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC;CAO7F"}
|
|
@@ -27,6 +27,10 @@ class TheiaQuickCommandPalette extends theia_page_object_1.TheiaPageObject {
|
|
|
27
27
|
await this.page.keyboard.press(util_1.OSUtil.isMacOS ? 'Meta+Shift+p' : 'Control+Shift+p');
|
|
28
28
|
await this.page.waitForSelector(this.selector);
|
|
29
29
|
}
|
|
30
|
+
async hide() {
|
|
31
|
+
await this.page.keyboard.press('Escape');
|
|
32
|
+
await this.page.waitForSelector(this.selector, { state: 'hidden' });
|
|
33
|
+
}
|
|
30
34
|
async isOpen() {
|
|
31
35
|
try {
|
|
32
36
|
await this.page.waitForSelector(this.selector, { timeout: 5000 });
|
|
@@ -52,14 +56,17 @@ class TheiaQuickCommandPalette extends theia_page_object_1.TheiaPageObject {
|
|
|
52
56
|
}
|
|
53
57
|
await this.page.keyboard.press('Enter');
|
|
54
58
|
}
|
|
55
|
-
async type(
|
|
59
|
+
async type(value, confirm = false) {
|
|
56
60
|
if (!await this.isOpen()) {
|
|
57
61
|
this.open();
|
|
58
62
|
}
|
|
59
63
|
const input = await this.page.waitForSelector(`${this.selector} .monaco-inputbox .input`);
|
|
60
64
|
if (input != null) {
|
|
61
65
|
await input.focus();
|
|
62
|
-
await input.type(
|
|
66
|
+
await input.type(value, { delay: util_1.USER_KEY_TYPING_DELAY });
|
|
67
|
+
if (confirm) {
|
|
68
|
+
await this.page.keyboard.press('Enter');
|
|
69
|
+
}
|
|
63
70
|
}
|
|
64
71
|
}
|
|
65
72
|
async selectedCommand() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theia-quick-command-palette.js","sourceRoot":"","sources":["../src/theia-quick-command-palette.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;;;AAGhF,2DAAsD;AACtD,iCAAuD;AAEvD,MAAa,wBAAyB,SAAQ,mCAAe;IAA7D;;QAEI,aAAQ,GAAG,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"theia-quick-command-palette.js","sourceRoot":"","sources":["../src/theia-quick-command-palette.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ElementHandle } from '@playwright/test';
|
|
2
|
+
import { TheiaApp } from './theia-app';
|
|
3
|
+
import { TheiaMenu } from './theia-menu';
|
|
4
|
+
import { TheiaView } from './theia-view';
|
|
5
|
+
export declare class TheiaTerminal extends TheiaView {
|
|
6
|
+
constructor(tabId: string, app: TheiaApp);
|
|
7
|
+
submit(text: string): Promise<void>;
|
|
8
|
+
write(text: string): Promise<void>;
|
|
9
|
+
contents(): Promise<string>;
|
|
10
|
+
protected openContextMenu(): Promise<TheiaMenu>;
|
|
11
|
+
protected waitForInputArea(): Promise<ElementHandle<SVGElement | HTMLElement>>;
|
|
12
|
+
protected waitForVisibleView(): Promise<ElementHandle<SVGElement | HTMLElement>>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=theia-terminal.d.ts.map
|