@opensumi/playwright 2.21.3 → 2.21.4-rc-1668395886.0
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-view.js +1 -1
- package/lib/diff-editor.d.ts +4 -0
- package/lib/diff-editor.d.ts.map +1 -0
- package/lib/diff-editor.js +8 -0
- package/lib/diff-editor.js.map +1 -0
- package/lib/editor.d.ts +2 -2
- package/lib/editor.d.ts.map +1 -1
- package/lib/editor.js.map +1 -1
- package/lib/explorer-view.d.ts +1 -0
- package/lib/explorer-view.d.ts.map +1 -1
- package/lib/explorer-view.js +30 -9
- package/lib/explorer-view.js.map +1 -1
- package/lib/filetree-view.js +2 -2
- package/lib/filetree-view.js.map +1 -1
- package/lib/opened-editor-view.js +2 -2
- package/lib/opened-editor-view.js.map +1 -1
- package/lib/panel.js +2 -2
- package/lib/panel.js.map +1 -1
- package/lib/scm-view.d.ts +21 -0
- package/lib/scm-view.d.ts.map +1 -0
- package/lib/scm-view.js +65 -0
- package/lib/scm-view.js.map +1 -0
- package/lib/search-view.js +1 -1
- package/lib/source-control-view.d.ts +8 -0
- package/lib/source-control-view.d.ts.map +1 -0
- package/lib/source-control-view.js +45 -0
- package/lib/source-control-view.js.map +1 -0
- package/lib/tests/scm.test.js +41 -3
- package/lib/tests/scm.test.js.map +1 -1
- package/lib/tests/settings.test.d.ts +2 -0
- package/lib/tests/settings.test.d.ts.map +1 -0
- package/lib/tests/settings.test.js +83 -0
- package/lib/tests/settings.test.js.map +1 -0
- package/lib/text-editor.d.ts +2 -2
- package/lib/text-editor.d.ts.map +1 -1
- package/lib/text-editor.js.map +1 -1
- package/lib/tree-node.d.ts +3 -1
- package/lib/tree-node.d.ts.map +1 -1
- package/lib/tree-node.js +3 -3
- package/lib/tree-node.js.map +1 -1
- package/package.json +4 -3
- package/src/app.ts +135 -0
- package/src/component-editor.ts +64 -0
- package/src/constans/index.ts +18 -0
- package/src/context-menu.ts +27 -0
- package/src/debug-view.ts +24 -0
- package/src/diff-editor.ts +3 -0
- package/src/editor.ts +130 -0
- package/src/explorer-view.ts +142 -0
- package/src/filetree-view.ts +28 -0
- package/src/index.ts +19 -0
- package/src/menu-item.ts +40 -0
- package/src/menu.ts +69 -0
- package/src/menubar.ts +53 -0
- package/src/opened-editor-view.ts +28 -0
- package/src/panel.ts +50 -0
- package/src/quick-command-palette.ts +62 -0
- package/src/quick-open-palette.ts +62 -0
- package/src/scm-view.ts +73 -0
- package/src/search-view.ts +44 -0
- package/src/source-control-view.ts +44 -0
- package/src/terminal.ts +22 -0
- package/src/tests/app.test.ts +16 -0
- package/src/tests/debug.test.ts +68 -0
- package/src/tests/editor.test.ts +143 -0
- package/src/tests/explorer-view.test.ts +202 -0
- package/src/tests/hooks/index.ts +13 -0
- package/src/tests/keymaps.test.ts +118 -0
- package/src/tests/language.test.ts +55 -0
- package/src/tests/scm.test.ts +84 -0
- package/src/tests/search-view.test.ts +32 -0
- package/src/tests/settings.test.ts +103 -0
- package/src/tests/workspaces/debug/.sumi/launch.json +15 -0
- package/src/tests/workspaces/debug/index.js +18 -0
- package/src/tests/workspaces/default/editor.js +0 -0
- package/src/tests/workspaces/default/editor2.js +87 -0
- package/src/tests/workspaces/default/editor3.js +0 -0
- package/src/tests/workspaces/default/test/test.js +1 -0
- package/src/tests/workspaces/git-workspace/a.js +0 -0
- package/src/tests/workspaces/language/definition.ts +12 -0
- package/src/tests/workspaces/language/reference.ts +9 -0
- package/src/text-editor.ts +318 -0
- package/src/tree-node.ts +98 -0
- package/src/utils/element.ts +35 -0
- package/src/utils/index.ts +2 -0
- package/src/utils/key.ts +6 -0
- package/src/view-base.ts +11 -0
- package/src/view.ts +90 -0
- package/src/workspace.ts +36 -0
package/lib/debug-view.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.OpenSumiDebugView = void 0;
|
|
|
4
4
|
const panel_1 = require("./panel");
|
|
5
5
|
class OpenSumiDebugView extends panel_1.OpenSumiPanel {
|
|
6
6
|
constructor(app) {
|
|
7
|
-
super(app, '
|
|
7
|
+
super(app, 'DEBUG');
|
|
8
8
|
this.selector = {
|
|
9
9
|
toolbarClass: "[class*='debug_configuration_toolbar___']",
|
|
10
10
|
actionStartID: "[id='debug.action.start']",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff-editor.d.ts","sourceRoot":"","sources":["../src/diff-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,qBAAa,kBAAmB,SAAQ,kBAAkB;CAAG"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenSumiDiffEditor = void 0;
|
|
4
|
+
const text_editor_1 = require("./text-editor");
|
|
5
|
+
class OpenSumiDiffEditor extends text_editor_1.OpenSumiTextEditor {
|
|
6
|
+
}
|
|
7
|
+
exports.OpenSumiDiffEditor = OpenSumiDiffEditor;
|
|
8
|
+
//# sourceMappingURL=diff-editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff-editor.js","sourceRoot":"","sources":["../src/diff-editor.ts"],"names":[],"mappings":";;;AAAA,+CAAmD;AAEnD,MAAa,kBAAmB,SAAQ,gCAAkB;CAAG;AAA7D,gDAA6D"}
|
package/lib/editor.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { OpenSumiApp } from './app';
|
|
2
|
-
import {
|
|
2
|
+
import { OpenSumiTreeNode } from './tree-node';
|
|
3
3
|
import { OpenSumiView } from './view';
|
|
4
4
|
export declare class OpenSumiEditor extends OpenSumiView {
|
|
5
5
|
private readonly filestatElement?;
|
|
6
|
-
constructor(app: OpenSumiApp, filestatElement?:
|
|
6
|
+
constructor(app: OpenSumiApp, filestatElement?: OpenSumiTreeNode | undefined);
|
|
7
7
|
getTab(): Promise<import("@playwright/test").ElementHandle<SVGElement | HTMLElement> | undefined>;
|
|
8
8
|
getContainer(selector?: string): Promise<import("@playwright/test").ElementHandle<SVGElement | HTMLElement> | null | undefined>;
|
|
9
9
|
getCurrentTab(): Promise<import("@playwright/test").ElementHandle<SVGElement | HTMLElement> | undefined>;
|
package/lib/editor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../src/editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../src/editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,qBAAa,cAAe,SAAQ,YAAY;IAChB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;gBAAnD,GAAG,EAAE,WAAW,EAAmB,eAAe,CAAC,8BAAkB;IAQ3E,MAAM;IAgBN,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM;IAQ9B,aAAa;IAIb,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO;IAOtB,SAAS;IAMT,OAAO;IAOP,IAAI;IAWJ,KAAK;IAYL,YAAY;IAKZ,IAAI,CAAC,KAAK,SAAI;IAQd,IAAI,CAAC,KAAK,SAAI;IAQd,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAY7B,oBAAoB,CAAC,EAAE,EAAE,MAAM;CAWtC"}
|
package/lib/editor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.js","sourceRoot":"","sources":["../src/editor.ts"],"names":[],"mappings":";;;AACA,yCAAsD;AAEtD,iCAAsC;AAEtC,MAAa,cAAe,SAAQ,mBAAY;IAC9C,YAAY,GAAgB,EAAmB,
|
|
1
|
+
{"version":3,"file":"editor.js","sourceRoot":"","sources":["../src/editor.ts"],"names":[],"mappings":"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"}
|
package/lib/explorer-view.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export declare class OpenSumiExplorerFileStatNode extends OpenSumiTreeNode {
|
|
|
12
12
|
}
|
|
13
13
|
export declare class OpenSumiExplorerOpenedEditorNode extends OpenSumiTreeNode {
|
|
14
14
|
getRelativePath(): Promise<string | null | undefined>;
|
|
15
|
+
getFsPath(): Promise<string | null>;
|
|
15
16
|
isGroup(): Promise<boolean | undefined>;
|
|
16
17
|
getMenuItemByName(name: string): Promise<import("./menu-item").OpenSumiMenuItem | undefined>;
|
|
17
18
|
open(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explorer-view.d.ts","sourceRoot":"","sources":["../src/explorer-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,qBAAa,4BAA6B,SAAQ,gBAAgB;IAC1D,SAAS;IAIT,QAAQ;IASR,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAM9B,IAAI,CAAC,OAAO,UAAO;IAQnB,OAAO;CAOd;AAED,qBAAa,gCAAiC,SAAQ,gBAAgB;IAC9D,eAAe;IAIf,OAAO;IAMP,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAM9B,IAAI;CAGX;AAED,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,iBAAiB,CAA2B;gBAExC,GAAG,EAAE,WAAW;IAK5B,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAI7B,IAAI,YAAY,yBAEf;IAED,IAAI,gBAAgB,6BAEnB;IAEK,yBAAyB,CAAC,IAAI,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"explorer-view.d.ts","sourceRoot":"","sources":["../src/explorer-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,qBAAa,4BAA6B,SAAQ,gBAAgB;IAC1D,SAAS;IAIT,QAAQ;IASR,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAM9B,IAAI,CAAC,OAAO,UAAO;IAQnB,OAAO;CAOd;AAED,qBAAa,gCAAiC,SAAQ,gBAAgB;IAC9D,eAAe;IAIf,SAAS;IAIT,OAAO;IAMP,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAM9B,IAAI;CAGX;AAED,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,iBAAiB,CAA2B;gBAExC,GAAG,EAAE,WAAW;IAK5B,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAI7B,IAAI,YAAY,yBAEf;IAED,IAAI,gBAAgB,6BAEnB;IAEK,yBAAyB,CAAC,IAAI,EAAE,MAAM;IA0BtC,6BAA6B,CAAC,IAAI,EAAE,MAAM;CAyBjD"}
|
package/lib/explorer-view.js
CHANGED
|
@@ -44,6 +44,9 @@ class OpenSumiExplorerOpenedEditorNode extends tree_node_1.OpenSumiTreeNode {
|
|
|
44
44
|
var _a;
|
|
45
45
|
return await ((_a = (await this.elementHandle.$('[class*="opened_editor_node_description__"]'))) === null || _a === void 0 ? void 0 : _a.textContent());
|
|
46
46
|
}
|
|
47
|
+
async getFsPath() {
|
|
48
|
+
return await this.elementHandle.getAttribute('title');
|
|
49
|
+
}
|
|
47
50
|
async isGroup() {
|
|
48
51
|
const icon = await this.elementHandle.waitForSelector("[class*='file_icon___']");
|
|
49
52
|
const className = await icon.getAttribute('class');
|
|
@@ -61,7 +64,7 @@ class OpenSumiExplorerOpenedEditorNode extends tree_node_1.OpenSumiTreeNode {
|
|
|
61
64
|
exports.OpenSumiExplorerOpenedEditorNode = OpenSumiExplorerOpenedEditorNode;
|
|
62
65
|
class OpenSumiExplorerView extends panel_1.OpenSumiPanel {
|
|
63
66
|
constructor(app) {
|
|
64
|
-
super(app, '
|
|
67
|
+
super(app, 'EXPLORER');
|
|
65
68
|
this._openedEditorView = new opened_editor_view_1.OpenSumiOpenedEditorView(this.app, 'OPENED EDITORS');
|
|
66
69
|
}
|
|
67
70
|
initFileTreeView(name) {
|
|
@@ -74,7 +77,7 @@ class OpenSumiExplorerView extends panel_1.OpenSumiPanel {
|
|
|
74
77
|
return this._openedEditorView;
|
|
75
78
|
}
|
|
76
79
|
async getFileStatTreeNodeByPath(path) {
|
|
77
|
-
var _a;
|
|
80
|
+
var _a, _b;
|
|
78
81
|
const treeItems = await ((_a = (await this.fileTreeView.getViewElement())) === null || _a === void 0 ? void 0 : _a.$$('[class*="file_tree_node__"]'));
|
|
79
82
|
if (!treeItems) {
|
|
80
83
|
return;
|
|
@@ -82,9 +85,18 @@ class OpenSumiExplorerView extends panel_1.OpenSumiPanel {
|
|
|
82
85
|
let node;
|
|
83
86
|
for (const item of treeItems) {
|
|
84
87
|
const title = await item.getAttribute('title');
|
|
85
|
-
if (title === null || title === void 0 ? void 0 : title.
|
|
86
|
-
|
|
87
|
-
|
|
88
|
+
if (title === null || title === void 0 ? void 0 : title.startsWith('Group')) {
|
|
89
|
+
if (title === path) {
|
|
90
|
+
node = item;
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
// The title maybe `~/a.js • Untracked`
|
|
96
|
+
if ((_b = title === null || title === void 0 ? void 0 : title.split(' ')[0]) === null || _b === void 0 ? void 0 : _b.endsWith(path)) {
|
|
97
|
+
node = item;
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
88
100
|
}
|
|
89
101
|
}
|
|
90
102
|
if (node) {
|
|
@@ -92,7 +104,7 @@ class OpenSumiExplorerView extends panel_1.OpenSumiPanel {
|
|
|
92
104
|
}
|
|
93
105
|
}
|
|
94
106
|
async getOpenedEditorTreeNodeByPath(path) {
|
|
95
|
-
var _a;
|
|
107
|
+
var _a, _b;
|
|
96
108
|
const treeItems = await ((_a = (await this.openedEditorView.getViewElement())) === null || _a === void 0 ? void 0 : _a.$$('[class*="opened_editor_node__"]'));
|
|
97
109
|
if (!treeItems) {
|
|
98
110
|
return;
|
|
@@ -100,9 +112,18 @@ class OpenSumiExplorerView extends panel_1.OpenSumiPanel {
|
|
|
100
112
|
let node;
|
|
101
113
|
for (const item of treeItems) {
|
|
102
114
|
const title = await item.getAttribute('title');
|
|
103
|
-
if (title === null || title === void 0 ? void 0 : title.
|
|
104
|
-
|
|
105
|
-
|
|
115
|
+
if (title === null || title === void 0 ? void 0 : title.startsWith('Group')) {
|
|
116
|
+
if (title === path) {
|
|
117
|
+
node = item;
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
// The title maybe `~/a.js • Untracked`
|
|
123
|
+
if ((_b = title === null || title === void 0 ? void 0 : title.split(' ')[0]) === null || _b === void 0 ? void 0 : _b.endsWith(path)) {
|
|
124
|
+
node = item;
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
106
127
|
}
|
|
107
128
|
}
|
|
108
129
|
if (node) {
|
package/lib/explorer-view.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explorer-view.js","sourceRoot":"","sources":["../src/explorer-view.ts"],"names":[],"mappings":";;;AACA,mDAAuD;AACvD,6DAAgE;AAChE,mCAAwC;AACxC,2CAA+C;AAE/C,MAAa,4BAA6B,SAAQ,4BAAgB;IAChE,KAAK,CAAC,SAAS;QACb,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,KAAK,CAAC;SACd;QACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,OAAO,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAY;QAClC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI;QACvB,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;SACrC;aAAM;YACL,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAClC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAC,aAAa,CAAC,EAAE;YACtC,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAnCD,oEAmCC;AAED,MAAa,gCAAiC,SAAQ,4BAAgB;IACpE,KAAK,CAAC,eAAe;;QACnB,OAAO,MAAM,CAAA,MAAA,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,6CAA6C,CAAC,CAAC,0CAAE,WAAW,EAAE,CAAA,CAAC;IAC1G,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC;QACjF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,OAAO,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAY;QAClC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"explorer-view.js","sourceRoot":"","sources":["../src/explorer-view.ts"],"names":[],"mappings":"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"}
|
package/lib/filetree-view.js
CHANGED
|
@@ -5,8 +5,8 @@ const view_1 = require("./view");
|
|
|
5
5
|
class OpenSumiFileTreeView extends view_1.OpenSumiView {
|
|
6
6
|
constructor(app, workspaceName) {
|
|
7
7
|
super(app, {
|
|
8
|
-
viewSelector: '
|
|
9
|
-
tabSelector: '
|
|
8
|
+
viewSelector: '[data-view-id="file-explorer"]',
|
|
9
|
+
tabSelector: '[data-view-id="file-explorer"] [tabindex="0"]',
|
|
10
10
|
name: workspaceName,
|
|
11
11
|
});
|
|
12
12
|
}
|
package/lib/filetree-view.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filetree-view.js","sourceRoot":"","sources":["../src/filetree-view.ts"],"names":[],"mappings":";;;AACA,iCAAsC;AAEtC,MAAa,oBAAqB,SAAQ,mBAAY;IACpD,YAAY,GAAgB,EAAE,aAAqB;QACjD,KAAK,CAAC,GAAG,EAAE;YACT,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"filetree-view.js","sourceRoot":"","sources":["../src/filetree-view.ts"],"names":[],"mappings":";;;AACA,iCAAsC;AAEtC,MAAa,oBAAqB,SAAQ,mBAAY;IACpD,YAAY,GAAgB,EAAE,aAAqB;QACjD,KAAK,CAAC,GAAG,EAAE;YACT,YAAY,EAAE,gCAAgC;YAC9C,WAAW,EAAE,+CAA+C;YAC5D,IAAI,EAAE,aAAa;SACpB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAY;QACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QACD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,4BAA4B,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC;QAChE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,IAAI,KAAK,KAAK,EAAE;gBAClB,OAAO,MAAM,CAAC;aACf;SACF;IACH,CAAC;CACF;AAxBD,oDAwBC"}
|
|
@@ -5,8 +5,8 @@ const view_1 = require("./view");
|
|
|
5
5
|
class OpenSumiOpenedEditorView extends view_1.OpenSumiView {
|
|
6
6
|
constructor(app, workspaceName) {
|
|
7
7
|
super(app, {
|
|
8
|
-
viewSelector: '
|
|
9
|
-
tabSelector: '
|
|
8
|
+
viewSelector: '[data-view-id="file-opened-editor"]',
|
|
9
|
+
tabSelector: '[data-view-id="file-opened-editor"] [tabindex="0"]',
|
|
10
10
|
name: workspaceName,
|
|
11
11
|
});
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opened-editor-view.js","sourceRoot":"","sources":["../src/opened-editor-view.ts"],"names":[],"mappings":";;;AACA,iCAAsC;AAEtC,MAAa,wBAAyB,SAAQ,mBAAY;IACxD,YAAY,GAAgB,EAAE,aAAqB;QACjD,KAAK,CAAC,GAAG,EAAE;YACT,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"opened-editor-view.js","sourceRoot":"","sources":["../src/opened-editor-view.ts"],"names":[],"mappings":";;;AACA,iCAAsC;AAEtC,MAAa,wBAAyB,SAAQ,mBAAY;IACxD,YAAY,GAAgB,EAAE,aAAqB;QACjD,KAAK,CAAC,GAAG,EAAE;YACT,YAAY,EAAE,qCAAqC;YACnD,WAAW,EAAE,oDAAoD;YACjE,IAAI,EAAE,aAAa;SACpB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAY;QACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QACD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,4BAA4B,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC;QAChE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,IAAI,KAAK,KAAK,EAAE;gBAClB,OAAO,MAAM,CAAC;aACf;SACF;IACH,CAAC;CACF;AAxBD,4DAwBC"}
|
package/lib/panel.js
CHANGED
|
@@ -9,7 +9,7 @@ class OpenSumiPanel extends view_base_1.OpenSumiViewBase {
|
|
|
9
9
|
this.whenReady = this.init();
|
|
10
10
|
}
|
|
11
11
|
get viewSelector() {
|
|
12
|
-
return
|
|
12
|
+
return `[data-viewlet-id="${this.viewId.toLocaleLowerCase()}"]`;
|
|
13
13
|
}
|
|
14
14
|
async init() {
|
|
15
15
|
this.view = await this.page.$(this.viewSelector);
|
|
@@ -24,7 +24,7 @@ class OpenSumiPanel extends view_base_1.OpenSumiViewBase {
|
|
|
24
24
|
return;
|
|
25
25
|
}
|
|
26
26
|
await this.app.quickOpenPalette.type('view ');
|
|
27
|
-
await this.app.quickOpenPalette.trigger(this.viewId
|
|
27
|
+
await this.app.quickOpenPalette.trigger(this.viewId);
|
|
28
28
|
await this.waitForVisible();
|
|
29
29
|
this.view = await this.page.$(this.viewSelector);
|
|
30
30
|
return this;
|
package/lib/panel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel.js","sourceRoot":"","sources":["../src/panel.ts"],"names":[],"mappings":";;;AAGA,2CAA+C;AAE/C,MAAsB,aAAc,SAAQ,4BAAgB;IAI1D,YAAY,GAAgB,EAAU,MAAc;QAClD,KAAK,CAAC,GAAG,CAAC,CAAC;QADyB,WAAM,GAAN,MAAM,CAAQ;QAElD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,
|
|
1
|
+
{"version":3,"file":"panel.js","sourceRoot":"","sources":["../src/panel.ts"],"names":[],"mappings":";;;AAGA,2CAA+C;AAE/C,MAAsB,aAAc,SAAQ,4BAAgB;IAI1D,YAAY,GAAgB,EAAU,MAAc;QAClD,KAAK,CAAC,GAAG,CAAC,CAAC;QADyB,WAAM,GAAN,MAAM,CAAQ;QAElD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,qBAAqB,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,SAAS;;QACb,MAAM,IAAI,CAAC,SAAS,CAAC;QACrB,OAAO,MAAA,IAAI,CAAC,IAAI,0CAAE,SAAS,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO;SACR;QACD,MAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,KAAK;;QACT,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;SACnB;QACD,MAAM,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,EAAE,CAAA,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3E,CAAC;CACF;AA5CD,sCA4CC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { OpenSumiApp } from './app';
|
|
2
|
+
import { OpenSumiOpenedEditorView } from './opened-editor-view';
|
|
3
|
+
import { OpenSumiPanel } from './panel';
|
|
4
|
+
import { OpenSumiSourceControlView } from './source-control-view';
|
|
5
|
+
import { OpenSumiTreeNode } from './tree-node';
|
|
6
|
+
export declare class OpenSumiSCMFileStatNode extends OpenSumiTreeNode {
|
|
7
|
+
getFsPath(): Promise<string | null>;
|
|
8
|
+
isFolder(): Promise<boolean | undefined>;
|
|
9
|
+
getMenuItemByName(name: string): Promise<import("./menu-item").OpenSumiMenuItem | undefined>;
|
|
10
|
+
open(): Promise<void>;
|
|
11
|
+
getBadge(): Promise<string | null | undefined>;
|
|
12
|
+
}
|
|
13
|
+
export declare class OpenSumiSCMView extends OpenSumiPanel {
|
|
14
|
+
private _scmView;
|
|
15
|
+
private _openedEditorView;
|
|
16
|
+
constructor(app: OpenSumiApp);
|
|
17
|
+
get scmView(): OpenSumiSourceControlView;
|
|
18
|
+
get openedEditorView(): OpenSumiOpenedEditorView;
|
|
19
|
+
getFileStatTreeNodeByPath(path: string): Promise<OpenSumiSCMFileStatNode | undefined>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=scm-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scm-view.d.ts","sourceRoot":"","sources":["../src/scm-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,qBAAa,uBAAwB,SAAQ,gBAAgB;IACrD,SAAS;IAIT,QAAQ;IASR,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAM9B,IAAI;IAIJ,QAAQ;CAIf;AAED,qBAAa,eAAgB,SAAQ,aAAa;IAChD,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,iBAAiB,CAA2B;gBAExC,GAAG,EAAE,WAAW;IAK5B,IAAI,OAAO,8BAEV;IAED,IAAI,gBAAgB,6BAEnB;IAEK,yBAAyB,CAAC,IAAI,EAAE,MAAM;CAkB7C"}
|
package/lib/scm-view.js
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenSumiSCMView = exports.OpenSumiSCMFileStatNode = void 0;
|
|
4
|
+
const panel_1 = require("./panel");
|
|
5
|
+
const source_control_view_1 = require("./source-control-view");
|
|
6
|
+
const tree_node_1 = require("./tree-node");
|
|
7
|
+
class OpenSumiSCMFileStatNode extends tree_node_1.OpenSumiTreeNode {
|
|
8
|
+
async getFsPath() {
|
|
9
|
+
return await this.elementHandle.getAttribute('title');
|
|
10
|
+
}
|
|
11
|
+
async isFolder() {
|
|
12
|
+
const icon = await this.elementHandle.$("[class*='file_icon___']");
|
|
13
|
+
if (!icon) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
const className = await icon.getAttribute('class');
|
|
17
|
+
return className === null || className === void 0 ? void 0 : className.includes('folder-icon');
|
|
18
|
+
}
|
|
19
|
+
async getMenuItemByName(name) {
|
|
20
|
+
const contextMenu = await this.openContextMenu();
|
|
21
|
+
const menuItem = await contextMenu.menuItemByName(name);
|
|
22
|
+
return menuItem;
|
|
23
|
+
}
|
|
24
|
+
async open() {
|
|
25
|
+
await this.elementHandle.click();
|
|
26
|
+
}
|
|
27
|
+
async getBadge() {
|
|
28
|
+
const status = await this.elementHandle.$('[class*="scm_tree_node_status___"]');
|
|
29
|
+
return await (status === null || status === void 0 ? void 0 : status.textContent());
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.OpenSumiSCMFileStatNode = OpenSumiSCMFileStatNode;
|
|
33
|
+
class OpenSumiSCMView extends panel_1.OpenSumiPanel {
|
|
34
|
+
constructor(app) {
|
|
35
|
+
super(app, 'SCM');
|
|
36
|
+
this._scmView = new source_control_view_1.OpenSumiSourceControlView(app, 'SOURCE CONTROL');
|
|
37
|
+
}
|
|
38
|
+
get scmView() {
|
|
39
|
+
return this._scmView;
|
|
40
|
+
}
|
|
41
|
+
get openedEditorView() {
|
|
42
|
+
return this._openedEditorView;
|
|
43
|
+
}
|
|
44
|
+
async getFileStatTreeNodeByPath(path) {
|
|
45
|
+
var _a, _b;
|
|
46
|
+
const treeItems = await ((_a = (await this.scmView.getViewElement())) === null || _a === void 0 ? void 0 : _a.$$('[class*="scm_tree_node___"]'));
|
|
47
|
+
if (!treeItems) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
let node;
|
|
51
|
+
for (const item of treeItems) {
|
|
52
|
+
const title = await item.getAttribute('title');
|
|
53
|
+
// title maybe `a.js • Untracked`
|
|
54
|
+
if ((_b = title === null || title === void 0 ? void 0 : title.split(' ')[0]) === null || _b === void 0 ? void 0 : _b.endsWith(path)) {
|
|
55
|
+
node = item;
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (node) {
|
|
60
|
+
return new OpenSumiSCMFileStatNode(node, this.app);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.OpenSumiSCMView = OpenSumiSCMView;
|
|
65
|
+
//# sourceMappingURL=scm-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scm-view.js","sourceRoot":"","sources":["../src/scm-view.ts"],"names":[],"mappings":";;;AAGA,mCAAwC;AACxC,+DAAkE;AAClE,2CAA+C;AAE/C,MAAa,uBAAwB,SAAQ,4BAAgB;IAC3D,KAAK,CAAC,SAAS;QACb,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,KAAK,CAAC;SACd;QACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnD,OAAO,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAY;QAClC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC;QAChF,OAAO,MAAM,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,EAAE,CAAA,CAAC;IACrC,CAAC;CACF;AA5BD,0DA4BC;AAED,MAAa,eAAgB,SAAQ,qBAAa;IAIhD,YAAY,GAAgB;QAC1B,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,+CAAyB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,IAAY;;QAC1C,MAAM,SAAS,GAAG,MAAM,CAAA,MAAA,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,0CAAE,EAAE,CAAC,6BAA6B,CAAC,CAAA,CAAC;QACjG,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QACD,IAAI,IAAI,CAAC;QACT,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;YAC5B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC/C,iCAAiC;YACjC,IAAI,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,0CAAE,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACxC,IAAI,GAAG,IAAI,CAAC;gBACZ,MAAM;aACP;SACF;QACD,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;SACpD;IACH,CAAC;CACF;AAnCD,0CAmCC"}
|
package/lib/search-view.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.OpenSumiSearchView = void 0;
|
|
|
4
4
|
const panel_1 = require("./panel");
|
|
5
5
|
class OpenSumiSearchView extends panel_1.OpenSumiPanel {
|
|
6
6
|
constructor(app) {
|
|
7
|
-
super(app, '
|
|
7
|
+
super(app, 'SEARCH');
|
|
8
8
|
}
|
|
9
9
|
get searchInputSelector() {
|
|
10
10
|
return '#search-input-field';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { OpenSumiApp } from './app';
|
|
2
|
+
import { OpenSumiView } from './view';
|
|
3
|
+
export declare class OpenSumiSourceControlView extends OpenSumiView {
|
|
4
|
+
constructor(app: OpenSumiApp, name: string);
|
|
5
|
+
getTitleActionByName(name: string): Promise<import("@playwright/test").ElementHandle<SVGElement | HTMLElement> | undefined>;
|
|
6
|
+
getTitleActionById(id: string): Promise<import("@playwright/test").ElementHandle<SVGElement | HTMLElement> | undefined>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=source-control-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-control-view.d.ts","sourceRoot":"","sources":["../src/source-control-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,qBAAa,yBAA0B,SAAQ,YAAY;gBAC7C,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM;IAQpC,oBAAoB,CAAC,IAAI,EAAE,MAAM;IAgBjC,kBAAkB,CAAC,EAAE,EAAE,MAAM;CAepC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenSumiSourceControlView = void 0;
|
|
4
|
+
const view_1 = require("./view");
|
|
5
|
+
class OpenSumiSourceControlView extends view_1.OpenSumiView {
|
|
6
|
+
constructor(app, name) {
|
|
7
|
+
super(app, {
|
|
8
|
+
viewSelector: '[data-view-id="scm_view"]',
|
|
9
|
+
tabSelector: '[data-view-id="scm_view"] [tabindex="0"]',
|
|
10
|
+
name,
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
async getTitleActionByName(name) {
|
|
14
|
+
const header = await this.page.$('.scm [class*="titlebar___"]');
|
|
15
|
+
if (!header) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
await header.hover();
|
|
19
|
+
const titleAction = await header.waitForSelector('[class*="titleActions___"]');
|
|
20
|
+
const actions = await titleAction.$$('[class*="iconAction__"]');
|
|
21
|
+
for (const action of actions) {
|
|
22
|
+
const title = await action.getAttribute('title');
|
|
23
|
+
if (name === title) {
|
|
24
|
+
return action;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async getTitleActionById(id) {
|
|
29
|
+
const header = await this.page.$('.scm [class*="titlebar___"]');
|
|
30
|
+
if (!header) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
await header.hover();
|
|
34
|
+
const titleAction = await header.waitForSelector('[class*="titleActions___"]');
|
|
35
|
+
const actions = await titleAction.$$('[class*="iconAction__"]');
|
|
36
|
+
for (const action of actions) {
|
|
37
|
+
const itemId = await action.getAttribute('id');
|
|
38
|
+
if (id === itemId) {
|
|
39
|
+
return action;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.OpenSumiSourceControlView = OpenSumiSourceControlView;
|
|
45
|
+
//# sourceMappingURL=source-control-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-control-view.js","sourceRoot":"","sources":["../src/source-control-view.ts"],"names":[],"mappings":";;;AACA,iCAAsC;AAEtC,MAAa,yBAA0B,SAAQ,mBAAY;IACzD,YAAY,GAAgB,EAAE,IAAY;QACxC,KAAK,CAAC,GAAG,EAAE;YACT,YAAY,EAAE,2BAA2B;YACzC,WAAW,EAAE,0CAA0C;YACvD,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAY;QACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QACD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,4BAA4B,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC;QAChE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,IAAI,KAAK,KAAK,EAAE;gBAClB,OAAO,MAAM,CAAC;aACf;SACF;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EAAU;QACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QACD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,4BAA4B,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC;QAChE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,EAAE,KAAK,MAAM,EAAE;gBACjB,OAAO,MAAM,CAAC;aACf;SACF;IACH,CAAC;CACF;AAxCD,8DAwCC"}
|
package/lib/tests/scm.test.js
CHANGED
|
@@ -4,12 +4,15 @@ 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 diff_editor_1 = require("../diff-editor");
|
|
7
8
|
const explorer_view_1 = require("../explorer-view");
|
|
9
|
+
const scm_view_1 = require("../scm-view");
|
|
8
10
|
const terminal_1 = require("../terminal");
|
|
9
11
|
const workspace_1 = require("../workspace");
|
|
10
12
|
const hooks_1 = tslib_1.__importStar(require("./hooks"));
|
|
11
13
|
let app;
|
|
12
14
|
let explorer;
|
|
15
|
+
let scm;
|
|
13
16
|
let fileTreeView;
|
|
14
17
|
let workspace;
|
|
15
18
|
hooks_1.default.describe('OpenSumi SCM Panel', () => {
|
|
@@ -19,15 +22,15 @@ hooks_1.default.describe('OpenSumi SCM Panel', () => {
|
|
|
19
22
|
explorer = await app.open(explorer_view_1.OpenSumiExplorerView);
|
|
20
23
|
explorer.initFileTreeView(workspace.workspace.displayName);
|
|
21
24
|
fileTreeView = explorer.fileTreeView;
|
|
25
|
+
const terminal = await app.open(terminal_1.OpenSumiTerminal);
|
|
26
|
+
// There should have GIT on the PATH
|
|
27
|
+
await terminal.sendText('git init');
|
|
22
28
|
});
|
|
23
29
|
hooks_1.default.afterAll(() => {
|
|
24
30
|
app.dispose();
|
|
25
31
|
});
|
|
26
32
|
(0, hooks_1.default)('The "U" charset should on the files tail after git initialized', async () => {
|
|
27
33
|
await explorer.fileTreeView.open();
|
|
28
|
-
const terminal = await app.open(terminal_1.OpenSumiTerminal);
|
|
29
|
-
// There should have GIT on the PATH
|
|
30
|
-
await terminal.sendText('git init');
|
|
31
34
|
const action = await fileTreeView.getTitleActionByName('Refresh');
|
|
32
35
|
await (action === null || action === void 0 ? void 0 : action.click());
|
|
33
36
|
await app.page.waitForTimeout(2000);
|
|
@@ -35,5 +38,40 @@ hooks_1.default.describe('OpenSumi SCM Panel', () => {
|
|
|
35
38
|
const badge = await (node === null || node === void 0 ? void 0 : node.badge());
|
|
36
39
|
(0, test_1.expect)(badge).toBe('U');
|
|
37
40
|
});
|
|
41
|
+
(0, hooks_1.default)('The "U" charset should on the files tail on SCM view', async () => {
|
|
42
|
+
scm = await app.open(scm_view_1.OpenSumiSCMView);
|
|
43
|
+
await scm.open();
|
|
44
|
+
await app.page.waitForTimeout(2000);
|
|
45
|
+
const node = await scm.getFileStatTreeNodeByPath('a.js');
|
|
46
|
+
const badge = await (node === null || node === void 0 ? void 0 : node.getBadge());
|
|
47
|
+
(0, test_1.expect)(badge).toBe('U');
|
|
48
|
+
});
|
|
49
|
+
(0, hooks_1.default)('Open file from context menu', async () => {
|
|
50
|
+
scm = await app.open(scm_view_1.OpenSumiSCMView);
|
|
51
|
+
await scm.open();
|
|
52
|
+
const node = await scm.getFileStatTreeNodeByPath('a.js');
|
|
53
|
+
const item = await (node === null || node === void 0 ? void 0 : node.getMenuItemByName('Open File'));
|
|
54
|
+
await (item === null || item === void 0 ? void 0 : item.click());
|
|
55
|
+
await app.page.waitForTimeout(1000);
|
|
56
|
+
if (node) {
|
|
57
|
+
const editor = new diff_editor_1.OpenSumiDiffEditor(app, node);
|
|
58
|
+
const currentTab = await editor.getCurrentTab();
|
|
59
|
+
const dataUri = await (currentTab === null || currentTab === void 0 ? void 0 : currentTab.getAttribute('data-uri'));
|
|
60
|
+
(0, test_1.expect)(dataUri === null || dataUri === void 0 ? void 0 : dataUri.startsWith('file')).toBeTruthy();
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
(0, hooks_1.default)('Open file with diff editor', async () => {
|
|
64
|
+
scm = await app.open(scm_view_1.OpenSumiSCMView);
|
|
65
|
+
await scm.open();
|
|
66
|
+
const node = await scm.getFileStatTreeNodeByPath('a.js');
|
|
67
|
+
await (node === null || node === void 0 ? void 0 : node.open());
|
|
68
|
+
await app.page.waitForTimeout(1000);
|
|
69
|
+
if (node) {
|
|
70
|
+
const editor = new diff_editor_1.OpenSumiDiffEditor(app, node);
|
|
71
|
+
const currentTab = await editor.getCurrentTab();
|
|
72
|
+
const dataUri = await (currentTab === null || currentTab === void 0 ? void 0 : currentTab.getAttribute('data-uri'));
|
|
73
|
+
(0, test_1.expect)(dataUri === null || dataUri === void 0 ? void 0 : dataUri.startsWith('diff')).toBeTruthy();
|
|
74
|
+
}
|
|
75
|
+
});
|
|
38
76
|
});
|
|
39
77
|
//# sourceMappingURL=scm.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scm.test.js","sourceRoot":"","sources":["../../src/tests/scm.test.ts"],"names":[],"mappings":";;;AAAA,wDAAwB;AAExB,2CAA0C;AAE1C,gCAAqC;AACrC,oDAAwD;AAExD,0CAA+C;AAC/C,4CAAiD;AAEjD,yDAAqC;AAErC,IAAI,GAAgB,CAAC;AACrB,IAAI,QAA8B,CAAC;AACnC,IAAI,YAAkC,CAAC;AACvC,IAAI,SAA4B,CAAC;AAEjC,eAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IACvC,eAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;QACxB,SAAS,GAAG,IAAI,6BAAiB,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC,CAAC,CAAC;QAC1F,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;
|
|
1
|
+
{"version":3,"file":"scm.test.js","sourceRoot":"","sources":["../../src/tests/scm.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.test.d.ts","sourceRoot":"","sources":["../../src/tests/settings.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,83 @@
|
|
|
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 app_1 = require("../app");
|
|
7
|
+
const component_editor_1 = require("../component-editor");
|
|
8
|
+
const constans_1 = require("../constans");
|
|
9
|
+
const context_menu_1 = require("../context-menu");
|
|
10
|
+
const explorer_view_1 = require("../explorer-view");
|
|
11
|
+
const utils_1 = require("../utils");
|
|
12
|
+
const workspace_1 = require("../workspace");
|
|
13
|
+
const hooks_1 = tslib_1.__importStar(require("./hooks"));
|
|
14
|
+
let app;
|
|
15
|
+
let explorer;
|
|
16
|
+
let workspace;
|
|
17
|
+
hooks_1.default.describe('OpenSumi Shortcuts', () => {
|
|
18
|
+
hooks_1.default.beforeAll(async () => {
|
|
19
|
+
workspace = new workspace_1.OpenSumiWorkspace([path_1.default.resolve('./src/tests/workspaces/default')]);
|
|
20
|
+
app = await app_1.OpenSumiApp.load(hooks_1.page, workspace);
|
|
21
|
+
explorer = await app.open(explorer_view_1.OpenSumiExplorerView);
|
|
22
|
+
explorer.initFileTreeView(workspace.workspace.displayName);
|
|
23
|
+
});
|
|
24
|
+
hooks_1.default.afterAll(() => {
|
|
25
|
+
app.dispose();
|
|
26
|
+
});
|
|
27
|
+
const openSettingsView = async () => {
|
|
28
|
+
const leftTabbar = await app.page.waitForSelector(`#${constans_1.OPENSUMI_VIEW_CONTAINERS.LEFT_TABBAR}`);
|
|
29
|
+
const settingsButton = await leftTabbar.$('[class*="titleActions___"] span');
|
|
30
|
+
await (settingsButton === null || settingsButton === void 0 ? void 0 : settingsButton.click());
|
|
31
|
+
const menu = new context_menu_1.OpenSumiContextMenu(app);
|
|
32
|
+
await menu.clickMenuItem('Settings');
|
|
33
|
+
};
|
|
34
|
+
(0, hooks_1.default)('open Settings by keybinding', async () => {
|
|
35
|
+
await explorer.fileTreeView.focus();
|
|
36
|
+
await app.page.keyboard.press((0, utils_1.keypressWithCmdCtrl)(','), { delay: 200 });
|
|
37
|
+
const editor = await app.openComponentEditor(component_editor_1.OpenSumiComponentEditor, 'pref:/', 'Settings', "[class*='preferences___']");
|
|
38
|
+
(0, test_1.expect)(await editor.isVisible()).toBeTruthy();
|
|
39
|
+
await editor.close();
|
|
40
|
+
await app.page.waitForTimeout(1000);
|
|
41
|
+
(0, test_1.expect)(await editor.isVisible()).toBeFalsy();
|
|
42
|
+
});
|
|
43
|
+
(0, hooks_1.default)('open Settings by settings button', async () => {
|
|
44
|
+
await openSettingsView();
|
|
45
|
+
const editor = await app.openComponentEditor(component_editor_1.OpenSumiComponentEditor, 'pref:/', 'Settings', "[class*='preferences___']");
|
|
46
|
+
(0, test_1.expect)(await editor.isVisible()).toBeTruthy();
|
|
47
|
+
await editor.close();
|
|
48
|
+
});
|
|
49
|
+
(0, hooks_1.default)('edit settings in settings.json', async () => {
|
|
50
|
+
var _a, _b, _c;
|
|
51
|
+
await openSettingsView();
|
|
52
|
+
const editor = await app.openComponentEditor(component_editor_1.OpenSumiComponentEditor, 'pref:/', 'Settings', "[class*='preferences___']");
|
|
53
|
+
(0, test_1.expect)(await editor.isVisible()).toBeTruthy();
|
|
54
|
+
// Settings => Feature => Search > Include
|
|
55
|
+
const tabs = (await ((_a = (await editor.getContainer())) === null || _a === void 0 ? void 0 : _a.$$('[class*="index_item_wrapper__"]'))) || [];
|
|
56
|
+
let featrueTab;
|
|
57
|
+
for (const tab of tabs) {
|
|
58
|
+
const title = await tab.textContent();
|
|
59
|
+
if (title === 'Feature') {
|
|
60
|
+
featrueTab = tab;
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
await featrueTab.click();
|
|
65
|
+
await app.page.waitForTimeout(1000);
|
|
66
|
+
const items = (await ((_b = (await editor.getContainer())) === null || _b === void 0 ? void 0 : _b.$$('[class*="preference_item___"]'))) || [];
|
|
67
|
+
let searchIncludeItem;
|
|
68
|
+
for (const item of items) {
|
|
69
|
+
const key = await ((_c = (await item.$('[class*="key___"]'))) === null || _c === void 0 ? void 0 : _c.textContent());
|
|
70
|
+
if (key === 'Search > Include ') {
|
|
71
|
+
searchIncludeItem = item;
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const editButton = await searchIncludeItem.$('[class*="control_wrap___"] a');
|
|
76
|
+
(0, test_1.expect)(editButton).toBeDefined();
|
|
77
|
+
await editButton.click();
|
|
78
|
+
await app.page.waitForTimeout(2000);
|
|
79
|
+
const currentTab = await editor.getCurrentTab();
|
|
80
|
+
(0, test_1.expect)(await (currentTab === null || currentTab === void 0 ? void 0 : currentTab.textContent())).toBe(' settings.json');
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
//# sourceMappingURL=settings.test.js.map
|