@theia/playwright 1.67.0-next.56 → 1.67.0-next.86
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 +37 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +55 -0
- package/lib/index.js.map +1 -0
- package/lib/tests/theia-app.test.d.ts +2 -0
- package/lib/tests/theia-app.test.d.ts.map +1 -0
- package/lib/tests/theia-app.test.js +30 -0
- package/lib/tests/theia-app.test.js.map +1 -0
- package/lib/tests/theia-application-shell.test.d.ts +2 -0
- package/lib/tests/theia-application-shell.test.d.ts.map +1 -0
- package/lib/tests/theia-application-shell.test.js +59 -0
- package/lib/tests/theia-application-shell.test.js.map +1 -0
- package/lib/tests/theia-explorer-view.test.d.ts +2 -0
- package/lib/tests/theia-explorer-view.test.d.ts.map +1 -0
- package/lib/tests/theia-explorer-view.test.js +186 -0
- package/lib/tests/theia-explorer-view.test.js.map +1 -0
- package/lib/tests/theia-getting-started.test.d.ts +2 -0
- package/lib/tests/theia-getting-started.test.d.ts.map +1 -0
- package/lib/tests/theia-getting-started.test.js +46 -0
- package/lib/tests/theia-getting-started.test.js.map +1 -0
- package/lib/tests/theia-main-menu.test.d.ts +2 -0
- package/lib/tests/theia-main-menu.test.d.ts.map +1 -0
- package/lib/tests/theia-main-menu.test.js +111 -0
- package/lib/tests/theia-main-menu.test.js.map +1 -0
- package/lib/tests/theia-notebook-editor.test.d.ts +2 -0
- package/lib/tests/theia-notebook-editor.test.d.ts.map +1 -0
- package/lib/tests/theia-notebook-editor.test.js +301 -0
- package/lib/tests/theia-notebook-editor.test.js.map +1 -0
- 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 +79 -0
- package/lib/tests/theia-output-view.test.js.map +1 -0
- package/lib/tests/theia-preference-view.test.d.ts +2 -0
- package/lib/tests/theia-preference-view.test.d.ts.map +1 -0
- package/lib/tests/theia-preference-view.test.js +102 -0
- package/lib/tests/theia-preference-view.test.js.map +1 -0
- package/lib/tests/theia-problems-view.test.d.ts +2 -0
- package/lib/tests/theia-problems-view.test.d.ts.map +1 -0
- package/lib/tests/theia-problems-view.test.js +55 -0
- package/lib/tests/theia-problems-view.test.js.map +1 -0
- package/lib/tests/theia-quick-command.test.d.ts +2 -0
- package/lib/tests/theia-quick-command.test.d.ts.map +1 -0
- package/lib/tests/theia-quick-command.test.js +75 -0
- package/lib/tests/theia-quick-command.test.js.map +1 -0
- package/lib/tests/theia-sample-app.test.d.ts +2 -0
- package/lib/tests/theia-sample-app.test.d.ts.map +1 -0
- package/lib/tests/theia-sample-app.test.js +58 -0
- package/lib/tests/theia-sample-app.test.js.map +1 -0
- package/lib/tests/theia-status-bar.test.d.ts +2 -0
- package/lib/tests/theia-status-bar.test.d.ts.map +1 -0
- package/lib/tests/theia-status-bar.test.js +45 -0
- package/lib/tests/theia-status-bar.test.js.map +1 -0
- 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 +80 -0
- package/lib/tests/theia-terminal-view.test.js.map +1 -0
- package/lib/tests/theia-text-editor.test.d.ts +2 -0
- package/lib/tests/theia-text-editor.test.d.ts.map +1 -0
- package/lib/tests/theia-text-editor.test.js +159 -0
- package/lib/tests/theia-text-editor.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 +62 -0
- package/lib/tests/theia-toolbar.test.js.map +1 -0
- package/lib/tests/theia-workspace.test.d.ts +2 -0
- package/lib/tests/theia-workspace.test.d.ts.map +1 -0
- package/lib/tests/theia-workspace.test.js +77 -0
- package/lib/tests/theia-workspace.test.js.map +1 -0
- package/lib/theia-about-dialog.d.ts +5 -0
- package/lib/theia-about-dialog.d.ts.map +1 -0
- package/lib/theia-about-dialog.js +27 -0
- package/lib/theia-about-dialog.js.map +1 -0
- package/lib/theia-app-loader.d.ts +20 -0
- package/lib/theia-app-loader.d.ts.map +1 -0
- package/lib/theia-app-loader.js +124 -0
- package/lib/theia-app-loader.js.map +1 -0
- package/lib/theia-app.d.ts +51 -0
- package/lib/theia-app.d.ts.map +1 -0
- package/lib/theia-app.js +154 -0
- package/lib/theia-app.js.map +1 -0
- package/lib/theia-context-menu.d.ts +9 -0
- package/lib/theia-context-menu.d.ts.map +1 -0
- package/lib/theia-context-menu.js +38 -0
- package/lib/theia-context-menu.js.map +1 -0
- package/lib/theia-dialog.d.ts +29 -0
- package/lib/theia-dialog.d.ts.map +1 -0
- package/lib/theia-dialog.js +100 -0
- package/lib/theia-dialog.js.map +1 -0
- package/lib/theia-editor.d.ts +10 -0
- package/lib/theia-editor.d.ts.map +1 -0
- package/lib/theia-editor.js +69 -0
- package/lib/theia-editor.js.map +1 -0
- package/lib/theia-explorer-view.d.ts +48 -0
- package/lib/theia-explorer-view.d.ts.map +1 -0
- package/lib/theia-explorer-view.js +274 -0
- package/lib/theia-explorer-view.js.map +1 -0
- package/lib/theia-main-menu.d.ts +17 -0
- package/lib/theia-main-menu.d.ts.map +1 -0
- package/lib/theia-main-menu.js +73 -0
- package/lib/theia-main-menu.js.map +1 -0
- package/lib/theia-menu-item.d.ts +15 -0
- package/lib/theia-menu-item.d.ts.map +1 -0
- package/lib/theia-menu-item.js +67 -0
- package/lib/theia-menu-item.js.map +1 -0
- package/lib/theia-menu.d.ts +17 -0
- package/lib/theia-menu.d.ts.map +1 -0
- package/lib/theia-menu.js +106 -0
- package/lib/theia-menu.js.map +1 -0
- package/lib/theia-monaco-editor.d.ts +63 -0
- package/lib/theia-monaco-editor.d.ts.map +1 -0
- package/lib/theia-monaco-editor.js +155 -0
- package/lib/theia-monaco-editor.js.map +1 -0
- package/lib/theia-notebook-cell.d.ts +104 -0
- package/lib/theia-notebook-cell.d.ts.map +1 -0
- package/lib/theia-notebook-cell.js +228 -0
- package/lib/theia-notebook-cell.js.map +1 -0
- package/lib/theia-notebook-editor.d.ts +50 -0
- package/lib/theia-notebook-editor.d.ts.map +1 -0
- package/lib/theia-notebook-editor.js +153 -0
- package/lib/theia-notebook-editor.js.map +1 -0
- package/lib/theia-notebook-toolbar.d.ts +13 -0
- package/lib/theia-notebook-toolbar.d.ts.map +1 -0
- package/lib/theia-notebook-toolbar.js +47 -0
- package/lib/theia-notebook-toolbar.js.map +1 -0
- package/lib/theia-notification-indicator.d.ts +8 -0
- package/lib/theia-notification-indicator.d.ts.map +1 -0
- package/lib/theia-notification-indicator.js +45 -0
- package/lib/theia-notification-indicator.js.map +1 -0
- package/lib/theia-notification-overlay.d.ts +23 -0
- package/lib/theia-notification-overlay.d.ts.map +1 -0
- package/lib/theia-notification-overlay.js +80 -0
- package/lib/theia-notification-overlay.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-page-object.d.ts +8 -0
- package/lib/theia-page-object.d.ts.map +1 -0
- package/lib/theia-page-object.js +28 -0
- package/lib/theia-page-object.js.map +1 -0
- package/lib/theia-preference-view.d.ts +91 -0
- package/lib/theia-preference-view.d.ts.map +1 -0
- package/lib/theia-preference-view.js +224 -0
- package/lib/theia-preference-view.js.map +1 -0
- package/lib/theia-problem-indicator.d.ts +9 -0
- package/lib/theia-problem-indicator.d.ts.map +1 -0
- package/lib/theia-problem-indicator.js +39 -0
- package/lib/theia-problem-indicator.js.map +1 -0
- package/lib/theia-problem-view.d.ts +6 -0
- package/lib/theia-problem-view.d.ts.map +1 -0
- package/lib/theia-problem-view.js +31 -0
- package/lib/theia-problem-view.js.map +1 -0
- package/lib/theia-quick-command-palette.d.ts +14 -0
- package/lib/theia-quick-command-palette.d.ts.map +1 -0
- package/lib/theia-quick-command-palette.js +87 -0
- package/lib/theia-quick-command-palette.js.map +1 -0
- package/lib/theia-rename-dialog.d.ts +6 -0
- package/lib/theia-rename-dialog.d.ts.map +1 -0
- package/lib/theia-rename-dialog.js +35 -0
- package/lib/theia-rename-dialog.js.map +1 -0
- package/lib/theia-status-bar.d.ts +14 -0
- package/lib/theia-status-bar.d.ts.map +1 -0
- package/lib/theia-status-bar.js +40 -0
- package/lib/theia-status-bar.js.map +1 -0
- package/lib/theia-status-indicator.d.ts +11 -0
- package/lib/theia-status-indicator.d.ts.map +1 -0
- package/lib/theia-status-indicator.js +49 -0
- package/lib/theia-status-indicator.js.map +1 -0
- 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 +27 -0
- package/lib/theia-text-editor.d.ts.map +1 -0
- package/lib/theia-text-editor.js +124 -0
- package/lib/theia-text-editor.js.map +1 -0
- package/lib/theia-toggle-bottom-indicator.d.ts +5 -0
- package/lib/theia-toggle-bottom-indicator.d.ts.map +1 -0
- package/lib/theia-toggle-bottom-indicator.js +27 -0
- package/lib/theia-toggle-bottom-indicator.js.map +1 -0
- 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 +41 -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 +20 -0
- package/lib/theia-tree-node.d.ts.map +1 -0
- package/lib/theia-tree-node.js +73 -0
- package/lib/theia-tree-node.js.map +1 -0
- package/lib/theia-view.d.ts +33 -0
- package/lib/theia-view.d.ts.map +1 -0
- package/lib/theia-view.js +150 -0
- package/lib/theia-view.js.map +1 -0
- package/lib/theia-welcome-view.d.ts +6 -0
- package/lib/theia-welcome-view.d.ts.map +1 -0
- package/lib/theia-welcome-view.js +31 -0
- package/lib/theia-welcome-view.js.map +1 -0
- package/lib/theia-workspace.d.ts +27 -0
- package/lib/theia-workspace.d.ts.map +1 -0
- package/lib/theia-workspace.js +84 -0
- package/lib/theia-workspace.js.map +1 -0
- package/lib/util.d.ts +18 -0
- package/lib/util.d.ts.map +1 -0
- package/lib/util.js +86 -0
- package/lib/util.js.map +1 -0
- package/package.json +5 -4
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export * from './theia-about-dialog';
|
|
2
|
+
export * from './theia-app';
|
|
3
|
+
export * from './theia-app-loader';
|
|
4
|
+
export * from './theia-context-menu';
|
|
5
|
+
export * from './theia-dialog';
|
|
6
|
+
export * from './theia-editor';
|
|
7
|
+
export * from './theia-explorer-view';
|
|
8
|
+
export * from './theia-main-menu';
|
|
9
|
+
export * from './theia-menu-item';
|
|
10
|
+
export * from './theia-menu';
|
|
11
|
+
export * from './theia-monaco-editor';
|
|
12
|
+
export * from './theia-notification-indicator';
|
|
13
|
+
export * from './theia-notification-overlay';
|
|
14
|
+
export * from './theia-notebook-cell';
|
|
15
|
+
export * from './theia-notebook-editor';
|
|
16
|
+
export * from './theia-notebook-toolbar';
|
|
17
|
+
export * from './theia-output-channel';
|
|
18
|
+
export * from './theia-output-view';
|
|
19
|
+
export * from './theia-page-object';
|
|
20
|
+
export * from './theia-preference-view';
|
|
21
|
+
export * from './theia-problem-indicator';
|
|
22
|
+
export * from './theia-problem-view';
|
|
23
|
+
export * from './theia-quick-command-palette';
|
|
24
|
+
export * from './theia-rename-dialog';
|
|
25
|
+
export * from './theia-status-bar';
|
|
26
|
+
export * from './theia-status-indicator';
|
|
27
|
+
export * from './theia-terminal';
|
|
28
|
+
export * from './theia-text-editor';
|
|
29
|
+
export * from './theia-toggle-bottom-indicator';
|
|
30
|
+
export * from './theia-toolbar';
|
|
31
|
+
export * from './theia-toolbar-item';
|
|
32
|
+
export * from './theia-tree-node';
|
|
33
|
+
export * from './theia-view';
|
|
34
|
+
export * from './theia-welcome-view';
|
|
35
|
+
export * from './theia-workspace';
|
|
36
|
+
export * from './util';
|
|
37
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC"}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2022 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
|
+
const tslib_1 = require("tslib");
|
|
19
|
+
tslib_1.__exportStar(require("./theia-about-dialog"), exports);
|
|
20
|
+
tslib_1.__exportStar(require("./theia-app"), exports);
|
|
21
|
+
tslib_1.__exportStar(require("./theia-app-loader"), exports);
|
|
22
|
+
tslib_1.__exportStar(require("./theia-context-menu"), exports);
|
|
23
|
+
tslib_1.__exportStar(require("./theia-dialog"), exports);
|
|
24
|
+
tslib_1.__exportStar(require("./theia-editor"), exports);
|
|
25
|
+
tslib_1.__exportStar(require("./theia-explorer-view"), exports);
|
|
26
|
+
tslib_1.__exportStar(require("./theia-main-menu"), exports);
|
|
27
|
+
tslib_1.__exportStar(require("./theia-menu-item"), exports);
|
|
28
|
+
tslib_1.__exportStar(require("./theia-menu"), exports);
|
|
29
|
+
tslib_1.__exportStar(require("./theia-monaco-editor"), exports);
|
|
30
|
+
tslib_1.__exportStar(require("./theia-notification-indicator"), exports);
|
|
31
|
+
tslib_1.__exportStar(require("./theia-notification-overlay"), exports);
|
|
32
|
+
tslib_1.__exportStar(require("./theia-notebook-cell"), exports);
|
|
33
|
+
tslib_1.__exportStar(require("./theia-notebook-editor"), exports);
|
|
34
|
+
tslib_1.__exportStar(require("./theia-notebook-toolbar"), exports);
|
|
35
|
+
tslib_1.__exportStar(require("./theia-output-channel"), exports);
|
|
36
|
+
tslib_1.__exportStar(require("./theia-output-view"), exports);
|
|
37
|
+
tslib_1.__exportStar(require("./theia-page-object"), exports);
|
|
38
|
+
tslib_1.__exportStar(require("./theia-preference-view"), exports);
|
|
39
|
+
tslib_1.__exportStar(require("./theia-problem-indicator"), exports);
|
|
40
|
+
tslib_1.__exportStar(require("./theia-problem-view"), exports);
|
|
41
|
+
tslib_1.__exportStar(require("./theia-quick-command-palette"), exports);
|
|
42
|
+
tslib_1.__exportStar(require("./theia-rename-dialog"), exports);
|
|
43
|
+
tslib_1.__exportStar(require("./theia-status-bar"), exports);
|
|
44
|
+
tslib_1.__exportStar(require("./theia-status-indicator"), exports);
|
|
45
|
+
tslib_1.__exportStar(require("./theia-terminal"), exports);
|
|
46
|
+
tslib_1.__exportStar(require("./theia-text-editor"), exports);
|
|
47
|
+
tslib_1.__exportStar(require("./theia-toggle-bottom-indicator"), exports);
|
|
48
|
+
tslib_1.__exportStar(require("./theia-toolbar"), exports);
|
|
49
|
+
tslib_1.__exportStar(require("./theia-toolbar-item"), exports);
|
|
50
|
+
tslib_1.__exportStar(require("./theia-tree-node"), exports);
|
|
51
|
+
tslib_1.__exportStar(require("./theia-view"), exports);
|
|
52
|
+
tslib_1.__exportStar(require("./theia-welcome-view"), exports);
|
|
53
|
+
tslib_1.__exportStar(require("./theia-workspace"), exports);
|
|
54
|
+
tslib_1.__exportStar(require("./util"), exports);
|
|
55
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.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,gFAAgF;AAChF,gFAAgF;;;AAEhF,+DAAqC;AACrC,sDAA4B;AAC5B,6DAAmC;AACnC,+DAAqC;AACrC,yDAA+B;AAC/B,yDAA+B;AAC/B,gEAAsC;AACtC,4DAAkC;AAClC,4DAAkC;AAClC,uDAA6B;AAC7B,gEAAsC;AACtC,yEAA+C;AAC/C,uEAA6C;AAC7C,gEAAsC;AACtC,kEAAwC;AACxC,mEAAyC;AACzC,iEAAuC;AACvC,8DAAoC;AACpC,8DAAoC;AACpC,kEAAwC;AACxC,oEAA0C;AAC1C,+DAAqC;AACrC,wEAA8C;AAC9C,gEAAsC;AACtC,6DAAmC;AACnC,mEAAyC;AACzC,2DAAiC;AACjC,8DAAoC;AACpC,0EAAgD;AAChD,0DAAgC;AAChC,+DAAqC;AACrC,4DAAkC;AAClC,uDAA6B;AAC7B,+DAAqC;AACrC,4DAAkC;AAClC,iDAAuB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theia-app.test.d.ts","sourceRoot":"","sources":["../../src/tests/theia-app.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,30 @@
|
|
|
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
|
+
const test_1 = require("@playwright/test");
|
|
19
|
+
const theia_app_loader_1 = require("../theia-app-loader");
|
|
20
|
+
test_1.test.describe('Theia Application', () => {
|
|
21
|
+
let app;
|
|
22
|
+
test_1.test.afterAll(async () => {
|
|
23
|
+
await app.page.close();
|
|
24
|
+
});
|
|
25
|
+
(0, test_1.test)('should load and should show main content panel', async ({ playwright, browser }) => {
|
|
26
|
+
app = await theia_app_loader_1.TheiaAppLoader.load({ playwright, browser });
|
|
27
|
+
(0, test_1.expect)(await app.isMainContentPanelVisible()).toBe(true);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=theia-app.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theia-app.test.js","sourceRoot":"","sources":["../../src/tests/theia-app.test.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,gFAAgF;AAChF,gFAAgF;;AAEhF,2CAAgD;AAChD,0DAAqD;AAGrD,WAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACpC,IAAI,GAAa,CAAC;IAElB,WAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;QACrB,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,IAAA,WAAI,EAAC,gDAAgD,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE;QACrF,GAAG,GAAG,MAAM,iCAAc,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QACzD,IAAA,aAAM,EAAC,MAAM,GAAG,CAAC,yBAAyB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AAEP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theia-application-shell.test.d.ts","sourceRoot":"","sources":["../../src/tests/theia-application-shell.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2023 Toro Cloud Pty Ltd 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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
const test_1 = require("@playwright/test");
|
|
18
|
+
const path = require("path");
|
|
19
|
+
const theia_app_loader_1 = require("../theia-app-loader");
|
|
20
|
+
const theia_explorer_view_1 = require("../theia-explorer-view");
|
|
21
|
+
const theia_text_editor_1 = require("../theia-text-editor");
|
|
22
|
+
const theia_welcome_view_1 = require("../theia-welcome-view");
|
|
23
|
+
const theia_workspace_1 = require("../theia-workspace");
|
|
24
|
+
test_1.test.describe('Theia Application Shell', () => {
|
|
25
|
+
test_1.test.describe.configure({
|
|
26
|
+
timeout: 120000
|
|
27
|
+
});
|
|
28
|
+
let app;
|
|
29
|
+
test_1.test.beforeAll(async ({ playwright, browser }) => {
|
|
30
|
+
const ws = new theia_workspace_1.TheiaWorkspace([path.resolve(__dirname, '../../src/tests/resources/sample-files1')]);
|
|
31
|
+
app = await theia_app_loader_1.TheiaAppLoader.load({ playwright, browser }, ws);
|
|
32
|
+
// The welcome view must be closed because the memory leak only occurs when there are
|
|
33
|
+
// no tabs left open.
|
|
34
|
+
const welcomeView = new theia_welcome_view_1.TheiaWelcomeView(app);
|
|
35
|
+
if (await welcomeView.isTabVisible()) {
|
|
36
|
+
await welcomeView.close();
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
test_1.test.afterAll(async () => {
|
|
40
|
+
await app.page.close();
|
|
41
|
+
});
|
|
42
|
+
/**
|
|
43
|
+
* The aim of this test is to detect memory leaks when opening and closing editors many times.
|
|
44
|
+
* Remove the skip and run the test, check the logs for any memory leak warnings.
|
|
45
|
+
* It should take less than 2min to run, if it takes longer than that, just increase the timeout.
|
|
46
|
+
*/
|
|
47
|
+
test_1.test.skip('should open and close a text editor many times', async () => {
|
|
48
|
+
for (let i = 0; i < 200; i++) {
|
|
49
|
+
const explorer = await app.openView(theia_explorer_view_1.TheiaExplorerView);
|
|
50
|
+
const fileStatNode = await explorer.getFileStatNodeByLabel('sample.txt');
|
|
51
|
+
const contextMenu = await fileStatNode.openContextMenu();
|
|
52
|
+
await contextMenu.clickMenuItem('Open');
|
|
53
|
+
const textEditor = new theia_text_editor_1.TheiaTextEditor('sample.txt', app);
|
|
54
|
+
await textEditor.waitForVisible();
|
|
55
|
+
await textEditor.close();
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=theia-application-shell.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theia-application-shell.test.js","sourceRoot":"","sources":["../../src/tests/theia-application-shell.test.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;;AAEhF,2CAAwC;AACxC,6BAA6B;AAE7B,0DAAqD;AACrD,gEAA2D;AAC3D,4DAAuD;AACvD,8DAAyD;AACzD,wDAAoD;AAEpD,WAAI,CAAC,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IAC1C,WAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACpB,OAAO,EAAE,MAAM;KAClB,CAAC,CAAC;IAEH,IAAI,GAAa,CAAC;IAElB,WAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE;QAC7C,MAAM,EAAE,GAAG,IAAI,gCAAc,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,yCAAyC,CAAC,CAAC,CAAC,CAAC;QACpG,GAAG,GAAG,MAAM,iCAAc,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAE7D,qFAAqF;QACrF,qBAAqB;QACrB,MAAM,WAAW,GAAG,IAAI,qCAAgB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,MAAM,WAAW,CAAC,YAAY,EAAE,EAAE,CAAC;YACnC,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC;QAC9B,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,WAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;QACrB,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH;;;;OAIG;IACH,WAAI,CAAC,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,uCAAiB,CAAC,CAAC;YAEvD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;YACzE,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAC;YACzD,MAAM,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAExC,MAAM,UAAU,GAAG,IAAI,mCAAe,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YAC1D,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC;YAElC,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theia-explorer-view.test.d.ts","sourceRoot":"","sources":["../../src/tests/theia-explorer-view.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,186 @@
|
|
|
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
|
+
const test_1 = require("@playwright/test");
|
|
19
|
+
const path = require("path");
|
|
20
|
+
const theia_app_loader_1 = require("../theia-app-loader");
|
|
21
|
+
const theia_preference_view_1 = require("../theia-preference-view");
|
|
22
|
+
const theia_explorer_view_1 = require("../theia-explorer-view");
|
|
23
|
+
const theia_workspace_1 = require("../theia-workspace");
|
|
24
|
+
test_1.test.describe('Theia Explorer View', () => {
|
|
25
|
+
let app;
|
|
26
|
+
let explorer;
|
|
27
|
+
test_1.test.beforeAll(async ({ playwright, browser }) => {
|
|
28
|
+
const ws = new theia_workspace_1.TheiaWorkspace([path.resolve(__dirname, '../../src/tests/resources/sample-files1')]);
|
|
29
|
+
app = await theia_app_loader_1.TheiaAppLoader.load({ playwright, browser }, ws);
|
|
30
|
+
if (app.isElectron) {
|
|
31
|
+
// set trash preference to off
|
|
32
|
+
const preferenceView = await app.openPreferences(theia_preference_view_1.TheiaPreferenceView);
|
|
33
|
+
await preferenceView.setBooleanPreferenceById(theia_preference_view_1.PreferenceIds.Files.EnableTrash, false);
|
|
34
|
+
await preferenceView.close();
|
|
35
|
+
}
|
|
36
|
+
explorer = await app.openView(theia_explorer_view_1.TheiaExplorerView);
|
|
37
|
+
await explorer.waitForVisibleFileNodes();
|
|
38
|
+
});
|
|
39
|
+
test_1.test.afterAll(async () => {
|
|
40
|
+
await app.page.close();
|
|
41
|
+
});
|
|
42
|
+
(0, test_1.test)('should be visible and active after being opened', async () => {
|
|
43
|
+
(0, test_1.expect)(await explorer.isTabVisible()).toBe(true);
|
|
44
|
+
(0, test_1.expect)(await explorer.isDisplayed()).toBe(true);
|
|
45
|
+
(0, test_1.expect)(await explorer.isActive()).toBe(true);
|
|
46
|
+
});
|
|
47
|
+
(0, test_1.test)("should be opened at the left and have the title 'Explorer'", async () => {
|
|
48
|
+
(0, test_1.expect)(await explorer.isInSidePanel()).toBe(true);
|
|
49
|
+
(0, test_1.expect)(await explorer.side()).toBe('left');
|
|
50
|
+
(0, test_1.expect)(await explorer.title()).toBe('Explorer');
|
|
51
|
+
});
|
|
52
|
+
(0, test_1.test)('should be possible to close and reopen it', async () => {
|
|
53
|
+
await explorer.close();
|
|
54
|
+
(0, test_1.expect)(await explorer.isTabVisible()).toBe(false);
|
|
55
|
+
explorer = await app.openView(theia_explorer_view_1.TheiaExplorerView);
|
|
56
|
+
(0, test_1.expect)(await explorer.isTabVisible()).toBe(true);
|
|
57
|
+
(0, test_1.expect)(await explorer.isDisplayed()).toBe(true);
|
|
58
|
+
(0, test_1.expect)(await explorer.isActive()).toBe(true);
|
|
59
|
+
});
|
|
60
|
+
(0, test_1.test)('should show one folder named "sampleFolder", one named "sampleFolderCompact" and one file named "sample.txt"', async () => {
|
|
61
|
+
await explorer.selectTreeNode('sampleFolder');
|
|
62
|
+
(0, test_1.expect)(await explorer.isTreeNodeSelected('sampleFolder')).toBe(true);
|
|
63
|
+
const fileStatElements = await explorer.visibleFileStatNodes(theia_explorer_view_1.DOT_FILES_FILTER);
|
|
64
|
+
(0, test_1.expect)(fileStatElements.length).toBe(3);
|
|
65
|
+
let file;
|
|
66
|
+
let folder;
|
|
67
|
+
let compactFolder;
|
|
68
|
+
if (await fileStatElements[0].isFolder()) {
|
|
69
|
+
folder = fileStatElements[0];
|
|
70
|
+
compactFolder = fileStatElements[1];
|
|
71
|
+
file = fileStatElements[2];
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
folder = fileStatElements[2];
|
|
75
|
+
compactFolder = fileStatElements[1];
|
|
76
|
+
file = fileStatElements[0];
|
|
77
|
+
}
|
|
78
|
+
(0, test_1.expect)(await folder.label()).toBe('sampleFolder');
|
|
79
|
+
(0, test_1.expect)(await folder.isFile()).toBe(false);
|
|
80
|
+
(0, test_1.expect)(await folder.isFolder()).toBe(true);
|
|
81
|
+
(0, test_1.expect)(await compactFolder.label()).toBe('sampleFolderCompact');
|
|
82
|
+
(0, test_1.expect)(await compactFolder.isFile()).toBe(false);
|
|
83
|
+
(0, test_1.expect)(await compactFolder.isFolder()).toBe(true);
|
|
84
|
+
(0, test_1.expect)(await file.label()).toBe('sample.txt');
|
|
85
|
+
(0, test_1.expect)(await file.isFolder()).toBe(false);
|
|
86
|
+
(0, test_1.expect)(await file.isFile()).toBe(true);
|
|
87
|
+
});
|
|
88
|
+
(0, test_1.test)('should provide file stat node by single path fragment "sample.txt"', async () => {
|
|
89
|
+
const file = await explorer.getFileStatNodeByLabel('sample.txt');
|
|
90
|
+
(0, test_1.expect)(await file.label()).toBe('sample.txt');
|
|
91
|
+
(0, test_1.expect)(await file.isFolder()).toBe(false);
|
|
92
|
+
(0, test_1.expect)(await file.isFile()).toBe(true);
|
|
93
|
+
});
|
|
94
|
+
(0, test_1.test)('should provide file stat nodes that can define whether they are collapsed or not and that can be expanded and collapsed', async () => {
|
|
95
|
+
const file = await explorer.getFileStatNodeByLabel('sample.txt');
|
|
96
|
+
(0, test_1.expect)(await file.isCollapsed()).toBe(false);
|
|
97
|
+
const folder = await explorer.getFileStatNodeByLabel('sampleFolder');
|
|
98
|
+
(0, test_1.expect)(await folder.isCollapsed()).toBe(true);
|
|
99
|
+
await folder.expand();
|
|
100
|
+
(0, test_1.expect)(await folder.isCollapsed()).toBe(false);
|
|
101
|
+
await folder.collapse();
|
|
102
|
+
(0, test_1.expect)(await folder.isCollapsed()).toBe(true);
|
|
103
|
+
});
|
|
104
|
+
(0, test_1.test)('should provide file stat node by path "sampleFolder/sampleFolder1/sampleFolder1-1/sampleFile1-1-1.txt"', async () => {
|
|
105
|
+
const file = await explorer.fileStatNode('sampleFolder/sampleFolder1/sampleFolder1-1/sampleFile1-1-1.txt');
|
|
106
|
+
if (!file) {
|
|
107
|
+
throw Error('File stat node could not be retrieved by path');
|
|
108
|
+
}
|
|
109
|
+
(0, test_1.expect)(await file.label()).toBe('sampleFile1-1-1.txt');
|
|
110
|
+
});
|
|
111
|
+
(0, test_1.test)('should be able to check if compact folder "sampleFolderCompact/nestedFolder1/nestedFolder2" exists', async () => {
|
|
112
|
+
const fileStatElements = await explorer.visibleFileStatNodes();
|
|
113
|
+
// default setting `explorer.compactFolders=true` renders folders in a compact form - single child folders will be compressed in a combined tree element
|
|
114
|
+
(0, test_1.expect)(await explorer.existsDirectoryNode('sampleFolderCompact/nestedFolder1/nestedFolder2', true /* compact */)).toBe(true);
|
|
115
|
+
// the `existsDirectoryNode` function will expand the folder, hence we wait for the file nodes to increase as we expect a txt child file node
|
|
116
|
+
await explorer.waitForFileNodesToIncrease(fileStatElements.length);
|
|
117
|
+
});
|
|
118
|
+
(0, test_1.test)('should provide file stat node by path of compact folder "sampleFolderCompact/nestedFolder1/nestedFolder2/sampleFile1-1.txt"', async () => {
|
|
119
|
+
const file = await explorer.fileStatNode('sampleFolderCompact/nestedFolder1/nestedFolder2/sampleFile1-1.txt', true /* compact */);
|
|
120
|
+
if (!file) {
|
|
121
|
+
throw Error('File stat node could not be retrieved by path');
|
|
122
|
+
}
|
|
123
|
+
(0, test_1.expect)(await file.label()).toBe('sampleFile1-1.txt');
|
|
124
|
+
});
|
|
125
|
+
(0, test_1.test)('should open context menu on "sample.txt"', async () => {
|
|
126
|
+
const file = await explorer.getFileStatNodeByLabel('sample.txt');
|
|
127
|
+
const menu = await file.openContextMenu();
|
|
128
|
+
(0, test_1.expect)(await menu.isOpen()).toBe(true);
|
|
129
|
+
const menuItems = await menu.visibleMenuItems();
|
|
130
|
+
(0, test_1.expect)(menuItems).toContain('Open');
|
|
131
|
+
(0, test_1.expect)(menuItems).toContain('Delete');
|
|
132
|
+
if (!app.isElectron) {
|
|
133
|
+
(0, test_1.expect)(menuItems).toContain('Download');
|
|
134
|
+
}
|
|
135
|
+
await menu.close();
|
|
136
|
+
(0, test_1.expect)(await menu.isOpen()).toBe(false);
|
|
137
|
+
});
|
|
138
|
+
(0, test_1.test)('should rename "sample.txt"', async () => {
|
|
139
|
+
await explorer.renameNode('sample.txt', 'sample-new.txt');
|
|
140
|
+
(0, test_1.expect)(await explorer.existsFileNode('sample-new.txt')).toBe(true);
|
|
141
|
+
await explorer.renameNode('sample-new.txt', 'sample.txt');
|
|
142
|
+
(0, test_1.expect)(await explorer.existsFileNode('sample.txt')).toBe(true);
|
|
143
|
+
});
|
|
144
|
+
(0, test_1.test)('should open context menu on nested folder segment "nestedFolder1"', async () => {
|
|
145
|
+
(0, test_1.expect)(await explorer.existsDirectoryNode('sampleFolderCompact/nestedFolder1/nestedFolder2', true /* compact */)).toBe(true);
|
|
146
|
+
const folder = await explorer.getFileStatNodeByLabel('sampleFolderCompact/nestedFolder1/nestedFolder2', true /* compact */);
|
|
147
|
+
const menu = await folder.openContextMenuOnSegment('nestedFolder1');
|
|
148
|
+
(0, test_1.expect)(await menu.isOpen()).toBe(true);
|
|
149
|
+
const menuItems = await menu.visibleMenuItems();
|
|
150
|
+
(0, test_1.expect)(menuItems).toContain('New File...');
|
|
151
|
+
(0, test_1.expect)(menuItems).toContain('New Folder...');
|
|
152
|
+
(0, test_1.expect)(menuItems).toContain('Open in Integrated Terminal');
|
|
153
|
+
(0, test_1.expect)(menuItems).toContain('Find in Folder...');
|
|
154
|
+
await menu.close();
|
|
155
|
+
(0, test_1.expect)(await menu.isOpen()).toBe(false);
|
|
156
|
+
});
|
|
157
|
+
(0, test_1.test)('should rename compact folder "sampleFolderCompact" to "sampleDirectoryCompact', async () => {
|
|
158
|
+
(0, test_1.expect)(await explorer.existsDirectoryNode('sampleFolderCompact/nestedFolder1/nestedFolder2', true /* compact */)).toBe(true);
|
|
159
|
+
await explorer.renameNode('sampleFolderCompact/nestedFolder1/nestedFolder2', 'sampleDirectoryCompact', true /* confirm */, 'sampleFolderCompact' /* nodeSegmentLabel */);
|
|
160
|
+
(0, test_1.expect)(await explorer.existsDirectoryNode('sampleDirectoryCompact/nestedFolder1/nestedFolder2', true /* compact */)).toBe(true);
|
|
161
|
+
});
|
|
162
|
+
// TODO These tests only seems to fail on Ubuntu - it's not clear why
|
|
163
|
+
test_1.test.skip('should delete nested folder "sampleDirectoryCompact/nestedFolder1/nestedFolder2"', async () => {
|
|
164
|
+
const fileStatElements = await explorer.visibleFileStatNodes();
|
|
165
|
+
(0, test_1.expect)(await explorer.existsDirectoryNode('sampleDirectoryCompact/nestedFolder1/nestedFolder2', true /* compact */)).toBe(true);
|
|
166
|
+
await explorer.deleteNode('sampleDirectoryCompact/nestedFolder1/nestedFolder2', true /* confirm */, 'nestedFolder2' /* nodeSegmentLabel */);
|
|
167
|
+
await explorer.waitForFileNodesToDecrease(fileStatElements.length);
|
|
168
|
+
const updatedFileStatElements = await explorer.visibleFileStatNodes();
|
|
169
|
+
(0, test_1.expect)(updatedFileStatElements.length).toBe(fileStatElements.length - 1);
|
|
170
|
+
});
|
|
171
|
+
test_1.test.skip('should delete compact folder "sampleDirectoryCompact/nestedFolder1"', async () => {
|
|
172
|
+
const fileStatElements = await explorer.visibleFileStatNodes();
|
|
173
|
+
(0, test_1.expect)(await explorer.existsDirectoryNode('sampleDirectoryCompact/nestedFolder1', true /* compact */)).toBe(true);
|
|
174
|
+
await explorer.deleteNode('sampleDirectoryCompact/nestedFolder1', true /* confirm */, 'sampleDirectoryCompact' /* nodeSegmentLabel */);
|
|
175
|
+
await explorer.waitForFileNodesToDecrease(fileStatElements.length);
|
|
176
|
+
const updatedFileStatElements = await explorer.visibleFileStatNodes();
|
|
177
|
+
(0, test_1.expect)(updatedFileStatElements.length).toBe(fileStatElements.length - 1);
|
|
178
|
+
});
|
|
179
|
+
(0, test_1.test)('open "sample.txt" via the context menu', async () => {
|
|
180
|
+
(0, test_1.expect)(await explorer.existsFileNode('sample.txt')).toBe(true);
|
|
181
|
+
await explorer.clickContextMenuItem('sample.txt', ['Open']);
|
|
182
|
+
const span = await app.page.waitForSelector('span:has-text("content line 2")');
|
|
183
|
+
(0, test_1.expect)(await span.isVisible()).toBe(true);
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
//# sourceMappingURL=theia-explorer-view.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theia-explorer-view.test.js","sourceRoot":"","sources":["../../src/tests/theia-explorer-view.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theia-getting-started.test.d.ts","sourceRoot":"","sources":["../../src/tests/theia-getting-started.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2024 TypeFox 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
|
+
const test_1 = require("@playwright/test");
|
|
19
|
+
const theia_app_loader_1 = require("../theia-app-loader");
|
|
20
|
+
const theia_explorer_view_1 = require("../theia-explorer-view");
|
|
21
|
+
/**
|
|
22
|
+
* Test the Theia welcome page from the getting-started package.
|
|
23
|
+
*/
|
|
24
|
+
test_1.test.describe('Theia Welcome Page', () => {
|
|
25
|
+
let app;
|
|
26
|
+
test_1.test.beforeAll(async ({ playwright, browser }) => {
|
|
27
|
+
app = await theia_app_loader_1.TheiaAppLoader.load({ playwright, browser });
|
|
28
|
+
await app.isMainContentPanelVisible();
|
|
29
|
+
});
|
|
30
|
+
test_1.test.afterAll(async () => {
|
|
31
|
+
await app.page.close();
|
|
32
|
+
});
|
|
33
|
+
(0, test_1.test)('New File... entry should create a new file.', async () => {
|
|
34
|
+
await app.page.getByRole('button', { name: 'New File...' }).click();
|
|
35
|
+
const quickPicker = app.page.getByPlaceholder('Select File Type or Enter');
|
|
36
|
+
await quickPicker.fill('testfile.txt');
|
|
37
|
+
await quickPicker.press('Enter');
|
|
38
|
+
await app.page.getByRole('button', { name: 'Create File' }).click();
|
|
39
|
+
// check file in workspace exists
|
|
40
|
+
const explorer = await app.openView(theia_explorer_view_1.TheiaExplorerView);
|
|
41
|
+
await explorer.refresh();
|
|
42
|
+
await explorer.waitForVisibleFileNodes();
|
|
43
|
+
(0, test_1.expect)(await explorer.existsFileNode('testfile.txt')).toBe(true);
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=theia-getting-started.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theia-getting-started.test.js","sourceRoot":"","sources":["../../src/tests/theia-getting-started.test.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,2CAAgD;AAEhD,0DAAqD;AACrD,gEAA2D;AAE3D;;GAEG;AACH,WAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IACrC,IAAI,GAAa,CAAC;IAElB,WAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE;QAC7C,GAAG,GAAG,MAAM,iCAAc,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QACzD,MAAM,GAAG,CAAC,yBAAyB,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,WAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;QACrB,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,IAAA,WAAI,EAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QACpE,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;QAC3E,MAAM,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvC,MAAM,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAEpE,iCAAiC;QACjC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,uCAAiB,CAAC,CAAC;QACvD,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,QAAQ,CAAC,uBAAuB,EAAE,CAAC;QACzC,IAAA,aAAM,EAAC,MAAM,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theia-main-menu.test.d.ts","sourceRoot":"","sources":["../../src/tests/theia-main-menu.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,111 @@
|
|
|
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
|
+
const test_1 = require("@playwright/test");
|
|
19
|
+
const theia_app_loader_1 = require("../theia-app-loader");
|
|
20
|
+
const theia_about_dialog_1 = require("../theia-about-dialog");
|
|
21
|
+
const util_1 = require("../util");
|
|
22
|
+
const theia_explorer_view_1 = require("../theia-explorer-view");
|
|
23
|
+
test_1.test.describe('Theia Main Menu', () => {
|
|
24
|
+
let app;
|
|
25
|
+
let menuBar;
|
|
26
|
+
test_1.test.beforeAll(async ({ playwright, browser }) => {
|
|
27
|
+
app = await theia_app_loader_1.TheiaAppLoader.load({ playwright, browser });
|
|
28
|
+
menuBar = app.menuBar;
|
|
29
|
+
});
|
|
30
|
+
test_1.test.afterAll(async () => {
|
|
31
|
+
await app.page.close();
|
|
32
|
+
});
|
|
33
|
+
(0, test_1.test)('should show the main menu bar', async () => {
|
|
34
|
+
const menuBarItems = await menuBar.visibleMenuBarItems();
|
|
35
|
+
(0, test_1.expect)(menuBarItems).toContain('File');
|
|
36
|
+
(0, test_1.expect)(menuBarItems).toContain('Edit');
|
|
37
|
+
(0, test_1.expect)(menuBarItems).toContain('Help');
|
|
38
|
+
});
|
|
39
|
+
(0, test_1.test)("should open main menu 'File'", async () => {
|
|
40
|
+
const mainMenu = await menuBar.openMenu('File');
|
|
41
|
+
(0, test_1.expect)(await mainMenu.isOpen()).toBe(true);
|
|
42
|
+
});
|
|
43
|
+
(0, test_1.test)("should show the menu items 'New Text File' and 'New Folder'", async () => {
|
|
44
|
+
const mainMenu = await menuBar.openMenu('File');
|
|
45
|
+
const menuItems = await mainMenu.visibleMenuItems();
|
|
46
|
+
(0, test_1.expect)(menuItems).toContain('New Text File');
|
|
47
|
+
(0, test_1.expect)(menuItems).toContain('New Folder...');
|
|
48
|
+
});
|
|
49
|
+
(0, test_1.test)("should return menu item by name 'New Text File'", async () => {
|
|
50
|
+
const mainMenu = await menuBar.openMenu('File');
|
|
51
|
+
const menuItem = await mainMenu.menuItemByName('New Text File');
|
|
52
|
+
(0, test_1.expect)(menuItem).toBeDefined();
|
|
53
|
+
const label = await (menuItem === null || menuItem === void 0 ? void 0 : menuItem.label());
|
|
54
|
+
(0, test_1.expect)(label).toBe('New Text File');
|
|
55
|
+
const shortCut = await (menuItem === null || menuItem === void 0 ? void 0 : menuItem.shortCut());
|
|
56
|
+
(0, test_1.expect)(shortCut).toBe(util_1.OSUtil.isMacOS ? '⌥ N' : app.isElectron ? 'Ctrl+N' : 'Alt+N');
|
|
57
|
+
const hasSubmenu = await (menuItem === null || menuItem === void 0 ? void 0 : menuItem.hasSubmenu());
|
|
58
|
+
(0, test_1.expect)(hasSubmenu).toBe(false);
|
|
59
|
+
});
|
|
60
|
+
(0, test_1.test)('should detect whether menu item has submenu', async () => {
|
|
61
|
+
const mainMenu = await menuBar.openMenu('File');
|
|
62
|
+
const newFileItem = await mainMenu.menuItemByName('New Text File');
|
|
63
|
+
const settingsItem = await mainMenu.menuItemByName('Preferences');
|
|
64
|
+
(0, test_1.expect)(await (newFileItem === null || newFileItem === void 0 ? void 0 : newFileItem.hasSubmenu())).toBe(false);
|
|
65
|
+
(0, test_1.expect)(await (settingsItem === null || settingsItem === void 0 ? void 0 : settingsItem.hasSubmenu())).toBe(true);
|
|
66
|
+
});
|
|
67
|
+
(0, test_1.test)('should be able to show menu item in submenu by path', async () => {
|
|
68
|
+
const mainMenu = await menuBar.openMenu('File');
|
|
69
|
+
const openPreferencesItem = await mainMenu.menuItemByNamePath('Preferences', 'Settings');
|
|
70
|
+
const label = await (openPreferencesItem === null || openPreferencesItem === void 0 ? void 0 : openPreferencesItem.label());
|
|
71
|
+
(0, test_1.expect)(label).toBe('Settings');
|
|
72
|
+
});
|
|
73
|
+
(0, test_1.test)('should close main menu', async () => {
|
|
74
|
+
const mainMenu = await menuBar.openMenu('File');
|
|
75
|
+
await mainMenu.close();
|
|
76
|
+
(0, test_1.expect)(await mainMenu.isOpen()).toBe(false);
|
|
77
|
+
});
|
|
78
|
+
(0, test_1.test)('open about dialog using menu', async () => {
|
|
79
|
+
await (await menuBar.openMenu('Help')).clickMenuItem('About');
|
|
80
|
+
const aboutDialog = new theia_about_dialog_1.TheiaAboutDialog(app);
|
|
81
|
+
(0, test_1.expect)(await aboutDialog.isVisible()).toBe(true);
|
|
82
|
+
await aboutDialog.page.locator('#theia-dialog-shell').getByRole('button', { name: 'OK' }).click();
|
|
83
|
+
(0, test_1.expect)(await aboutDialog.isVisible()).toBe(false);
|
|
84
|
+
});
|
|
85
|
+
(0, test_1.test)('open file via file menu and cancel', async () => {
|
|
86
|
+
const openFileEntry = app.isElectron ? 'Open File...' : 'Open...';
|
|
87
|
+
await (await menuBar.openMenu('File')).clickMenuItem(openFileEntry);
|
|
88
|
+
const fileDialog = await app.page.waitForSelector('div[class="dialogBlock"]');
|
|
89
|
+
(0, test_1.expect)(await fileDialog.isVisible()).toBe(true);
|
|
90
|
+
await app.page.locator('#theia-dialog-shell').getByRole('button', { name: 'Cancel' }).click();
|
|
91
|
+
(0, test_1.expect)(await fileDialog.isVisible()).toBe(false);
|
|
92
|
+
});
|
|
93
|
+
(0, test_1.test)('Create file via New File menu and accept', async () => {
|
|
94
|
+
await (await menuBar.openMenu('File')).clickMenuItem('New File...');
|
|
95
|
+
const quickPick = app.page.getByPlaceholder('Select File Type or Enter');
|
|
96
|
+
// type file name and press enter
|
|
97
|
+
await quickPick.fill('test.txt');
|
|
98
|
+
await quickPick.press('Enter');
|
|
99
|
+
// check file dialog is opened and accept with ENTER
|
|
100
|
+
const fileDialog = await app.page.waitForSelector('div[class="dialogBlock"]');
|
|
101
|
+
(0, test_1.expect)(await fileDialog.isVisible()).toBe(true);
|
|
102
|
+
await app.page.locator('#theia-dialog-shell').press('Enter');
|
|
103
|
+
(0, test_1.expect)(await fileDialog.isVisible()).toBe(false);
|
|
104
|
+
// check file in workspace exists
|
|
105
|
+
const explorer = await app.openView(theia_explorer_view_1.TheiaExplorerView);
|
|
106
|
+
await explorer.refresh();
|
|
107
|
+
await explorer.waitForVisibleFileNodes();
|
|
108
|
+
(0, test_1.expect)(await explorer.existsFileNode('test.txt')).toBe(true);
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
//# sourceMappingURL=theia-main-menu.test.js.map
|