@opensumi/playwright 2.22.8-rc-1678368507.0 → 2.22.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/debug-console-view.d.ts +9 -0
- package/lib/debug-console-view.d.ts.map +1 -0
- package/lib/debug-console-view.js +23 -0
- package/lib/debug-console-view.js.map +1 -0
- package/lib/tests/debug.test.js +31 -0
- package/lib/tests/debug.test.js.map +1 -1
- package/lib/tests/file-search.test.d.ts +2 -0
- package/lib/tests/file-search.test.d.ts.map +1 -0
- package/lib/tests/file-search.test.js +55 -0
- package/lib/tests/file-search.test.js.map +1 -0
- package/package.json +3 -3
- package/src/debug-console-view.ts +21 -0
- package/src/tests/debug.test.ts +36 -0
- package/src/tests/file-search.test.ts +62 -0
- package/src/tests/workspaces/debug/.sumi/launch.json +1 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { OpenSumiApp } from './app';
|
|
2
|
+
import { OpenSumiContextMenu } from './context-menu';
|
|
3
|
+
import { OpenSumiPanel } from './panel';
|
|
4
|
+
export declare class OpenSumiDebugConsoleView extends OpenSumiPanel {
|
|
5
|
+
constructor(app: OpenSumiApp);
|
|
6
|
+
getOutputContainer(): Promise<import("playwright-core").ElementHandle<SVGElement | HTMLElement> | null | undefined>;
|
|
7
|
+
openConsoleContextMenu(): Promise<OpenSumiContextMenu | undefined>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=debug-console-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-console-view.d.ts","sourceRoot":"","sources":["../src/debug-console-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,qBAAa,wBAAyB,SAAQ,aAAa;gBAC7C,GAAG,EAAE,WAAW;IAItB,kBAAkB;IAIlB,sBAAsB;CAO7B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenSumiDebugConsoleView = void 0;
|
|
4
|
+
const context_menu_1 = require("./context-menu");
|
|
5
|
+
const panel_1 = require("./panel");
|
|
6
|
+
class OpenSumiDebugConsoleView extends panel_1.OpenSumiPanel {
|
|
7
|
+
constructor(app) {
|
|
8
|
+
super(app, 'DEBUG-CONSOLE');
|
|
9
|
+
}
|
|
10
|
+
async getOutputContainer() {
|
|
11
|
+
var _a;
|
|
12
|
+
return (_a = this.view) === null || _a === void 0 ? void 0 : _a.$('[class*="debug_console_output__"]');
|
|
13
|
+
}
|
|
14
|
+
async openConsoleContextMenu() {
|
|
15
|
+
const view = await this.getOutputContainer();
|
|
16
|
+
if (!view) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
return context_menu_1.OpenSumiContextMenu.open(this.app, async () => view);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.OpenSumiDebugConsoleView = OpenSumiDebugConsoleView;
|
|
23
|
+
//# sourceMappingURL=debug-console-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-console-view.js","sourceRoot":"","sources":["../src/debug-console-view.ts"],"names":[],"mappings":";;;AACA,iDAAqD;AACrD,mCAAwC;AAExC,MAAa,wBAAyB,SAAQ,qBAAa;IACzD,YAAY,GAAgB;QAC1B,KAAK,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,kBAAkB;;QACtB,OAAO,MAAA,IAAI,CAAC,IAAI,0CAAE,CAAC,CAAC,mCAAmC,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QACD,OAAO,kCAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;CACF;AAhBD,4DAgBC"}
|
package/lib/tests/debug.test.js
CHANGED
|
@@ -4,6 +4,7 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
5
5
|
const test_1 = require("@playwright/test");
|
|
6
6
|
const app_1 = require("../app");
|
|
7
|
+
const debug_console_view_1 = require("../debug-console-view");
|
|
7
8
|
const debug_view_1 = require("../debug-view");
|
|
8
9
|
const explorer_view_1 = require("../explorer-view");
|
|
9
10
|
const terminal_view_1 = require("../terminal-view");
|
|
@@ -70,6 +71,36 @@ hooks_1.default.describe('OpenSumi Debug', () => {
|
|
|
70
71
|
await debugView.stop();
|
|
71
72
|
await hooks_1.page.waitForTimeout(1000);
|
|
72
73
|
});
|
|
74
|
+
(0, hooks_1.default)('ContextMenu on DebugConsole should be work', async () => {
|
|
75
|
+
editor = await app.openEditor(text_editor_1.OpenSumiTextEditor, explorer, 'index.js', false);
|
|
76
|
+
await app.page.waitForTimeout(1000);
|
|
77
|
+
debugView = await app.open(debug_view_1.OpenSumiDebugView);
|
|
78
|
+
const glyphMarginModel = await editor.getGlyphMarginModel();
|
|
79
|
+
const glyphOverlay = await glyphMarginModel.getOverlay(6);
|
|
80
|
+
(0, test_1.expect)(glyphOverlay).toBeDefined();
|
|
81
|
+
if (!glyphOverlay) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const isClicked = await glyphMarginModel.hasBreakpoint(glyphOverlay);
|
|
85
|
+
if (!isClicked) {
|
|
86
|
+
await (glyphOverlay === null || glyphOverlay === void 0 ? void 0 : glyphOverlay.click({ position: { x: 9, y: 9 }, force: true }));
|
|
87
|
+
await app.page.waitForTimeout(1000);
|
|
88
|
+
}
|
|
89
|
+
await debugView.start();
|
|
90
|
+
await app.page.waitForTimeout(2000);
|
|
91
|
+
const debugConsole = await app.open(debug_console_view_1.OpenSumiDebugConsoleView);
|
|
92
|
+
const contextMenu = await debugConsole.openConsoleContextMenu();
|
|
93
|
+
await app.page.waitForTimeout(200);
|
|
94
|
+
(0, test_1.expect)(await (contextMenu === null || contextMenu === void 0 ? void 0 : contextMenu.isOpen())).toBeTruthy();
|
|
95
|
+
const copyAll = await (contextMenu === null || contextMenu === void 0 ? void 0 : contextMenu.menuItemByName('Copy All'));
|
|
96
|
+
await (copyAll === null || copyAll === void 0 ? void 0 : copyAll.click());
|
|
97
|
+
await app.page.waitForTimeout(1000);
|
|
98
|
+
const text = (await hooks_1.page.evaluate('navigator.clipboard.readText()'));
|
|
99
|
+
(0, test_1.expect)(text.includes('Debugger attached.')).toBeTruthy();
|
|
100
|
+
await editor.close();
|
|
101
|
+
await debugView.stop();
|
|
102
|
+
await hooks_1.page.waitForTimeout(1000);
|
|
103
|
+
});
|
|
73
104
|
(0, hooks_1.default)('Run Debug by Javascript Debug Terminal', async () => {
|
|
74
105
|
await explorer.open();
|
|
75
106
|
editor = await app.openEditor(text_editor_1.OpenSumiTextEditor, explorer, 'index.js', false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.test.js","sourceRoot":"","sources":["../../src/tests/debug.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"debug.test.js","sourceRoot":"","sources":["../../src/tests/debug.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-search.test.d.ts","sourceRoot":"","sources":["../../src/tests/file-search.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const path_1 = tslib_1.__importDefault(require("path"));
|
|
5
|
+
const test_1 = require("@playwright/test");
|
|
6
|
+
const ide_utils_1 = require("@opensumi/ide-utils");
|
|
7
|
+
const app_1 = require("../app");
|
|
8
|
+
const explorer_view_1 = require("../explorer-view");
|
|
9
|
+
const text_editor_1 = require("../text-editor");
|
|
10
|
+
const workspace_1 = require("../workspace");
|
|
11
|
+
const hooks_1 = tslib_1.__importStar(require("./hooks"));
|
|
12
|
+
let app;
|
|
13
|
+
let explorer;
|
|
14
|
+
let fileTreeView;
|
|
15
|
+
let workspace;
|
|
16
|
+
hooks_1.default.describe('OpenSumi File Search', () => {
|
|
17
|
+
hooks_1.default.beforeAll(async () => {
|
|
18
|
+
workspace = new workspace_1.OpenSumiWorkspace([path_1.default.resolve('./src/tests/workspaces/default')]);
|
|
19
|
+
app = await app_1.OpenSumiApp.load(hooks_1.page, workspace);
|
|
20
|
+
explorer = await app.open(explorer_view_1.OpenSumiExplorerView);
|
|
21
|
+
explorer.initFileTreeView(workspace.workspace.displayName);
|
|
22
|
+
fileTreeView = explorer.fileTreeView;
|
|
23
|
+
});
|
|
24
|
+
hooks_1.default.afterAll(() => {
|
|
25
|
+
app.dispose();
|
|
26
|
+
});
|
|
27
|
+
(0, hooks_1.default)('open editor.js file', async () => {
|
|
28
|
+
await explorer.open();
|
|
29
|
+
(0, test_1.expect)(await explorer.isVisible()).toBeTruthy();
|
|
30
|
+
await fileTreeView.open();
|
|
31
|
+
(0, test_1.expect)(await fileTreeView.isVisible()).toBeTruthy();
|
|
32
|
+
// Open editor3.js first
|
|
33
|
+
const testFilePath = 'editor3.js';
|
|
34
|
+
const editor = await app.openEditor(text_editor_1.OpenSumiTextEditor, explorer, testFilePath);
|
|
35
|
+
let currentTab = await editor.getCurrentTab();
|
|
36
|
+
let dataUri = await (currentTab === null || currentTab === void 0 ? void 0 : currentTab.getAttribute('data-uri'));
|
|
37
|
+
(0, test_1.expect)(dataUri).toBeDefined();
|
|
38
|
+
if (dataUri) {
|
|
39
|
+
(0, test_1.expect)(new ide_utils_1.URI(dataUri).displayName).toBe(testFilePath);
|
|
40
|
+
}
|
|
41
|
+
const openFileName = 'editor.js';
|
|
42
|
+
await app.quickOpenPalette.open();
|
|
43
|
+
await app.quickOpenPalette.type(openFileName);
|
|
44
|
+
// Just enter
|
|
45
|
+
await app.page.keyboard.press('Enter');
|
|
46
|
+
await app.page.waitForTimeout(500);
|
|
47
|
+
currentTab = await editor.getCurrentTab();
|
|
48
|
+
dataUri = await (currentTab === null || currentTab === void 0 ? void 0 : currentTab.getAttribute('data-uri'));
|
|
49
|
+
(0, test_1.expect)(dataUri).toBeDefined();
|
|
50
|
+
if (dataUri) {
|
|
51
|
+
(0, test_1.expect)(new ide_utils_1.URI(dataUri).displayName).toBe(openFileName);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
//# sourceMappingURL=file-search.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-search.test.js","sourceRoot":"","sources":["../../src/tests/file-search.test.ts"],"names":[],"mappings":";;;AAAA,wDAAwB;AAExB,2CAA0C;AAE1C,mDAA0C;AAE1C,gCAAqC;AACrC,oDAAwD;AAExD,gDAAoD;AACpD,4CAAiD;AAEjD,yDAAqC;AAErC,IAAI,GAAgB,CAAC;AACrB,IAAI,QAA8B,CAAC;AACnC,IAAI,YAAkC,CAAC;AACvC,IAAI,SAA4B,CAAC;AAEjC,eAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACzC,eAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;QACxB,SAAS,GAAG,IAAI,6BAAiB,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC;QACpF,GAAG,GAAG,MAAM,iBAAW,CAAC,IAAI,CAAC,YAAI,EAAE,SAAS,CAAC,CAAC;QAC9C,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,oCAAoB,CAAC,CAAC;QAChD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC3D,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,eAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;QACjB,GAAG,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,IAAA,eAAI,EAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,IAAA,aAAM,EAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;QAChD,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAA,aAAM,EAAC,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;QACpD,wBAAwB;QACxB,MAAM,YAAY,GAAG,YAAY,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,gCAAkB,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QAChF,IAAI,UAAU,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;QAC9C,IAAI,OAAO,GAAG,MAAM,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,YAAY,CAAC,UAAU,CAAC,CAAA,CAAC;QACzD,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9B,IAAI,OAAO,EAAE;YACX,IAAA,aAAM,EAAC,IAAI,eAAG,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACzD;QAED,MAAM,YAAY,GAAG,WAAW,CAAC;QACjC,MAAM,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,aAAa;QACb,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAEnC,UAAU,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1C,OAAO,GAAG,MAAM,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,YAAY,CAAC,UAAU,CAAC,CAAA,CAAC;QACrD,IAAA,aAAM,EAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9B,IAAI,OAAO,EAAE;YACX,IAAA,aAAM,EAAC,IAAI,eAAG,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACzD;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/playwright",
|
|
3
|
-
"version": "2.22.
|
|
3
|
+
"version": "2.22.9",
|
|
4
4
|
"description": "E2E test module for OpenSumi",
|
|
5
5
|
"files": [
|
|
6
6
|
"lib",
|
|
@@ -29,10 +29,10 @@
|
|
|
29
29
|
"@playwright/test": "1.29.1"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@opensumi/ide-utils": "2.22.
|
|
32
|
+
"@opensumi/ide-utils": "2.22.9",
|
|
33
33
|
"allure-commandline": "^2.13.8",
|
|
34
34
|
"allure-playwright": "^2.0.0-beta.14",
|
|
35
35
|
"typescript": "4.9.3"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "5f9389bcdc39dc8a17e8f8cf4a94ce324c26efb5"
|
|
38
38
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { OpenSumiApp } from './app';
|
|
2
|
+
import { OpenSumiContextMenu } from './context-menu';
|
|
3
|
+
import { OpenSumiPanel } from './panel';
|
|
4
|
+
|
|
5
|
+
export class OpenSumiDebugConsoleView extends OpenSumiPanel {
|
|
6
|
+
constructor(app: OpenSumiApp) {
|
|
7
|
+
super(app, 'DEBUG-CONSOLE');
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
async getOutputContainer() {
|
|
11
|
+
return this.view?.$('[class*="debug_console_output__"]');
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
async openConsoleContextMenu() {
|
|
15
|
+
const view = await this.getOutputContainer();
|
|
16
|
+
if (!view) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
return OpenSumiContextMenu.open(this.app, async () => view);
|
|
20
|
+
}
|
|
21
|
+
}
|
package/src/tests/debug.test.ts
CHANGED
|
@@ -3,6 +3,7 @@ import path from 'path';
|
|
|
3
3
|
import { expect } from '@playwright/test';
|
|
4
4
|
|
|
5
5
|
import { OpenSumiApp } from '../app';
|
|
6
|
+
import { OpenSumiDebugConsoleView } from '../debug-console-view';
|
|
6
7
|
import { OpenSumiDebugView } from '../debug-view';
|
|
7
8
|
import { OpenSumiExplorerView } from '../explorer-view';
|
|
8
9
|
import { OpenSumiTerminalView } from '../terminal-view';
|
|
@@ -80,6 +81,41 @@ test.describe('OpenSumi Debug', () => {
|
|
|
80
81
|
await page.waitForTimeout(1000);
|
|
81
82
|
});
|
|
82
83
|
|
|
84
|
+
test('ContextMenu on DebugConsole should be work', async () => {
|
|
85
|
+
editor = await app.openEditor(OpenSumiTextEditor, explorer, 'index.js', false);
|
|
86
|
+
await app.page.waitForTimeout(1000);
|
|
87
|
+
|
|
88
|
+
debugView = await app.open(OpenSumiDebugView);
|
|
89
|
+
const glyphMarginModel = await editor.getGlyphMarginModel();
|
|
90
|
+
const glyphOverlay = await glyphMarginModel.getOverlay(6);
|
|
91
|
+
expect(glyphOverlay).toBeDefined();
|
|
92
|
+
if (!glyphOverlay) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const isClicked = await glyphMarginModel.hasBreakpoint(glyphOverlay);
|
|
96
|
+
if (!isClicked) {
|
|
97
|
+
await glyphOverlay?.click({ position: { x: 9, y: 9 }, force: true });
|
|
98
|
+
await app.page.waitForTimeout(1000);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
await debugView.start();
|
|
102
|
+
await app.page.waitForTimeout(2000);
|
|
103
|
+
|
|
104
|
+
const debugConsole = await app.open(OpenSumiDebugConsoleView);
|
|
105
|
+
const contextMenu = await debugConsole.openConsoleContextMenu();
|
|
106
|
+
await app.page.waitForTimeout(200);
|
|
107
|
+
expect(await contextMenu?.isOpen()).toBeTruthy();
|
|
108
|
+
const copyAll = await contextMenu?.menuItemByName('Copy All');
|
|
109
|
+
await copyAll?.click();
|
|
110
|
+
await app.page.waitForTimeout(1000);
|
|
111
|
+
const text = (await page.evaluate('navigator.clipboard.readText()')) as string;
|
|
112
|
+
expect(text.includes('Debugger attached.')).toBeTruthy();
|
|
113
|
+
|
|
114
|
+
await editor.close();
|
|
115
|
+
await debugView.stop();
|
|
116
|
+
await page.waitForTimeout(1000);
|
|
117
|
+
});
|
|
118
|
+
|
|
83
119
|
test('Run Debug by Javascript Debug Terminal', async () => {
|
|
84
120
|
await explorer.open();
|
|
85
121
|
editor = await app.openEditor(OpenSumiTextEditor, explorer, 'index.js', false);
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
|
|
3
|
+
import { expect } from '@playwright/test';
|
|
4
|
+
|
|
5
|
+
import { URI } from '@opensumi/ide-utils';
|
|
6
|
+
|
|
7
|
+
import { OpenSumiApp } from '../app';
|
|
8
|
+
import { OpenSumiExplorerView } from '../explorer-view';
|
|
9
|
+
import { OpenSumiFileTreeView } from '../filetree-view';
|
|
10
|
+
import { OpenSumiTextEditor } from '../text-editor';
|
|
11
|
+
import { OpenSumiWorkspace } from '../workspace';
|
|
12
|
+
|
|
13
|
+
import test, { page } from './hooks';
|
|
14
|
+
|
|
15
|
+
let app: OpenSumiApp;
|
|
16
|
+
let explorer: OpenSumiExplorerView;
|
|
17
|
+
let fileTreeView: OpenSumiFileTreeView;
|
|
18
|
+
let workspace: OpenSumiWorkspace;
|
|
19
|
+
|
|
20
|
+
test.describe('OpenSumi File Search', () => {
|
|
21
|
+
test.beforeAll(async () => {
|
|
22
|
+
workspace = new OpenSumiWorkspace([path.resolve('./src/tests/workspaces/default')]);
|
|
23
|
+
app = await OpenSumiApp.load(page, workspace);
|
|
24
|
+
explorer = await app.open(OpenSumiExplorerView);
|
|
25
|
+
explorer.initFileTreeView(workspace.workspace.displayName);
|
|
26
|
+
fileTreeView = explorer.fileTreeView;
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
test.afterAll(() => {
|
|
30
|
+
app.dispose();
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
test('open editor.js file', async () => {
|
|
34
|
+
await explorer.open();
|
|
35
|
+
expect(await explorer.isVisible()).toBeTruthy();
|
|
36
|
+
await fileTreeView.open();
|
|
37
|
+
expect(await fileTreeView.isVisible()).toBeTruthy();
|
|
38
|
+
// Open editor3.js first
|
|
39
|
+
const testFilePath = 'editor3.js';
|
|
40
|
+
const editor = await app.openEditor(OpenSumiTextEditor, explorer, testFilePath);
|
|
41
|
+
let currentTab = await editor.getCurrentTab();
|
|
42
|
+
let dataUri = await currentTab?.getAttribute('data-uri');
|
|
43
|
+
expect(dataUri).toBeDefined();
|
|
44
|
+
if (dataUri) {
|
|
45
|
+
expect(new URI(dataUri).displayName).toBe(testFilePath);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const openFileName = 'editor.js';
|
|
49
|
+
await app.quickOpenPalette.open();
|
|
50
|
+
await app.quickOpenPalette.type(openFileName);
|
|
51
|
+
// Just enter
|
|
52
|
+
await app.page.keyboard.press('Enter');
|
|
53
|
+
await app.page.waitForTimeout(500);
|
|
54
|
+
|
|
55
|
+
currentTab = await editor.getCurrentTab();
|
|
56
|
+
dataUri = await currentTab?.getAttribute('data-uri');
|
|
57
|
+
expect(dataUri).toBeDefined();
|
|
58
|
+
if (dataUri) {
|
|
59
|
+
expect(new URI(dataUri).displayName).toBe(openFileName);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
});
|