@theia/playwright 1.45.1 → 1.46.0-next.137

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/lib/index.js +31 -40
  2. package/lib/index.js.map +1 -1
  3. package/lib/tests/theia-application-shell.test.d.ts +2 -0
  4. package/lib/tests/theia-application-shell.test.d.ts.map +1 -0
  5. package/lib/tests/theia-application-shell.test.js +58 -0
  6. package/lib/tests/theia-application-shell.test.js.map +1 -0
  7. package/lib/tests/theia-getting-started.test.d.ts +2 -0
  8. package/lib/tests/theia-getting-started.test.d.ts.map +1 -0
  9. package/lib/tests/theia-getting-started.test.js +46 -0
  10. package/lib/tests/theia-getting-started.test.js.map +1 -0
  11. package/lib/tests/theia-main-menu.test.js +19 -0
  12. package/lib/tests/theia-main-menu.test.js.map +1 -1
  13. package/lib/theia-quick-command-palette.d.ts.map +1 -1
  14. package/lib/theia-quick-command-palette.js +5 -7
  15. package/lib/theia-quick-command-palette.js.map +1 -1
  16. package/lib/theia-rename-dialog.d.ts.map +1 -1
  17. package/lib/theia-rename-dialog.js +3 -4
  18. package/lib/theia-rename-dialog.js.map +1 -1
  19. package/lib/theia-terminal.js +1 -1
  20. package/lib/theia-welcome-view.d.ts +6 -0
  21. package/lib/theia-welcome-view.d.ts.map +1 -0
  22. package/lib/theia-welcome-view.js +31 -0
  23. package/lib/theia-welcome-view.js.map +1 -0
  24. package/package.json +2 -2
  25. package/src/tests/theia-application-shell.test.ts +67 -0
  26. package/src/tests/theia-getting-started.test.ts +50 -0
  27. package/src/tests/theia-main-menu.test.ts +21 -0
  28. package/src/theia-quick-command-palette.ts +5 -7
  29. package/src/theia-rename-dialog.ts +4 -5
  30. package/src/theia-terminal.ts +1 -1
  31. package/src/theia-welcome-view.ts +31 -0
package/lib/index.js CHANGED
@@ -14,45 +14,36 @@
14
14
  //
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
- if (k2 === undefined) k2 = k;
19
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
20
- }) : (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- o[k2] = m[k];
23
- }));
24
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
25
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
26
- };
27
17
  Object.defineProperty(exports, "__esModule", { value: true });
28
- __exportStar(require("./theia-about-dialog"), exports);
29
- __exportStar(require("./theia-app"), exports);
30
- __exportStar(require("./theia-app-loader"), exports);
31
- __exportStar(require("./theia-context-menu"), exports);
32
- __exportStar(require("./theia-dialog"), exports);
33
- __exportStar(require("./theia-editor"), exports);
34
- __exportStar(require("./theia-explorer-view"), exports);
35
- __exportStar(require("./theia-main-menu"), exports);
36
- __exportStar(require("./theia-menu-item"), exports);
37
- __exportStar(require("./theia-menu"), exports);
38
- __exportStar(require("./theia-notification-indicator"), exports);
39
- __exportStar(require("./theia-notification-overlay"), exports);
40
- __exportStar(require("./theia-output-channel"), exports);
41
- __exportStar(require("./theia-output-view"), exports);
42
- __exportStar(require("./theia-page-object"), exports);
43
- __exportStar(require("./theia-preference-view"), exports);
44
- __exportStar(require("./theia-problem-indicator"), exports);
45
- __exportStar(require("./theia-problem-view"), exports);
46
- __exportStar(require("./theia-quick-command-palette"), exports);
47
- __exportStar(require("./theia-rename-dialog"), exports);
48
- __exportStar(require("./theia-status-bar"), exports);
49
- __exportStar(require("./theia-status-indicator"), exports);
50
- __exportStar(require("./theia-text-editor"), exports);
51
- __exportStar(require("./theia-toggle-bottom-indicator"), exports);
52
- __exportStar(require("./theia-toolbar"), exports);
53
- __exportStar(require("./theia-toolbar-item"), exports);
54
- __exportStar(require("./theia-tree-node"), exports);
55
- __exportStar(require("./theia-view"), exports);
56
- __exportStar(require("./theia-workspace"), exports);
57
- __exportStar(require("./util"), exports);
18
+ const tslib_1 = require("tslib");
19
+ (0, tslib_1.__exportStar)(require("./theia-about-dialog"), exports);
20
+ (0, tslib_1.__exportStar)(require("./theia-app"), exports);
21
+ (0, tslib_1.__exportStar)(require("./theia-app-loader"), exports);
22
+ (0, tslib_1.__exportStar)(require("./theia-context-menu"), exports);
23
+ (0, tslib_1.__exportStar)(require("./theia-dialog"), exports);
24
+ (0, tslib_1.__exportStar)(require("./theia-editor"), exports);
25
+ (0, tslib_1.__exportStar)(require("./theia-explorer-view"), exports);
26
+ (0, tslib_1.__exportStar)(require("./theia-main-menu"), exports);
27
+ (0, tslib_1.__exportStar)(require("./theia-menu-item"), exports);
28
+ (0, tslib_1.__exportStar)(require("./theia-menu"), exports);
29
+ (0, tslib_1.__exportStar)(require("./theia-notification-indicator"), exports);
30
+ (0, tslib_1.__exportStar)(require("./theia-notification-overlay"), exports);
31
+ (0, tslib_1.__exportStar)(require("./theia-output-channel"), exports);
32
+ (0, tslib_1.__exportStar)(require("./theia-output-view"), exports);
33
+ (0, tslib_1.__exportStar)(require("./theia-page-object"), exports);
34
+ (0, tslib_1.__exportStar)(require("./theia-preference-view"), exports);
35
+ (0, tslib_1.__exportStar)(require("./theia-problem-indicator"), exports);
36
+ (0, tslib_1.__exportStar)(require("./theia-problem-view"), exports);
37
+ (0, tslib_1.__exportStar)(require("./theia-quick-command-palette"), exports);
38
+ (0, tslib_1.__exportStar)(require("./theia-rename-dialog"), exports);
39
+ (0, tslib_1.__exportStar)(require("./theia-status-bar"), exports);
40
+ (0, tslib_1.__exportStar)(require("./theia-status-indicator"), exports);
41
+ (0, tslib_1.__exportStar)(require("./theia-text-editor"), exports);
42
+ (0, tslib_1.__exportStar)(require("./theia-toggle-bottom-indicator"), exports);
43
+ (0, tslib_1.__exportStar)(require("./theia-toolbar"), exports);
44
+ (0, tslib_1.__exportStar)(require("./theia-toolbar-item"), exports);
45
+ (0, tslib_1.__exportStar)(require("./theia-tree-node"), exports);
46
+ (0, tslib_1.__exportStar)(require("./theia-view"), exports);
47
+ (0, tslib_1.__exportStar)(require("./theia-workspace"), exports);
48
+ (0, tslib_1.__exportStar)(require("./util"), exports);
58
49
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +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,uDAAqC;AACrC,8CAA4B;AAC5B,qDAAmC;AACnC,uDAAqC;AACrC,iDAA+B;AAC/B,iDAA+B;AAC/B,wDAAsC;AACtC,oDAAkC;AAClC,oDAAkC;AAClC,+CAA6B;AAC7B,iEAA+C;AAC/C,+DAA6C;AAC7C,yDAAuC;AACvC,sDAAoC;AACpC,sDAAoC;AACpC,0DAAwC;AACxC,4DAA0C;AAC1C,uDAAqC;AACrC,gEAA8C;AAC9C,wDAAsC;AACtC,qDAAmC;AACnC,2DAAyC;AACzC,sDAAoC;AACpC,kEAAgD;AAChD,kDAAgC;AAChC,uDAAqC;AACrC,oDAAkC;AAClC,+CAA6B;AAC7B,oDAAkC;AAClC,yCAAuB"}
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,oEAAqC;AACrC,2DAA4B;AAC5B,kEAAmC;AACnC,oEAAqC;AACrC,8DAA+B;AAC/B,8DAA+B;AAC/B,qEAAsC;AACtC,iEAAkC;AAClC,iEAAkC;AAClC,4DAA6B;AAC7B,8EAA+C;AAC/C,4EAA6C;AAC7C,sEAAuC;AACvC,mEAAoC;AACpC,mEAAoC;AACpC,uEAAwC;AACxC,yEAA0C;AAC1C,oEAAqC;AACrC,6EAA8C;AAC9C,qEAAsC;AACtC,kEAAmC;AACnC,wEAAyC;AACzC,mEAAoC;AACpC,+EAAgD;AAChD,+DAAgC;AAChC,oEAAqC;AACrC,iEAAkC;AAClC,4DAA6B;AAC7B,iEAAkC;AAClC,sDAAuB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=theia-application-shell.test.d.ts.map
@@ -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,58 @@
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 theia_app_loader_1 = require("../theia-app-loader");
19
+ const theia_explorer_view_1 = require("../theia-explorer-view");
20
+ const theia_text_editor_1 = require("../theia-text-editor");
21
+ const theia_welcome_view_1 = require("../theia-welcome-view");
22
+ const theia_workspace_1 = require("../theia-workspace");
23
+ test_1.test.describe('Theia Application Shell', () => {
24
+ test_1.test.describe.configure({
25
+ timeout: 120000
26
+ });
27
+ let app;
28
+ test_1.test.beforeAll(async ({ playwright, browser }) => {
29
+ const ws = new theia_workspace_1.TheiaWorkspace(['src/tests/resources/sample-files1']);
30
+ app = await theia_app_loader_1.TheiaAppLoader.load({ playwright, browser }, ws);
31
+ // The welcome view must be closed because the memory leak only occurs when there are
32
+ // no tabs left open.
33
+ const welcomeView = new theia_welcome_view_1.TheiaWelcomeView(app);
34
+ if (await welcomeView.isTabVisible()) {
35
+ await welcomeView.close();
36
+ }
37
+ });
38
+ test_1.test.afterAll(async () => {
39
+ await app.page.close();
40
+ });
41
+ /**
42
+ * The aim of this test is to detect memory leaks when opening and closing editors many times.
43
+ * Remove the skip and run the test, check the logs for any memory leak warnings.
44
+ * It should take less than 2min to run, if it takes longer than that, just increase the timeout.
45
+ */
46
+ test_1.test.skip('should open and close a text editor many times', async () => {
47
+ for (let i = 0; i < 200; i++) {
48
+ const explorer = await app.openView(theia_explorer_view_1.TheiaExplorerView);
49
+ const fileStatNode = await explorer.getFileStatNodeByLabel('sample.txt');
50
+ const contextMenu = await fileStatNode.openContextMenu();
51
+ await contextMenu.clickMenuItem('Open');
52
+ const textEditor = new theia_text_editor_1.TheiaTextEditor('sample.txt', app);
53
+ await textEditor.waitForVisible();
54
+ await textEditor.close();
55
+ }
56
+ });
57
+ });
58
+ //# 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;AAExC,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,mCAAmC,CAAC,CAAC,CAAC;QACrE,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;YAClC,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC;SAC7B;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;YAC1B,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;SAC5B;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=theia-getting-started.test.d.ts.map
@@ -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"}
@@ -19,6 +19,7 @@ const test_1 = require("@playwright/test");
19
19
  const theia_app_loader_1 = require("../theia-app-loader");
20
20
  const theia_about_dialog_1 = require("../theia-about-dialog");
21
21
  const util_1 = require("../util");
22
+ const theia_explorer_view_1 = require("../theia-explorer-view");
22
23
  test_1.test.describe('Theia Main Menu', () => {
23
24
  let app;
24
25
  let menuBar;
@@ -89,5 +90,23 @@ test_1.test.describe('Theia Main Menu', () => {
89
90
  await app.page.locator('#theia-dialog-shell').getByRole('button', { name: 'Cancel' }).click();
90
91
  (0, test_1.expect)(await fileDialog.isVisible()).toBe(false);
91
92
  });
93
+ (0, test_1.test)('Create file via New File menu and cancel', async () => {
94
+ const openFileEntry = 'New File...';
95
+ await (await menuBar.openMenu('File')).clickMenuItem(openFileEntry);
96
+ const quickPick = app.page.getByPlaceholder('Select File Type or Enter');
97
+ // type file name and press enter
98
+ await quickPick.fill('test.txt');
99
+ await quickPick.press('Enter');
100
+ // check file dialog is opened and accept with "Create File" button
101
+ const fileDialog = await app.page.waitForSelector('div[class="dialogBlock"]');
102
+ (0, test_1.expect)(await fileDialog.isVisible()).toBe(true);
103
+ await app.page.locator('#theia-dialog-shell').getByRole('button', { name: 'Create File' }).click();
104
+ (0, test_1.expect)(await fileDialog.isVisible()).toBe(false);
105
+ // check file in workspace exists
106
+ const explorer = await app.openView(theia_explorer_view_1.TheiaExplorerView);
107
+ await explorer.refresh();
108
+ await explorer.waitForVisibleFileNodes();
109
+ (0, test_1.expect)(await explorer.existsFileNode('test.txt')).toBe(true);
110
+ });
92
111
  });
93
112
  //# sourceMappingURL=theia-main-menu.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theia-main-menu.test.js","sourceRoot":"","sources":["../../src/tests/theia-main-menu.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theia-main-menu.test.js","sourceRoot":"","sources":["../../src/tests/theia-main-menu.test.ts"],"names":[],"mappings":"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"}
@@ -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,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"}
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;cAYzC,eAAe,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC;CAO7F"}
@@ -60,13 +60,11 @@ class TheiaQuickCommandPalette extends theia_page_object_1.TheiaPageObject {
60
60
  if (!await this.isOpen()) {
61
61
  this.open();
62
62
  }
63
- const input = await this.page.waitForSelector(`${this.selector} .monaco-inputbox .input`);
64
- if (input != null) {
65
- await input.focus();
66
- await input.type(value, { delay: util_1.USER_KEY_TYPING_DELAY });
67
- if (confirm) {
68
- await this.page.keyboard.press('Enter');
69
- }
63
+ const input = this.page.locator(`${this.selector} .monaco-inputbox .input`);
64
+ await input.focus();
65
+ await input.pressSequentially(value, { delay: util_1.USER_KEY_TYPING_DELAY });
66
+ if (confirm) {
67
+ await this.page.keyboard.press('Enter');
70
68
  }
71
69
  }
72
70
  async selectedCommand() {
@@ -1 +1 @@
1
- {"version":3,"file":"theia-quick-command-palette.js","sourceRoot":"","sources":["../src/theia-quick-command-palette.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theia-quick-command-palette.js","sourceRoot":"","sources":["../src/theia-quick-command-palette.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"theia-rename-dialog.d.ts","sourceRoot":"","sources":["../src/theia-rename-dialog.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,qBAAa,iBAAkB,SAAQ,WAAW;IAExC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAOjC"}
1
+ {"version":3,"file":"theia-rename-dialog.d.ts","sourceRoot":"","sources":["../src/theia-rename-dialog.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,qBAAa,iBAAkB,SAAQ,WAAW;IAExC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAOjC"}
@@ -20,10 +20,9 @@ const theia_dialog_1 = require("./theia-dialog");
20
20
  const util_1 = require("./util");
21
21
  class TheiaRenameDialog extends theia_dialog_1.TheiaDialog {
22
22
  async enterNewName(newName) {
23
- const inputField = await this.page.waitForSelector(`${this.blockSelector} .theia-input`);
24
- await inputField.press(util_1.OSUtil.isMacOS ? 'Meta+a' : 'Control+a');
25
- await inputField.type(newName, { delay: util_1.USER_KEY_TYPING_DELAY });
26
- await this.page.waitForTimeout(util_1.USER_KEY_TYPING_DELAY);
23
+ const inputField = this.page.locator(`${this.blockSelector} .theia-input`);
24
+ await inputField.selectText();
25
+ await inputField.pressSequentially(newName, { delay: util_1.USER_KEY_TYPING_DELAY });
27
26
  }
28
27
  async confirm() {
29
28
  if (!await this.validationResult()) {
@@ -1 +1 @@
1
- {"version":3,"file":"theia-rename-dialog.js","sourceRoot":"","sources":["../src/theia-rename-dialog.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,iDAA6C;AAC7C,iCAAuD;AAEvD,MAAa,iBAAkB,SAAQ,0BAAW;IAE9C,KAAK,CAAC,YAAY,CAAC,OAAe;QAC9B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,eAAe,CAAC,CAAC;QACzF,MAAM,UAAU,CAAC,KAAK,CAAC,aAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,4BAAqB,EAAE,CAAC,CAAC;QACjE,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,4BAAqB,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,OAAO;QACT,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,sDAAsD,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;SAC3G;QACD,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC;CAEJ;AAhBD,8CAgBC"}
1
+ {"version":3,"file":"theia-rename-dialog.js","sourceRoot":"","sources":["../src/theia-rename-dialog.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,iDAA6C;AAC7C,iCAA+C;AAE/C,MAAa,iBAAkB,SAAQ,0BAAW;IAE9C,KAAK,CAAC,YAAY,CAAC,OAAe;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,aAAa,eAAe,CAAC,CAAC;QAC3E,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;QAC9B,MAAM,UAAU,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,4BAAqB,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,OAAO;QACT,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,sDAAsD,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;SAC3G;QACD,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IACjC,CAAC;CAEJ;AAfD,8CAeC"}
@@ -33,7 +33,7 @@ class TheiaTerminal extends theia_view_1.TheiaView {
33
33
  async write(text) {
34
34
  await this.activate();
35
35
  const input = await this.waitForInputArea();
36
- await input.type(text);
36
+ await input.fill(text);
37
37
  }
38
38
  async contents() {
39
39
  await this.activate();
@@ -0,0 +1,6 @@
1
+ import { TheiaApp } from './theia-app';
2
+ import { TheiaView } from './theia-view';
3
+ export declare class TheiaWelcomeView extends TheiaView {
4
+ constructor(app: TheiaApp);
5
+ }
6
+ //# sourceMappingURL=theia-welcome-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-welcome-view.d.ts","sourceRoot":"","sources":["../src/theia-welcome-view.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzC,qBAAa,gBAAiB,SAAQ,SAAS;gBAE/B,GAAG,EAAE,QAAQ;CAG5B"}
@@ -0,0 +1,31 @@
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
+ exports.TheiaWelcomeView = void 0;
18
+ const theia_view_1 = require("./theia-view");
19
+ const util_1 = require("./util");
20
+ const TheiaWelcomeViewData = {
21
+ tabSelector: (0, util_1.normalizeId)('#shell-tab-getting.started.widget'),
22
+ viewSelector: (0, util_1.normalizeId)('#getting.started.widget'),
23
+ viewName: 'Welcome'
24
+ };
25
+ class TheiaWelcomeView extends theia_view_1.TheiaView {
26
+ constructor(app) {
27
+ super(TheiaWelcomeViewData, app);
28
+ }
29
+ }
30
+ exports.TheiaWelcomeView = TheiaWelcomeView;
31
+ //# sourceMappingURL=theia-welcome-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theia-welcome-view.js","sourceRoot":"","sources":["../src/theia-welcome-view.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;;;AAGhF,6CAAyC;AACzC,iCAAqC;AAErC,MAAM,oBAAoB,GAAG;IACzB,WAAW,EAAE,IAAA,kBAAW,EAAC,mCAAmC,CAAC;IAC7D,YAAY,EAAE,IAAA,kBAAW,EAAC,yBAAyB,CAAC;IACpD,QAAQ,EAAE,SAAS;CACtB,CAAC;AAEF,MAAa,gBAAiB,SAAQ,sBAAS;IAE3C,YAAY,GAAa;QACrB,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;CACJ;AALD,4CAKC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theia/playwright",
3
- "version": "1.45.1",
3
+ "version": "1.46.0-next.137+bce99c299",
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": "3837c50544190b80d0ad8e87aa9fa9f286c70fcc"
48
+ "gitHead": "bce99c299d7a01573330482ce26563eb6b00a6e9"
49
49
  }
@@ -0,0 +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
+ });
@@ -0,0 +1,50 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2024 TypeFox 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 { TheiaApp } from '../theia-app';
19
+ import { TheiaAppLoader } from '../theia-app-loader';
20
+ import { TheiaExplorerView } from '../theia-explorer-view';
21
+
22
+ /**
23
+ * Test the Theia welcome page from the getting-started package.
24
+ */
25
+ test.describe('Theia Welcome Page', () => {
26
+ let app: TheiaApp;
27
+
28
+ test.beforeAll(async ({ playwright, browser }) => {
29
+ app = await TheiaAppLoader.load({ playwright, browser });
30
+ await app.isMainContentPanelVisible();
31
+ });
32
+
33
+ test.afterAll(async () => {
34
+ await app.page.close();
35
+ });
36
+
37
+ test('New File... entry should create a new file.', async () => {
38
+ await app.page.getByRole('button', { name: 'New File...' }).click();
39
+ const quickPicker = app.page.getByPlaceholder('Select File Type or Enter');
40
+ await quickPicker.fill('testfile.txt');
41
+ await quickPicker.press('Enter');
42
+ await app.page.getByRole('button', { name: 'Create File' }).click();
43
+
44
+ // check file in workspace exists
45
+ const explorer = await app.openView(TheiaExplorerView);
46
+ await explorer.refresh();
47
+ await explorer.waitForVisibleFileNodes();
48
+ expect(await explorer.existsFileNode('testfile.txt')).toBe(true);
49
+ });
50
+ });
@@ -20,6 +20,7 @@ import { TheiaAppLoader } from '../theia-app-loader';
20
20
  import { TheiaAboutDialog } from '../theia-about-dialog';
21
21
  import { TheiaMenuBar } from '../theia-main-menu';
22
22
  import { OSUtil } from '../util';
23
+ import { TheiaExplorerView } from '../theia-explorer-view';
23
24
 
24
25
  test.describe('Theia Main Menu', () => {
25
26
 
@@ -109,4 +110,24 @@ test.describe('Theia Main Menu', () => {
109
110
  expect(await fileDialog.isVisible()).toBe(false);
110
111
  });
111
112
 
113
+ test('Create file via New File menu and cancel', async () => {
114
+ const openFileEntry = 'New File...';
115
+ await (await menuBar.openMenu('File')).clickMenuItem(openFileEntry);
116
+ const quickPick = app.page.getByPlaceholder('Select File Type or Enter');
117
+ // type file name and press enter
118
+ await quickPick.fill('test.txt');
119
+ await quickPick.press('Enter');
120
+
121
+ // check file dialog is opened and accept with "Create File" button
122
+ const fileDialog = await app.page.waitForSelector('div[class="dialogBlock"]');
123
+ expect(await fileDialog.isVisible()).toBe(true);
124
+ await app.page.locator('#theia-dialog-shell').getByRole('button', { name: 'Create File' }).click();
125
+ expect(await fileDialog.isVisible()).toBe(false);
126
+
127
+ // check file in workspace exists
128
+ const explorer = await app.openView(TheiaExplorerView);
129
+ await explorer.refresh();
130
+ await explorer.waitForVisibleFileNodes();
131
+ expect(await explorer.existsFileNode('test.txt')).toBe(true);
132
+ });
112
133
  });
@@ -63,13 +63,11 @@ export class TheiaQuickCommandPalette extends TheiaPageObject {
63
63
  if (!await this.isOpen()) {
64
64
  this.open();
65
65
  }
66
- const input = await this.page.waitForSelector(`${this.selector} .monaco-inputbox .input`);
67
- if (input != null) {
68
- await input.focus();
69
- await input.type(value, { delay: USER_KEY_TYPING_DELAY });
70
- if (confirm) {
71
- await this.page.keyboard.press('Enter');
72
- }
66
+ const input = this.page.locator(`${this.selector} .monaco-inputbox .input`);
67
+ await input.focus();
68
+ await input.pressSequentially(value, { delay: USER_KEY_TYPING_DELAY });
69
+ if (confirm) {
70
+ await this.page.keyboard.press('Enter');
73
71
  }
74
72
  }
75
73
 
@@ -15,15 +15,14 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import { TheiaDialog } from './theia-dialog';
18
- import { OSUtil, USER_KEY_TYPING_DELAY } from './util';
18
+ import { USER_KEY_TYPING_DELAY } from './util';
19
19
 
20
20
  export class TheiaRenameDialog extends TheiaDialog {
21
21
 
22
22
  async enterNewName(newName: string): Promise<void> {
23
- const inputField = await this.page.waitForSelector(`${this.blockSelector} .theia-input`);
24
- await inputField.press(OSUtil.isMacOS ? 'Meta+a' : 'Control+a');
25
- await inputField.type(newName, { delay: USER_KEY_TYPING_DELAY });
26
- await this.page.waitForTimeout(USER_KEY_TYPING_DELAY);
23
+ const inputField = this.page.locator(`${this.blockSelector} .theia-input`);
24
+ await inputField.selectText();
25
+ await inputField.pressSequentially(newName, { delay: USER_KEY_TYPING_DELAY });
27
26
  }
28
27
 
29
28
  async confirm(): Promise<void> {
@@ -38,7 +38,7 @@ export class TheiaTerminal extends TheiaView {
38
38
  async write(text: string): Promise<void> {
39
39
  await this.activate();
40
40
  const input = await this.waitForInputArea();
41
- await input.type(text);
41
+ await input.fill(text);
42
42
  }
43
43
 
44
44
  async contents(): Promise<string> {
@@ -0,0 +1,31 @@
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 { TheiaApp } from './theia-app';
17
+ import { TheiaView } from './theia-view';
18
+ import { normalizeId } from './util';
19
+
20
+ const TheiaWelcomeViewData = {
21
+ tabSelector: normalizeId('#shell-tab-getting.started.widget'),
22
+ viewSelector: normalizeId('#getting.started.widget'),
23
+ viewName: 'Welcome'
24
+ };
25
+
26
+ export class TheiaWelcomeView extends TheiaView {
27
+
28
+ constructor(app: TheiaApp) {
29
+ super(TheiaWelcomeViewData, app);
30
+ }
31
+ }