@theia/playwright 1.45.1 → 1.46.0-next.72

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 (164) hide show
  1. package/README.md +54 -54
  2. package/lib/index.d.ts +30 -30
  3. package/lib/index.js +57 -57
  4. package/lib/tests/fixtures/theia-fixture.d.ts +4 -0
  5. package/lib/tests/fixtures/theia-fixture.d.ts.map +1 -0
  6. package/lib/tests/fixtures/theia-fixture.js +24 -0
  7. package/lib/tests/fixtures/theia-fixture.js.map +1 -0
  8. package/lib/tests/theia-app.test.d.ts +1 -1
  9. package/lib/tests/theia-app.test.js +29 -29
  10. package/lib/tests/theia-application-shell.test.d.ts +2 -0
  11. package/lib/tests/theia-application-shell.test.d.ts.map +1 -0
  12. package/lib/tests/theia-application-shell.test.js +58 -0
  13. package/lib/tests/theia-application-shell.test.js.map +1 -0
  14. package/lib/tests/theia-explorer-view.test.d.ts +1 -1
  15. package/lib/tests/theia-explorer-view.test.js +183 -183
  16. package/lib/tests/theia-main-menu.test.d.ts +1 -1
  17. package/lib/tests/theia-main-menu.test.js +92 -92
  18. package/lib/tests/theia-output-view.test.d.ts +1 -1
  19. package/lib/tests/theia-output-view.test.js +78 -78
  20. package/lib/tests/theia-preference-view.test.d.ts +1 -1
  21. package/lib/tests/theia-preference-view.test.js +101 -101
  22. package/lib/tests/theia-problems-view.test.d.ts +1 -1
  23. package/lib/tests/theia-problems-view.test.js +54 -54
  24. package/lib/tests/theia-quick-command.test.d.ts +1 -1
  25. package/lib/tests/theia-quick-command.test.js +69 -69
  26. package/lib/tests/theia-sample-app.test.d.ts +1 -1
  27. package/lib/tests/theia-sample-app.test.js +57 -57
  28. package/lib/tests/theia-status-bar.test.d.ts +1 -1
  29. package/lib/tests/theia-status-bar.test.js +44 -44
  30. package/lib/tests/theia-terminal-view.test.d.ts +1 -1
  31. package/lib/tests/theia-terminal-view.test.js +78 -78
  32. package/lib/tests/theia-text-editor.test.d.ts +1 -1
  33. package/lib/tests/theia-text-editor.test.js +155 -155
  34. package/lib/tests/theia-toolbar.test.d.ts +1 -1
  35. package/lib/tests/theia-toolbar.test.js +61 -61
  36. package/lib/tests/theia-workspace.test.d.ts +1 -1
  37. package/lib/tests/theia-workspace.test.js +72 -72
  38. package/lib/theia-about-dialog.d.ts +4 -4
  39. package/lib/theia-about-dialog.js +26 -26
  40. package/lib/theia-app-loader.d.ts +19 -19
  41. package/lib/theia-app-loader.js +129 -129
  42. package/lib/theia-app.d.ts +50 -50
  43. package/lib/theia-app.js +153 -153
  44. package/lib/theia-context-menu.d.ts +8 -8
  45. package/lib/theia-context-menu.js +37 -37
  46. package/lib/theia-dialog.d.ts +28 -28
  47. package/lib/theia-dialog.js +99 -99
  48. package/lib/theia-editor.d.ts +9 -9
  49. package/lib/theia-editor.js +68 -68
  50. package/lib/theia-explorer-view.d.ts +47 -47
  51. package/lib/theia-explorer-view.js +273 -273
  52. package/lib/theia-main-menu.d.ts +12 -12
  53. package/lib/theia-main-menu.js +53 -53
  54. package/lib/theia-menu-item.d.ts +14 -14
  55. package/lib/theia-menu-item.js +66 -66
  56. package/lib/theia-menu.d.ts +16 -16
  57. package/lib/theia-menu.js +86 -86
  58. package/lib/theia-monaco-editor.d.ts +15 -15
  59. package/lib/theia-monaco-editor.js +75 -75
  60. package/lib/theia-notification-indicator.d.ts +7 -7
  61. package/lib/theia-notification-indicator.js +44 -44
  62. package/lib/theia-notification-overlay.d.ts +22 -22
  63. package/lib/theia-notification-overlay.js +79 -79
  64. package/lib/theia-output-channel.d.ts +24 -24
  65. package/lib/theia-output-channel.js +71 -71
  66. package/lib/theia-output-view.d.ts +9 -9
  67. package/lib/theia-output-view.js +81 -81
  68. package/lib/theia-page-object.d.ts +7 -7
  69. package/lib/theia-page-object.js +27 -27
  70. package/lib/theia-preference-view.d.ts +84 -84
  71. package/lib/theia-preference-view.js +209 -209
  72. package/lib/theia-problem-indicator.d.ts +8 -8
  73. package/lib/theia-problem-indicator.js +38 -38
  74. package/lib/theia-problem-view.d.ts +5 -5
  75. package/lib/theia-problem-view.js +30 -30
  76. package/lib/theia-quick-command-palette.d.ts +12 -12
  77. package/lib/theia-quick-command-palette.js +80 -80
  78. package/lib/theia-rename-dialog.d.ts +5 -5
  79. package/lib/theia-rename-dialog.js +35 -35
  80. package/lib/theia-status-bar.d.ts +13 -13
  81. package/lib/theia-status-bar.js +39 -39
  82. package/lib/theia-status-indicator.d.ts +10 -10
  83. package/lib/theia-status-indicator.js +48 -48
  84. package/lib/theia-terminal.d.ts +13 -13
  85. package/lib/theia-terminal.js +59 -59
  86. package/lib/theia-text-editor.d.ts +26 -26
  87. package/lib/theia-text-editor.js +120 -120
  88. package/lib/theia-toggle-bottom-indicator.d.ts +4 -4
  89. package/lib/theia-toggle-bottom-indicator.js +26 -26
  90. package/lib/theia-toolbar-item.d.ts +10 -10
  91. package/lib/theia-toolbar-item.js +39 -39
  92. package/lib/theia-toolbar.d.ts +19 -19
  93. package/lib/theia-toolbar.js +90 -90
  94. package/lib/theia-tree-node.d.ts +19 -19
  95. package/lib/theia-tree-node.js +72 -72
  96. package/lib/theia-view.d.ts +32 -32
  97. package/lib/theia-view.js +149 -149
  98. package/lib/theia-welcome-view.d.ts +6 -0
  99. package/lib/theia-welcome-view.d.ts.map +1 -0
  100. package/lib/theia-welcome-view.js +31 -0
  101. package/lib/theia-welcome-view.js.map +1 -0
  102. package/lib/theia-workspace.d.ts +18 -18
  103. package/lib/theia-workspace.js +69 -69
  104. package/lib/util.d.ts +19 -19
  105. package/lib/util.js +93 -93
  106. package/package.json +2 -2
  107. package/src/index.ts +46 -46
  108. package/src/tests/resources/sample-files1/sample.txt +4 -4
  109. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-1/sampleFile1-1-1.txt +1 -1
  110. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-1/sampleFile1-1-2.txt +1 -1
  111. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-2/sampleFile1-2-1.txt +1 -1
  112. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder1/sampleFolder1-2/sampleFile1-2-2.txt +1 -1
  113. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-1/sampleFile2-1-1.txt +1 -1
  114. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-1/sampleFile2-1-2.txt +1 -1
  115. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-2/sampleFile2-2-1.txt +1 -1
  116. package/src/tests/resources/sample-files1/sampleFolder/sampleFolder2/sampleFolder2-2/sampleFile2-2-2.txt +1 -1
  117. package/src/tests/resources/sample-files2/another-sample.txt +1 -1
  118. package/src/tests/theia-app.test.ts +33 -33
  119. package/src/tests/theia-application-shell.test.ts +67 -0
  120. package/src/tests/theia-explorer-view.test.ts +211 -211
  121. package/src/tests/theia-main-menu.test.ts +112 -112
  122. package/src/tests/theia-output-view.test.ts +85 -85
  123. package/src/tests/theia-preference-view.test.ts +122 -122
  124. package/src/tests/theia-problems-view.test.ts +64 -64
  125. package/src/tests/theia-quick-command.test.ts +80 -80
  126. package/src/tests/theia-sample-app.test.ts +66 -66
  127. package/src/tests/theia-status-bar.test.ts +52 -52
  128. package/src/tests/theia-terminal-view.test.ts +90 -90
  129. package/src/tests/theia-text-editor.test.ts +187 -187
  130. package/src/tests/theia-toolbar.test.ts +69 -69
  131. package/src/tests/theia-workspace.test.ts +80 -80
  132. package/src/theia-about-dialog.ts +26 -26
  133. package/src/theia-app-loader.ts +167 -167
  134. package/src/theia-app.ts +188 -188
  135. package/src/theia-context-menu.ts +42 -42
  136. package/src/theia-dialog.ts +114 -114
  137. package/src/theia-editor.ts +73 -73
  138. package/src/theia-explorer-view.ts +311 -311
  139. package/src/theia-main-menu.ts +54 -54
  140. package/src/theia-menu-item.ts +75 -75
  141. package/src/theia-menu.ts +96 -96
  142. package/src/theia-monaco-editor.ts +83 -83
  143. package/src/theia-notification-indicator.ts +44 -44
  144. package/src/theia-notification-overlay.ts +94 -94
  145. package/src/theia-output-channel.ts +88 -88
  146. package/src/theia-output-view.ts +87 -87
  147. package/src/theia-page-object.ts +29 -29
  148. package/src/theia-preference-view.ts +240 -240
  149. package/src/theia-problem-indicator.ts +37 -37
  150. package/src/theia-problem-view.ts +30 -30
  151. package/src/theia-quick-command-palette.ts +83 -83
  152. package/src/theia-rename-dialog.ts +36 -36
  153. package/src/theia-status-bar.ts +44 -44
  154. package/src/theia-status-indicator.ts +50 -50
  155. package/src/theia-terminal.ts +69 -69
  156. package/src/theia-text-editor.ts +141 -141
  157. package/src/theia-toggle-bottom-indicator.ts +21 -21
  158. package/src/theia-toolbar-item.ts +41 -41
  159. package/src/theia-toolbar.ts +99 -99
  160. package/src/theia-tree-node.ts +81 -81
  161. package/src/theia-view.ts +177 -177
  162. package/src/theia-welcome-view.ts +31 -0
  163. package/src/theia-workspace.ts +76 -76
  164. package/src/util.ts +91 -91
@@ -1,69 +1,69 @@
1
- // *****************************************************************************
2
- // Copyright (C) 2023 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 { TheiaApp } from '../theia-app';
19
- import { TheiaAppLoader } from '../theia-app-loader';
20
- import { TheiaToolbar } from '../theia-toolbar';
21
-
22
- let app: TheiaApp;
23
- let toolbar: TheiaToolbar;
24
-
25
- test.describe('Theia Toolbar', () => {
26
-
27
- test.beforeAll(async ({ playwright, browser }) => {
28
- app = await TheiaAppLoader.load({ playwright, browser });
29
- toolbar = new TheiaToolbar(app);
30
- });
31
-
32
- test.afterAll(async () => {
33
- await app.page.close();
34
- });
35
-
36
- test('should toggle the toolbar and check visibility', async () => {
37
- // depending on the user settings we have different starting conditions for the toolbar
38
- const isShownInitially = await toolbar.isShown();
39
- expect(await toolbar.isShown()).toBe(isShownInitially);
40
- await toolbar.toggle();
41
- expect(await toolbar.isShown()).toBe(!isShownInitially);
42
- await toolbar.hide();
43
- expect(await toolbar.isShown()).toBe(false);
44
- await toolbar.show();
45
- expect(await toolbar.isShown()).toBe(true);
46
- });
47
-
48
- test('should show the default toolbar tools of the sample Theia application', async () => {
49
- expect(await toolbar.toolbarItems()).toHaveLength(5);
50
- expect(await toolbar.toolbarItemIds()).toStrictEqual([
51
- 'textEditor.commands.go.back',
52
- 'textEditor.commands.go.forward',
53
- 'workbench.action.splitEditorRight',
54
- 'theia-sample-toolbar-contribution',
55
- 'workbench.action.showCommands'
56
- ]);
57
- });
58
-
59
- test('should trigger the "Command Palette" toolbar tool as expect the command palette to open', async () => {
60
- const commandPaletteTool = await toolbar.toolBarItem('workbench.action.showCommands');
61
- expect(commandPaletteTool).toBeDefined;
62
- expect(await commandPaletteTool!.isEnabled()).toBe(true);
63
-
64
- await commandPaletteTool!.trigger();
65
- expect(await app.quickCommandPalette.isOpen()).toBe(true);
66
- await app.quickCommandPalette.hide();
67
- expect(await app.quickCommandPalette.isOpen()).toBe(false);
68
- });
69
- });
1
+ // *****************************************************************************
2
+ // Copyright (C) 2023 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 { TheiaApp } from '../theia-app';
19
+ import { TheiaAppLoader } from '../theia-app-loader';
20
+ import { TheiaToolbar } from '../theia-toolbar';
21
+
22
+ let app: TheiaApp;
23
+ let toolbar: TheiaToolbar;
24
+
25
+ test.describe('Theia Toolbar', () => {
26
+
27
+ test.beforeAll(async ({ playwright, browser }) => {
28
+ app = await TheiaAppLoader.load({ playwright, browser });
29
+ toolbar = new TheiaToolbar(app);
30
+ });
31
+
32
+ test.afterAll(async () => {
33
+ await app.page.close();
34
+ });
35
+
36
+ test('should toggle the toolbar and check visibility', async () => {
37
+ // depending on the user settings we have different starting conditions for the toolbar
38
+ const isShownInitially = await toolbar.isShown();
39
+ expect(await toolbar.isShown()).toBe(isShownInitially);
40
+ await toolbar.toggle();
41
+ expect(await toolbar.isShown()).toBe(!isShownInitially);
42
+ await toolbar.hide();
43
+ expect(await toolbar.isShown()).toBe(false);
44
+ await toolbar.show();
45
+ expect(await toolbar.isShown()).toBe(true);
46
+ });
47
+
48
+ test('should show the default toolbar tools of the sample Theia application', async () => {
49
+ expect(await toolbar.toolbarItems()).toHaveLength(5);
50
+ expect(await toolbar.toolbarItemIds()).toStrictEqual([
51
+ 'textEditor.commands.go.back',
52
+ 'textEditor.commands.go.forward',
53
+ 'workbench.action.splitEditorRight',
54
+ 'theia-sample-toolbar-contribution',
55
+ 'workbench.action.showCommands'
56
+ ]);
57
+ });
58
+
59
+ test('should trigger the "Command Palette" toolbar tool as expect the command palette to open', async () => {
60
+ const commandPaletteTool = await toolbar.toolBarItem('workbench.action.showCommands');
61
+ expect(commandPaletteTool).toBeDefined;
62
+ expect(await commandPaletteTool!.isEnabled()).toBe(true);
63
+
64
+ await commandPaletteTool!.trigger();
65
+ expect(await app.quickCommandPalette.isOpen()).toBe(true);
66
+ await app.quickCommandPalette.hide();
67
+ expect(await app.quickCommandPalette.isOpen()).toBe(false);
68
+ });
69
+ });
@@ -1,80 +1,80 @@
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 { DOT_FILES_FILTER, TheiaExplorerView } from '../theia-explorer-view';
20
- import { TheiaWorkspace } from '../theia-workspace';
21
-
22
- test.describe('Theia Workspace', () => {
23
- let isElectron: boolean;
24
- test.beforeAll(async ({ playwright, browser }) => {
25
- isElectron = process.env.USE_ELECTRON === 'true';
26
- });
27
-
28
- test('should be initialized empty by default', async ({ playwright, browser }) => {
29
- if (!isElectron) {
30
- const app = await TheiaAppLoader.load({ playwright, browser });
31
- const explorer = await app.openView(TheiaExplorerView);
32
- const fileStatElements = await explorer.visibleFileStatNodes(DOT_FILES_FILTER);
33
- expect(fileStatElements.length).toBe(0);
34
- await app.page.close();
35
- }
36
- });
37
-
38
- test('should be initialized with the contents of a file location', async ({ playwright, browser }) => {
39
- const ws = new TheiaWorkspace(['src/tests/resources/sample-files1']);
40
- const app = await TheiaAppLoader.load({ playwright, browser }, ws);
41
- const explorer = await app.openView(TheiaExplorerView);
42
- // resources/sample-files1 contains two folders and one file
43
- expect(await explorer.existsDirectoryNode('sampleFolder')).toBe(true);
44
- expect(await explorer.existsDirectoryNode('sampleFolderCompact')).toBe(true);
45
- expect(await explorer.existsFileNode('sample.txt')).toBe(true);
46
- await app.page.close();
47
- });
48
-
49
- test('should be initialized with the contents of multiple file locations', async ({ playwright, browser }) => {
50
- const ws = new TheiaWorkspace(['src/tests/resources/sample-files1', 'src/tests/resources/sample-files2']);
51
- const app = await TheiaAppLoader.load({ playwright, browser }, ws);
52
- const explorer = await app.openView(TheiaExplorerView);
53
- // resources/sample-files1 contains two folders and one file
54
- expect(await explorer.existsDirectoryNode('sampleFolder')).toBe(true);
55
- expect(await explorer.existsDirectoryNode('sampleFolderCompact')).toBe(true);
56
- expect(await explorer.existsFileNode('sample.txt')).toBe(true);
57
- // resources/sample-files2 contains one file
58
- expect(await explorer.existsFileNode('another-sample.txt')).toBe(true);
59
- await app.page.close();
60
- });
61
-
62
- test('open sample.txt via file menu', async ({ playwright, browser }) => {
63
- const ws = new TheiaWorkspace(['src/tests/resources/sample-files1']);
64
- const app = await TheiaAppLoader.load({ playwright, browser }, ws);
65
- const menuEntry = app.isElectron ? 'Open File...' : 'Open...';
66
-
67
- await (await app.menuBar.openMenu('File')).clickMenuItem(menuEntry);
68
- const fileDialog = await app.page.waitForSelector('div[class="dialogBlock"]');
69
- expect(await fileDialog.isVisible()).toBe(true);
70
-
71
- const fileEntry = app.page.getByText('sample.txt');
72
- await fileEntry.click();
73
- await app.page.locator('#theia-dialog-shell').getByRole('button', { name: 'Open' }).click();
74
-
75
- const span = await app.page.waitForSelector('span:has-text("content line 2")');
76
- expect(await span.isVisible()).toBe(true);
77
- await app.page.close();
78
- });
79
-
80
- });
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 { DOT_FILES_FILTER, TheiaExplorerView } from '../theia-explorer-view';
20
+ import { TheiaWorkspace } from '../theia-workspace';
21
+
22
+ test.describe('Theia Workspace', () => {
23
+ let isElectron: boolean;
24
+ test.beforeAll(async ({ playwright, browser }) => {
25
+ isElectron = process.env.USE_ELECTRON === 'true';
26
+ });
27
+
28
+ test('should be initialized empty by default', async ({ playwright, browser }) => {
29
+ if (!isElectron) {
30
+ const app = await TheiaAppLoader.load({ playwright, browser });
31
+ const explorer = await app.openView(TheiaExplorerView);
32
+ const fileStatElements = await explorer.visibleFileStatNodes(DOT_FILES_FILTER);
33
+ expect(fileStatElements.length).toBe(0);
34
+ await app.page.close();
35
+ }
36
+ });
37
+
38
+ test('should be initialized with the contents of a file location', async ({ playwright, browser }) => {
39
+ const ws = new TheiaWorkspace(['src/tests/resources/sample-files1']);
40
+ const app = await TheiaAppLoader.load({ playwright, browser }, ws);
41
+ const explorer = await app.openView(TheiaExplorerView);
42
+ // resources/sample-files1 contains two folders and one file
43
+ expect(await explorer.existsDirectoryNode('sampleFolder')).toBe(true);
44
+ expect(await explorer.existsDirectoryNode('sampleFolderCompact')).toBe(true);
45
+ expect(await explorer.existsFileNode('sample.txt')).toBe(true);
46
+ await app.page.close();
47
+ });
48
+
49
+ test('should be initialized with the contents of multiple file locations', async ({ playwright, browser }) => {
50
+ const ws = new TheiaWorkspace(['src/tests/resources/sample-files1', 'src/tests/resources/sample-files2']);
51
+ const app = await TheiaAppLoader.load({ playwright, browser }, ws);
52
+ const explorer = await app.openView(TheiaExplorerView);
53
+ // resources/sample-files1 contains two folders and one file
54
+ expect(await explorer.existsDirectoryNode('sampleFolder')).toBe(true);
55
+ expect(await explorer.existsDirectoryNode('sampleFolderCompact')).toBe(true);
56
+ expect(await explorer.existsFileNode('sample.txt')).toBe(true);
57
+ // resources/sample-files2 contains one file
58
+ expect(await explorer.existsFileNode('another-sample.txt')).toBe(true);
59
+ await app.page.close();
60
+ });
61
+
62
+ test('open sample.txt via file menu', async ({ playwright, browser }) => {
63
+ const ws = new TheiaWorkspace(['src/tests/resources/sample-files1']);
64
+ const app = await TheiaAppLoader.load({ playwright, browser }, ws);
65
+ const menuEntry = app.isElectron ? 'Open File...' : 'Open...';
66
+
67
+ await (await app.menuBar.openMenu('File')).clickMenuItem(menuEntry);
68
+ const fileDialog = await app.page.waitForSelector('div[class="dialogBlock"]');
69
+ expect(await fileDialog.isVisible()).toBe(true);
70
+
71
+ const fileEntry = app.page.getByText('sample.txt');
72
+ await fileEntry.click();
73
+ await app.page.locator('#theia-dialog-shell').getByRole('button', { name: 'Open' }).click();
74
+
75
+ const span = await app.page.waitForSelector('span:has-text("content line 2")');
76
+ expect(await span.isVisible()).toBe(true);
77
+ await app.page.close();
78
+ });
79
+
80
+ });
@@ -1,26 +1,26 @@
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 { TheiaDialog } from './theia-dialog';
18
-
19
- export class TheiaAboutDialog extends TheiaDialog {
20
-
21
- override async isVisible(): Promise<boolean> {
22
- const dialog = await this.page.$(`${this.blockSelector} .theia-aboutDialog`);
23
- return !!dialog && dialog.isVisible();
24
- }
25
-
26
- }
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 { TheiaDialog } from './theia-dialog';
18
+
19
+ export class TheiaAboutDialog extends TheiaDialog {
20
+
21
+ override async isVisible(): Promise<boolean> {
22
+ const dialog = await this.page.$(`${this.blockSelector} .theia-aboutDialog`);
23
+ return !!dialog && dialog.isVisible();
24
+ }
25
+
26
+ }