@theia/playwright 1.48.1 → 1.48.2
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/README.md +54 -54
- package/lib/index.d.ts +30 -30
- package/lib/index.js +48 -48
- package/lib/tests/theia-app.test.d.ts +1 -1
- package/lib/tests/theia-app.test.js +29 -29
- package/lib/tests/theia-application-shell.test.d.ts +1 -1
- package/lib/tests/theia-application-shell.test.js +57 -57
- package/lib/tests/theia-explorer-view.test.d.ts +1 -1
- package/lib/tests/theia-explorer-view.test.js +183 -183
- package/lib/tests/theia-getting-started.test.d.ts +1 -1
- package/lib/tests/theia-getting-started.test.js +45 -45
- package/lib/tests/theia-main-menu.test.d.ts +1 -1
- package/lib/tests/theia-main-menu.test.js +111 -111
- package/lib/tests/theia-output-view.test.d.ts +1 -1
- package/lib/tests/theia-output-view.test.js +78 -78
- package/lib/tests/theia-preference-view.test.d.ts +1 -1
- package/lib/tests/theia-preference-view.test.js +101 -101
- package/lib/tests/theia-problems-view.test.d.ts +1 -1
- package/lib/tests/theia-problems-view.test.js +54 -54
- package/lib/tests/theia-quick-command.test.d.ts +1 -1
- package/lib/tests/theia-quick-command.test.js +69 -69
- package/lib/tests/theia-sample-app.test.d.ts +1 -1
- package/lib/tests/theia-sample-app.test.js +57 -57
- package/lib/tests/theia-status-bar.test.d.ts +1 -1
- package/lib/tests/theia-status-bar.test.js +44 -44
- package/lib/tests/theia-terminal-view.test.d.ts +1 -1
- package/lib/tests/theia-terminal-view.test.js +78 -78
- package/lib/tests/theia-text-editor.test.d.ts +1 -1
- package/lib/tests/theia-text-editor.test.js +155 -155
- package/lib/tests/theia-toolbar.test.d.ts +1 -1
- package/lib/tests/theia-toolbar.test.js +61 -61
- package/lib/tests/theia-workspace.test.d.ts +1 -1
- package/lib/tests/theia-workspace.test.js +72 -72
- package/lib/theia-about-dialog.d.ts +4 -4
- package/lib/theia-about-dialog.js +26 -26
- package/lib/theia-app-loader.d.ts +19 -19
- package/lib/theia-app-loader.js +129 -129
- package/lib/theia-app.d.ts +50 -50
- package/lib/theia-app.js +153 -153
- package/lib/theia-context-menu.d.ts +8 -8
- package/lib/theia-context-menu.js +37 -37
- package/lib/theia-dialog.d.ts +28 -28
- package/lib/theia-dialog.js +99 -99
- package/lib/theia-editor.d.ts +9 -9
- package/lib/theia-editor.js +68 -68
- package/lib/theia-explorer-view.d.ts +47 -47
- package/lib/theia-explorer-view.js +273 -273
- package/lib/theia-main-menu.d.ts +12 -12
- package/lib/theia-main-menu.js +53 -53
- package/lib/theia-menu-item.d.ts +14 -14
- package/lib/theia-menu-item.js +66 -66
- package/lib/theia-menu.d.ts +16 -16
- package/lib/theia-menu.js +86 -86
- package/lib/theia-monaco-editor.d.ts +15 -15
- package/lib/theia-monaco-editor.js +75 -75
- package/lib/theia-notification-indicator.d.ts +7 -7
- package/lib/theia-notification-indicator.js +44 -44
- package/lib/theia-notification-overlay.d.ts +22 -22
- package/lib/theia-notification-overlay.js +79 -79
- package/lib/theia-output-channel.d.ts +24 -24
- package/lib/theia-output-channel.js +71 -71
- package/lib/theia-output-view.d.ts +9 -9
- package/lib/theia-output-view.js +81 -81
- package/lib/theia-page-object.d.ts +7 -7
- package/lib/theia-page-object.js +27 -27
- package/lib/theia-preference-view.d.ts +84 -84
- package/lib/theia-preference-view.js +209 -209
- package/lib/theia-problem-indicator.d.ts +8 -8
- package/lib/theia-problem-indicator.js +38 -38
- package/lib/theia-problem-view.d.ts +5 -5
- package/lib/theia-problem-view.js +30 -30
- package/lib/theia-quick-command-palette.d.ts +12 -12
- package/lib/theia-quick-command-palette.js +78 -78
- package/lib/theia-rename-dialog.d.ts +5 -5
- package/lib/theia-rename-dialog.js +34 -34
- package/lib/theia-status-bar.d.ts +13 -13
- package/lib/theia-status-bar.js +39 -39
- package/lib/theia-status-indicator.d.ts +10 -10
- package/lib/theia-status-indicator.js +48 -48
- package/lib/theia-terminal.d.ts +13 -13
- package/lib/theia-terminal.js +59 -59
- package/lib/theia-text-editor.d.ts +26 -26
- package/lib/theia-text-editor.js +120 -120
- package/lib/theia-toggle-bottom-indicator.d.ts +4 -4
- package/lib/theia-toggle-bottom-indicator.js +26 -26
- package/lib/theia-toolbar-item.d.ts +10 -10
- package/lib/theia-toolbar-item.js +39 -39
- package/lib/theia-toolbar.d.ts +19 -19
- package/lib/theia-toolbar.js +90 -90
- package/lib/theia-tree-node.d.ts +19 -19
- package/lib/theia-tree-node.js +72 -72
- package/lib/theia-view.d.ts +32 -32
- package/lib/theia-view.js +149 -149
- package/lib/theia-welcome-view.d.ts +5 -5
- package/lib/theia-welcome-view.js +30 -30
- package/lib/theia-workspace.d.ts +18 -18
- package/lib/theia-workspace.js +69 -69
- package/lib/util.d.ts +19 -19
- package/lib/util.js +93 -93
- package/package.json +2 -2
- package/src/index.ts +46 -46
- package/src/tests/resources/sample-files1/sample.txt +4 -4
- package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-1/sampleFile1-1-1.txt +1 -1
- package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-1/sampleFile1-1-2.txt +1 -1
- package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-2/sampleFile1-2-1.txt +1 -1
- package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-2/sampleFile1-2-2.txt +1 -1
- package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-1/sampleFile2-1-1.txt +1 -1
- package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-1/sampleFile2-1-2.txt +1 -1
- package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-2/sampleFile2-2-1.txt +1 -1
- package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-2/sampleFile2-2-2.txt +1 -1
- package/src/tests/resources/sample-files2/another-sample.txt +1 -1
- package/src/tests/theia-app.test.ts +33 -33
- package/src/tests/theia-application-shell.test.ts +67 -67
- package/src/tests/theia-explorer-view.test.ts +211 -211
- package/src/tests/theia-getting-started.test.ts +50 -50
- package/src/tests/theia-main-menu.test.ts +133 -133
- package/src/tests/theia-output-view.test.ts +85 -85
- package/src/tests/theia-preference-view.test.ts +122 -122
- package/src/tests/theia-problems-view.test.ts +64 -64
- package/src/tests/theia-quick-command.test.ts +80 -80
- package/src/tests/theia-sample-app.test.ts +66 -66
- package/src/tests/theia-status-bar.test.ts +52 -52
- package/src/tests/theia-terminal-view.test.ts +90 -90
- package/src/tests/theia-text-editor.test.ts +187 -187
- package/src/tests/theia-toolbar.test.ts +69 -69
- package/src/tests/theia-workspace.test.ts +80 -80
- package/src/theia-about-dialog.ts +26 -26
- package/src/theia-app-loader.ts +167 -167
- package/src/theia-app.ts +188 -188
- package/src/theia-context-menu.ts +42 -42
- package/src/theia-dialog.ts +114 -114
- package/src/theia-editor.ts +73 -73
- package/src/theia-explorer-view.ts +311 -311
- package/src/theia-main-menu.ts +54 -54
- package/src/theia-menu-item.ts +75 -75
- package/src/theia-menu.ts +96 -96
- package/src/theia-monaco-editor.ts +83 -83
- package/src/theia-notification-indicator.ts +44 -44
- package/src/theia-notification-overlay.ts +94 -94
- package/src/theia-output-channel.ts +88 -88
- package/src/theia-output-view.ts +87 -87
- package/src/theia-page-object.ts +29 -29
- package/src/theia-preference-view.ts +240 -240
- package/src/theia-problem-indicator.ts +37 -37
- package/src/theia-problem-view.ts +30 -30
- package/src/theia-quick-command-palette.ts +81 -81
- package/src/theia-rename-dialog.ts +35 -35
- package/src/theia-status-bar.ts +44 -44
- package/src/theia-status-indicator.ts +50 -50
- package/src/theia-terminal.ts +69 -69
- package/src/theia-text-editor.ts +141 -141
- package/src/theia-toggle-bottom-indicator.ts +21 -21
- package/src/theia-toolbar-item.ts +41 -41
- package/src/theia-toolbar.ts +99 -99
- package/src/theia-tree-node.ts +81 -81
- package/src/theia-view.ts +177 -177
- package/src/theia-welcome-view.ts +31 -31
- package/src/theia-workspace.ts +76 -76
- package/src/util.ts +91 -91
package/lib/util.js
CHANGED
|
@@ -1,94 +1,94 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// *****************************************************************************
|
|
3
|
-
// Copyright (C) 2021 logi.cals GmbH, EclipseSource and others.
|
|
4
|
-
//
|
|
5
|
-
// This program and the accompanying materials are made available under the
|
|
6
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
//
|
|
9
|
-
// This Source Code may also be made available under the following Secondary
|
|
10
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
// with the GNU Classpath Exception which is available at
|
|
13
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
//
|
|
15
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
-
// *****************************************************************************
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.OSUtil = exports.elementId = exports.isElementVisible = exports.elementContainsClass = exports.containsClass = exports.textContent = exports.isNotNull = exports.isDefined = exports.toTextContentArray = exports.urlEncodePath = exports.normalizeId = exports.USER_KEY_TYPING_DELAY = void 0;
|
|
19
|
-
const os_1 = require("os");
|
|
20
|
-
const path_1 = require("path");
|
|
21
|
-
exports.USER_KEY_TYPING_DELAY = 80;
|
|
22
|
-
function normalizeId(nodeId) {
|
|
23
|
-
// Special characters (i.e. in our case '.',':','/','%', and '\\') in CSS IDs have to be escaped
|
|
24
|
-
return nodeId.replace(/[.:,%/\\]/g, matchedChar => '\\' + matchedChar);
|
|
25
|
-
}
|
|
26
|
-
exports.normalizeId = normalizeId;
|
|
27
|
-
function urlEncodePath(path) {
|
|
28
|
-
return path.replace(/\\/g, '/');
|
|
29
|
-
}
|
|
30
|
-
exports.urlEncodePath = urlEncodePath;
|
|
31
|
-
async function toTextContentArray(items) {
|
|
32
|
-
const contents = items.map(item => item.textContent());
|
|
33
|
-
const resolvedContents = await Promise.all(contents);
|
|
34
|
-
return resolvedContents.filter(text => text !== undefined);
|
|
35
|
-
}
|
|
36
|
-
exports.toTextContentArray = toTextContentArray;
|
|
37
|
-
function isDefined(content) {
|
|
38
|
-
return content !== undefined;
|
|
39
|
-
}
|
|
40
|
-
exports.isDefined = isDefined;
|
|
41
|
-
function isNotNull(content) {
|
|
42
|
-
return content !== null;
|
|
43
|
-
}
|
|
44
|
-
exports.isNotNull = isNotNull;
|
|
45
|
-
async function textContent(elementPromise) {
|
|
46
|
-
const element = await elementPromise;
|
|
47
|
-
if (!element) {
|
|
48
|
-
return undefined;
|
|
49
|
-
}
|
|
50
|
-
const content = await element.textContent();
|
|
51
|
-
return content ? content : undefined;
|
|
52
|
-
}
|
|
53
|
-
exports.textContent = textContent;
|
|
54
|
-
async function containsClass(elementPromise, cssClass) {
|
|
55
|
-
return elementContainsClass(await elementPromise, cssClass);
|
|
56
|
-
}
|
|
57
|
-
exports.containsClass = containsClass;
|
|
58
|
-
async function elementContainsClass(element, cssClass) {
|
|
59
|
-
if (element) {
|
|
60
|
-
const classValue = await element.getAttribute('class');
|
|
61
|
-
if (classValue) {
|
|
62
|
-
return classValue === null || classValue === void 0 ? void 0 : classValue.split(' ').includes(cssClass);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return false;
|
|
66
|
-
}
|
|
67
|
-
exports.elementContainsClass = elementContainsClass;
|
|
68
|
-
async function isElementVisible(elementPromise) {
|
|
69
|
-
const element = await elementPromise;
|
|
70
|
-
return element ? element.isVisible() : false;
|
|
71
|
-
}
|
|
72
|
-
exports.isElementVisible = isElementVisible;
|
|
73
|
-
async function elementId(element) {
|
|
74
|
-
const id = await element.getAttribute('id');
|
|
75
|
-
if (id === null) {
|
|
76
|
-
throw new Error('Could not get ID of ' + element);
|
|
77
|
-
}
|
|
78
|
-
return id;
|
|
79
|
-
}
|
|
80
|
-
exports.elementId = elementId;
|
|
81
|
-
var OSUtil;
|
|
82
|
-
(function (OSUtil) {
|
|
83
|
-
OSUtil.isWindows = (0, os_1.platform)() === 'win32';
|
|
84
|
-
OSUtil.isMacOS = (0, os_1.platform)() === 'darwin';
|
|
85
|
-
// The platform-specific file separator '\' or '/'.
|
|
86
|
-
OSUtil.fileSeparator = path_1.sep;
|
|
87
|
-
// The platform-specific location of the temporary directory.
|
|
88
|
-
OSUtil.tmpDir = (0, os_1.tmpdir)();
|
|
89
|
-
function osStartsWithFileSeparator(path) {
|
|
90
|
-
return path.startsWith(OSUtil.fileSeparator);
|
|
91
|
-
}
|
|
92
|
-
OSUtil.osStartsWithFileSeparator = osStartsWithFileSeparator;
|
|
93
|
-
})(OSUtil = exports.OSUtil || (exports.OSUtil = {}));
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2021 logi.cals GmbH, EclipseSource and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.OSUtil = exports.elementId = exports.isElementVisible = exports.elementContainsClass = exports.containsClass = exports.textContent = exports.isNotNull = exports.isDefined = exports.toTextContentArray = exports.urlEncodePath = exports.normalizeId = exports.USER_KEY_TYPING_DELAY = void 0;
|
|
19
|
+
const os_1 = require("os");
|
|
20
|
+
const path_1 = require("path");
|
|
21
|
+
exports.USER_KEY_TYPING_DELAY = 80;
|
|
22
|
+
function normalizeId(nodeId) {
|
|
23
|
+
// Special characters (i.e. in our case '.',':','/','%', and '\\') in CSS IDs have to be escaped
|
|
24
|
+
return nodeId.replace(/[.:,%/\\]/g, matchedChar => '\\' + matchedChar);
|
|
25
|
+
}
|
|
26
|
+
exports.normalizeId = normalizeId;
|
|
27
|
+
function urlEncodePath(path) {
|
|
28
|
+
return path.replace(/\\/g, '/');
|
|
29
|
+
}
|
|
30
|
+
exports.urlEncodePath = urlEncodePath;
|
|
31
|
+
async function toTextContentArray(items) {
|
|
32
|
+
const contents = items.map(item => item.textContent());
|
|
33
|
+
const resolvedContents = await Promise.all(contents);
|
|
34
|
+
return resolvedContents.filter(text => text !== undefined);
|
|
35
|
+
}
|
|
36
|
+
exports.toTextContentArray = toTextContentArray;
|
|
37
|
+
function isDefined(content) {
|
|
38
|
+
return content !== undefined;
|
|
39
|
+
}
|
|
40
|
+
exports.isDefined = isDefined;
|
|
41
|
+
function isNotNull(content) {
|
|
42
|
+
return content !== null;
|
|
43
|
+
}
|
|
44
|
+
exports.isNotNull = isNotNull;
|
|
45
|
+
async function textContent(elementPromise) {
|
|
46
|
+
const element = await elementPromise;
|
|
47
|
+
if (!element) {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
const content = await element.textContent();
|
|
51
|
+
return content ? content : undefined;
|
|
52
|
+
}
|
|
53
|
+
exports.textContent = textContent;
|
|
54
|
+
async function containsClass(elementPromise, cssClass) {
|
|
55
|
+
return elementContainsClass(await elementPromise, cssClass);
|
|
56
|
+
}
|
|
57
|
+
exports.containsClass = containsClass;
|
|
58
|
+
async function elementContainsClass(element, cssClass) {
|
|
59
|
+
if (element) {
|
|
60
|
+
const classValue = await element.getAttribute('class');
|
|
61
|
+
if (classValue) {
|
|
62
|
+
return classValue === null || classValue === void 0 ? void 0 : classValue.split(' ').includes(cssClass);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
exports.elementContainsClass = elementContainsClass;
|
|
68
|
+
async function isElementVisible(elementPromise) {
|
|
69
|
+
const element = await elementPromise;
|
|
70
|
+
return element ? element.isVisible() : false;
|
|
71
|
+
}
|
|
72
|
+
exports.isElementVisible = isElementVisible;
|
|
73
|
+
async function elementId(element) {
|
|
74
|
+
const id = await element.getAttribute('id');
|
|
75
|
+
if (id === null) {
|
|
76
|
+
throw new Error('Could not get ID of ' + element);
|
|
77
|
+
}
|
|
78
|
+
return id;
|
|
79
|
+
}
|
|
80
|
+
exports.elementId = elementId;
|
|
81
|
+
var OSUtil;
|
|
82
|
+
(function (OSUtil) {
|
|
83
|
+
OSUtil.isWindows = (0, os_1.platform)() === 'win32';
|
|
84
|
+
OSUtil.isMacOS = (0, os_1.platform)() === 'darwin';
|
|
85
|
+
// The platform-specific file separator '\' or '/'.
|
|
86
|
+
OSUtil.fileSeparator = path_1.sep;
|
|
87
|
+
// The platform-specific location of the temporary directory.
|
|
88
|
+
OSUtil.tmpDir = (0, os_1.tmpdir)();
|
|
89
|
+
function osStartsWithFileSeparator(path) {
|
|
90
|
+
return path.startsWith(OSUtil.fileSeparator);
|
|
91
|
+
}
|
|
92
|
+
OSUtil.osStartsWithFileSeparator = osStartsWithFileSeparator;
|
|
93
|
+
})(OSUtil = exports.OSUtil || (exports.OSUtil = {}));
|
|
94
94
|
//# sourceMappingURL=util.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/playwright",
|
|
3
|
-
"version": "1.48.
|
|
3
|
+
"version": "1.48.2",
|
|
4
4
|
"description": "System tests for Theia",
|
|
5
5
|
"license": "EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
"access": "public"
|
|
46
46
|
},
|
|
47
47
|
"main": "lib/index",
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "0e9583d043dde303de7a0f86f68439659f8827b0"
|
|
49
49
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
// *****************************************************************************
|
|
2
|
-
// Copyright (C) 2022 EclipseSource and others.
|
|
3
|
-
//
|
|
4
|
-
// This program and the accompanying materials are made available under the
|
|
5
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
//
|
|
8
|
-
// This Source Code may also be made available under the following Secondary
|
|
9
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
// with the GNU Classpath Exception which is available at
|
|
12
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
-
// *****************************************************************************
|
|
16
|
-
|
|
17
|
-
export * from './theia-about-dialog';
|
|
18
|
-
export * from './theia-app';
|
|
19
|
-
export * from './theia-app-loader';
|
|
20
|
-
export * from './theia-context-menu';
|
|
21
|
-
export * from './theia-dialog';
|
|
22
|
-
export * from './theia-editor';
|
|
23
|
-
export * from './theia-explorer-view';
|
|
24
|
-
export * from './theia-main-menu';
|
|
25
|
-
export * from './theia-menu-item';
|
|
26
|
-
export * from './theia-menu';
|
|
27
|
-
export * from './theia-notification-indicator';
|
|
28
|
-
export * from './theia-notification-overlay';
|
|
29
|
-
export * from './theia-output-channel';
|
|
30
|
-
export * from './theia-output-view';
|
|
31
|
-
export * from './theia-page-object';
|
|
32
|
-
export * from './theia-preference-view';
|
|
33
|
-
export * from './theia-problem-indicator';
|
|
34
|
-
export * from './theia-problem-view';
|
|
35
|
-
export * from './theia-quick-command-palette';
|
|
36
|
-
export * from './theia-rename-dialog';
|
|
37
|
-
export * from './theia-status-bar';
|
|
38
|
-
export * from './theia-status-indicator';
|
|
39
|
-
export * from './theia-text-editor';
|
|
40
|
-
export * from './theia-toggle-bottom-indicator';
|
|
41
|
-
export * from './theia-toolbar';
|
|
42
|
-
export * from './theia-toolbar-item';
|
|
43
|
-
export * from './theia-tree-node';
|
|
44
|
-
export * from './theia-view';
|
|
45
|
-
export * from './theia-workspace';
|
|
46
|
-
export * from './util';
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2022 EclipseSource and others.
|
|
3
|
+
//
|
|
4
|
+
// This program and the accompanying materials are made available under the
|
|
5
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
//
|
|
8
|
+
// This Source Code may also be made available under the following Secondary
|
|
9
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
// with the GNU Classpath Exception which is available at
|
|
12
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
//
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
+
// *****************************************************************************
|
|
16
|
+
|
|
17
|
+
export * from './theia-about-dialog';
|
|
18
|
+
export * from './theia-app';
|
|
19
|
+
export * from './theia-app-loader';
|
|
20
|
+
export * from './theia-context-menu';
|
|
21
|
+
export * from './theia-dialog';
|
|
22
|
+
export * from './theia-editor';
|
|
23
|
+
export * from './theia-explorer-view';
|
|
24
|
+
export * from './theia-main-menu';
|
|
25
|
+
export * from './theia-menu-item';
|
|
26
|
+
export * from './theia-menu';
|
|
27
|
+
export * from './theia-notification-indicator';
|
|
28
|
+
export * from './theia-notification-overlay';
|
|
29
|
+
export * from './theia-output-channel';
|
|
30
|
+
export * from './theia-output-view';
|
|
31
|
+
export * from './theia-page-object';
|
|
32
|
+
export * from './theia-preference-view';
|
|
33
|
+
export * from './theia-problem-indicator';
|
|
34
|
+
export * from './theia-problem-view';
|
|
35
|
+
export * from './theia-quick-command-palette';
|
|
36
|
+
export * from './theia-rename-dialog';
|
|
37
|
+
export * from './theia-status-bar';
|
|
38
|
+
export * from './theia-status-indicator';
|
|
39
|
+
export * from './theia-text-editor';
|
|
40
|
+
export * from './theia-toggle-bottom-indicator';
|
|
41
|
+
export * from './theia-toolbar';
|
|
42
|
+
export * from './theia-toolbar-item';
|
|
43
|
+
export * from './theia-tree-node';
|
|
44
|
+
export * from './theia-view';
|
|
45
|
+
export * from './theia-workspace';
|
|
46
|
+
export * from './util';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
this is just a sample file
|
|
2
|
-
content line 2
|
|
3
|
-
content line 3
|
|
4
|
-
content line 4
|
|
1
|
+
this is just a sample file
|
|
2
|
+
content line 2
|
|
3
|
+
content line 3
|
|
4
|
+
content line 4
|
|
@@ -1 +1 @@
|
|
|
1
|
-
this is just a sample file
|
|
1
|
+
this is just a sample file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
this is just a sample file
|
|
1
|
+
this is just a sample file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
this is just a sample file
|
|
1
|
+
this is just a sample file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
this is just a sample file
|
|
1
|
+
this is just a sample file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
this is just a sample file
|
|
1
|
+
this is just a sample file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
this is just a sample file
|
|
1
|
+
this is just a sample file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
this is just a sample file
|
|
1
|
+
this is just a sample file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
this is just a sample file
|
|
1
|
+
this is just a sample file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
this is just another sample file
|
|
1
|
+
this is just another sample file
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
// *****************************************************************************
|
|
2
|
-
// Copyright (C) 2021 logi.cals GmbH, EclipseSource and others.
|
|
3
|
-
//
|
|
4
|
-
// This program and the accompanying materials are made available under the
|
|
5
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
//
|
|
8
|
-
// This Source Code may also be made available under the following Secondary
|
|
9
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
// with the GNU Classpath Exception which is available at
|
|
12
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
-
// *****************************************************************************
|
|
16
|
-
|
|
17
|
-
import { expect, test } from '@playwright/test';
|
|
18
|
-
import { TheiaAppLoader } from '../theia-app-loader';
|
|
19
|
-
import { TheiaApp } from '../theia-app';
|
|
20
|
-
|
|
21
|
-
test.describe('Theia Application', () => {
|
|
22
|
-
let app: TheiaApp;
|
|
23
|
-
|
|
24
|
-
test.afterAll(async () => {
|
|
25
|
-
await app.page.close();
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
test('should load and should show main content panel', async ({ playwright, browser }) => {
|
|
29
|
-
app = await TheiaAppLoader.load({ playwright, browser });
|
|
30
|
-
expect(await app.isMainContentPanelVisible()).toBe(true);
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
});
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2021 logi.cals GmbH, EclipseSource and others.
|
|
3
|
+
//
|
|
4
|
+
// This program and the accompanying materials are made available under the
|
|
5
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
//
|
|
8
|
+
// This Source Code may also be made available under the following Secondary
|
|
9
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
// with the GNU Classpath Exception which is available at
|
|
12
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
//
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
+
// *****************************************************************************
|
|
16
|
+
|
|
17
|
+
import { expect, test } from '@playwright/test';
|
|
18
|
+
import { TheiaAppLoader } from '../theia-app-loader';
|
|
19
|
+
import { TheiaApp } from '../theia-app';
|
|
20
|
+
|
|
21
|
+
test.describe('Theia Application', () => {
|
|
22
|
+
let app: TheiaApp;
|
|
23
|
+
|
|
24
|
+
test.afterAll(async () => {
|
|
25
|
+
await app.page.close();
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
test('should load and should show main content panel', async ({ playwright, browser }) => {
|
|
29
|
+
app = await TheiaAppLoader.load({ playwright, browser });
|
|
30
|
+
expect(await app.isMainContentPanelVisible()).toBe(true);
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
});
|
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
// *****************************************************************************
|
|
2
|
-
// Copyright (C) 2023 Toro Cloud Pty Ltd and others.
|
|
3
|
-
//
|
|
4
|
-
// This program and the accompanying materials are made available under the
|
|
5
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
//
|
|
8
|
-
// This Source Code may also be made available under the following Secondary
|
|
9
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
// with the GNU Classpath Exception which is available at
|
|
12
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
-
|
|
16
|
-
import { test } from '@playwright/test';
|
|
17
|
-
import { TheiaApp } from '../theia-app';
|
|
18
|
-
import { TheiaAppLoader } from '../theia-app-loader';
|
|
19
|
-
import { TheiaExplorerView } from '../theia-explorer-view';
|
|
20
|
-
import { TheiaTextEditor } from '../theia-text-editor';
|
|
21
|
-
import { TheiaWelcomeView } from '../theia-welcome-view';
|
|
22
|
-
import { TheiaWorkspace } from '../theia-workspace';
|
|
23
|
-
|
|
24
|
-
test.describe('Theia Application Shell', () => {
|
|
25
|
-
test.describe.configure({
|
|
26
|
-
timeout: 120000
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
let app: TheiaApp;
|
|
30
|
-
|
|
31
|
-
test.beforeAll(async ({ playwright, browser }) => {
|
|
32
|
-
const ws = new TheiaWorkspace(['src/tests/resources/sample-files1']);
|
|
33
|
-
app = await TheiaAppLoader.load({ playwright, browser }, ws);
|
|
34
|
-
|
|
35
|
-
// The welcome view must be closed because the memory leak only occurs when there are
|
|
36
|
-
// no tabs left open.
|
|
37
|
-
const welcomeView = new TheiaWelcomeView(app);
|
|
38
|
-
|
|
39
|
-
if (await welcomeView.isTabVisible()) {
|
|
40
|
-
await welcomeView.close();
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
test.afterAll(async () => {
|
|
45
|
-
await app.page.close();
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* The aim of this test is to detect memory leaks when opening and closing editors many times.
|
|
50
|
-
* Remove the skip and run the test, check the logs for any memory leak warnings.
|
|
51
|
-
* It should take less than 2min to run, if it takes longer than that, just increase the timeout.
|
|
52
|
-
*/
|
|
53
|
-
test.skip('should open and close a text editor many times', async () => {
|
|
54
|
-
for (let i = 0; i < 200; i++) {
|
|
55
|
-
const explorer = await app.openView(TheiaExplorerView);
|
|
56
|
-
|
|
57
|
-
const fileStatNode = await explorer.getFileStatNodeByLabel('sample.txt');
|
|
58
|
-
const contextMenu = await fileStatNode.openContextMenu();
|
|
59
|
-
await contextMenu.clickMenuItem('Open');
|
|
60
|
-
|
|
61
|
-
const textEditor = new TheiaTextEditor('sample.txt', app);
|
|
62
|
-
await textEditor.waitForVisible();
|
|
63
|
-
|
|
64
|
-
await textEditor.close();
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
});
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2023 Toro Cloud Pty Ltd and others.
|
|
3
|
+
//
|
|
4
|
+
// This program and the accompanying materials are made available under the
|
|
5
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
//
|
|
8
|
+
// This Source Code may also be made available under the following Secondary
|
|
9
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
// with the GNU Classpath Exception which is available at
|
|
12
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
//
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
+
|
|
16
|
+
import { test } from '@playwright/test';
|
|
17
|
+
import { TheiaApp } from '../theia-app';
|
|
18
|
+
import { TheiaAppLoader } from '../theia-app-loader';
|
|
19
|
+
import { TheiaExplorerView } from '../theia-explorer-view';
|
|
20
|
+
import { TheiaTextEditor } from '../theia-text-editor';
|
|
21
|
+
import { TheiaWelcomeView } from '../theia-welcome-view';
|
|
22
|
+
import { TheiaWorkspace } from '../theia-workspace';
|
|
23
|
+
|
|
24
|
+
test.describe('Theia Application Shell', () => {
|
|
25
|
+
test.describe.configure({
|
|
26
|
+
timeout: 120000
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
let app: TheiaApp;
|
|
30
|
+
|
|
31
|
+
test.beforeAll(async ({ playwright, browser }) => {
|
|
32
|
+
const ws = new TheiaWorkspace(['src/tests/resources/sample-files1']);
|
|
33
|
+
app = await TheiaAppLoader.load({ playwright, browser }, ws);
|
|
34
|
+
|
|
35
|
+
// The welcome view must be closed because the memory leak only occurs when there are
|
|
36
|
+
// no tabs left open.
|
|
37
|
+
const welcomeView = new TheiaWelcomeView(app);
|
|
38
|
+
|
|
39
|
+
if (await welcomeView.isTabVisible()) {
|
|
40
|
+
await welcomeView.close();
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
test.afterAll(async () => {
|
|
45
|
+
await app.page.close();
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* The aim of this test is to detect memory leaks when opening and closing editors many times.
|
|
50
|
+
* Remove the skip and run the test, check the logs for any memory leak warnings.
|
|
51
|
+
* It should take less than 2min to run, if it takes longer than that, just increase the timeout.
|
|
52
|
+
*/
|
|
53
|
+
test.skip('should open and close a text editor many times', async () => {
|
|
54
|
+
for (let i = 0; i < 200; i++) {
|
|
55
|
+
const explorer = await app.openView(TheiaExplorerView);
|
|
56
|
+
|
|
57
|
+
const fileStatNode = await explorer.getFileStatNodeByLabel('sample.txt');
|
|
58
|
+
const contextMenu = await fileStatNode.openContextMenu();
|
|
59
|
+
await contextMenu.clickMenuItem('Open');
|
|
60
|
+
|
|
61
|
+
const textEditor = new TheiaTextEditor('sample.txt', app);
|
|
62
|
+
await textEditor.waitForVisible();
|
|
63
|
+
|
|
64
|
+
await textEditor.close();
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
});
|