@opensumi/playwright 2.22.8-rc-1678368507.0 → 2.22.8
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/package.json +3 -3
- package/src/debug-console-view.ts +21 -0
- package/src/tests/debug.test.ts +36 -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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/playwright",
|
|
3
|
-
"version": "2.22.8
|
|
3
|
+
"version": "2.22.8",
|
|
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.8
|
|
32
|
+
"@opensumi/ide-utils": "2.22.8",
|
|
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": "14583e2f5f85bff4dd63310b4bc0e805bd6a2994"
|
|
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);
|