@redhat-developer/page-objects 1.0.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/LICENSE +202 -0
- package/README.md +5 -0
- package/out/components/AbstractElement.d.ts +35 -0
- package/out/components/AbstractElement.js +69 -0
- package/out/components/ElementWithContextMenu.d.ts +11 -0
- package/out/components/ElementWithContextMenu.js +38 -0
- package/out/components/WebviewMixin.d.ts +29 -0
- package/out/components/WebviewMixin.js +70 -0
- package/out/components/activityBar/ActionsControl.d.ts +18 -0
- package/out/components/activityBar/ActionsControl.js +27 -0
- package/out/components/activityBar/ActivityBar.d.ts +30 -0
- package/out/components/activityBar/ActivityBar.js +71 -0
- package/out/components/activityBar/ViewControl.d.ts +23 -0
- package/out/components/activityBar/ViewControl.js +56 -0
- package/out/components/bottomBar/AbstractViews.d.ts +38 -0
- package/out/components/bottomBar/AbstractViews.js +88 -0
- package/out/components/bottomBar/BottomBarPanel.d.ts +47 -0
- package/out/components/bottomBar/BottomBarPanel.js +123 -0
- package/out/components/bottomBar/ProblemsView.d.ts +88 -0
- package/out/components/bottomBar/ProblemsView.js +149 -0
- package/out/components/bottomBar/Views.d.ts +75 -0
- package/out/components/bottomBar/Views.js +195 -0
- package/out/components/bottomBar/WebviewView.d.ts +12 -0
- package/out/components/bottomBar/WebviewView.js +21 -0
- package/out/components/dialog/ModalDialog.d.ts +32 -0
- package/out/components/dialog/ModalDialog.js +56 -0
- package/out/components/editor/Breakpoint.d.ts +18 -0
- package/out/components/editor/Breakpoint.js +38 -0
- package/out/components/editor/ContentAssist.d.ts +34 -0
- package/out/components/editor/ContentAssist.js +94 -0
- package/out/components/editor/CustomEditor.d.ts +26 -0
- package/out/components/editor/CustomEditor.js +45 -0
- package/out/components/editor/DiffEditor.d.ts +19 -0
- package/out/components/editor/DiffEditor.js +31 -0
- package/out/components/editor/Editor.d.ts +17 -0
- package/out/components/editor/Editor.js +29 -0
- package/out/components/editor/EditorAction.d.ts +10 -0
- package/out/components/editor/EditorAction.js +17 -0
- package/out/components/editor/EditorView.d.ts +153 -0
- package/out/components/editor/EditorView.js +350 -0
- package/out/components/editor/SettingsEditor.d.ts +121 -0
- package/out/components/editor/SettingsEditor.js +278 -0
- package/out/components/editor/TextEditor.d.ts +265 -0
- package/out/components/editor/TextEditor.js +707 -0
- package/out/components/editor/WebView.d.ts +11 -0
- package/out/components/editor/WebView.js +38 -0
- package/out/components/menu/ContextMenu.d.ts +37 -0
- package/out/components/menu/ContextMenu.js +123 -0
- package/out/components/menu/MacTitleBar.d.ts +16 -0
- package/out/components/menu/MacTitleBar.js +41 -0
- package/out/components/menu/Menu.d.ts +38 -0
- package/out/components/menu/Menu.js +53 -0
- package/out/components/menu/MenuItem.d.ts +24 -0
- package/out/components/menu/MenuItem.js +36 -0
- package/out/components/menu/TitleBar.d.ts +36 -0
- package/out/components/menu/TitleBar.js +78 -0
- package/out/components/menu/WindowControls.d.ts +28 -0
- package/out/components/menu/WindowControls.js +59 -0
- package/out/components/sidebar/SideBarView.d.ts +18 -0
- package/out/components/sidebar/SideBarView.js +29 -0
- package/out/components/sidebar/ViewContent.d.ts +57 -0
- package/out/components/sidebar/ViewContent.js +76 -0
- package/out/components/sidebar/ViewItem.d.ts +97 -0
- package/out/components/sidebar/ViewItem.js +192 -0
- package/out/components/sidebar/ViewSection.d.ts +98 -0
- package/out/components/sidebar/ViewSection.js +164 -0
- package/out/components/sidebar/ViewTitlePart.d.ts +35 -0
- package/out/components/sidebar/ViewTitlePart.js +59 -0
- package/out/components/sidebar/WelcomeContent.d.ts +47 -0
- package/out/components/sidebar/WelcomeContent.js +72 -0
- package/out/components/sidebar/debug/DebugView.d.ts +33 -0
- package/out/components/sidebar/debug/DebugView.js +70 -0
- package/out/components/sidebar/extensions/ExtensionsViewItem.d.ts +48 -0
- package/out/components/sidebar/extensions/ExtensionsViewItem.js +93 -0
- package/out/components/sidebar/extensions/ExtensionsViewSection.d.ts +33 -0
- package/out/components/sidebar/extensions/ExtensionsViewSection.js +117 -0
- package/out/components/sidebar/scm/NewScmView.d.ts +34 -0
- package/out/components/sidebar/scm/NewScmView.js +155 -0
- package/out/components/sidebar/scm/ScmView.d.ts +110 -0
- package/out/components/sidebar/scm/ScmView.js +275 -0
- package/out/components/sidebar/tree/TreeSection.d.ts +14 -0
- package/out/components/sidebar/tree/TreeSection.js +55 -0
- package/out/components/sidebar/tree/custom/CustomTreeItem.d.ts +15 -0
- package/out/components/sidebar/tree/custom/CustomTreeItem.js +36 -0
- package/out/components/sidebar/tree/custom/CustomTreeSection.d.ts +26 -0
- package/out/components/sidebar/tree/custom/CustomTreeSection.js +66 -0
- package/out/components/sidebar/tree/debug/BreakpointSectionItem.d.ts +33 -0
- package/out/components/sidebar/tree/debug/BreakpointSectionItem.js +63 -0
- package/out/components/sidebar/tree/debug/DebugBreakpointSection.d.ts +7 -0
- package/out/components/sidebar/tree/debug/DebugBreakpointSection.js +12 -0
- package/out/components/sidebar/tree/debug/DebugVariablesSection.d.ts +7 -0
- package/out/components/sidebar/tree/debug/DebugVariablesSection.js +12 -0
- package/out/components/sidebar/tree/debug/SectionBreakpoint.d.ts +3 -0
- package/out/components/sidebar/tree/debug/SectionBreakpoint.js +8 -0
- package/out/components/sidebar/tree/debug/VariableSectionItem.d.ts +33 -0
- package/out/components/sidebar/tree/debug/VariableSectionItem.js +60 -0
- package/out/components/sidebar/tree/default/DefaultTreeItem.d.ts +14 -0
- package/out/components/sidebar/tree/default/DefaultTreeItem.js +39 -0
- package/out/components/sidebar/tree/default/DefaultTreeSection.d.ts +9 -0
- package/out/components/sidebar/tree/default/DefaultTreeSection.js +44 -0
- package/out/components/statusBar/StatusBar.d.ts +96 -0
- package/out/components/statusBar/StatusBar.js +159 -0
- package/out/components/workbench/DebugToolbar.d.ts +52 -0
- package/out/components/workbench/DebugToolbar.js +93 -0
- package/out/components/workbench/Notification.d.ts +78 -0
- package/out/components/workbench/Notification.js +134 -0
- package/out/components/workbench/NotificationsCenter.d.ts +27 -0
- package/out/components/workbench/NotificationsCenter.js +57 -0
- package/out/components/workbench/Workbench.d.ts +69 -0
- package/out/components/workbench/Workbench.js +135 -0
- package/out/components/workbench/input/Input.d.ts +107 -0
- package/out/components/workbench/input/Input.js +249 -0
- package/out/components/workbench/input/InputBox.d.ts +30 -0
- package/out/components/workbench/input/InputBox.js +75 -0
- package/out/components/workbench/input/QuickOpenBox.d.ts +15 -0
- package/out/components/workbench/input/QuickOpenBox.js +41 -0
- package/out/conditions/WaitForAttribute.d.ts +8 -0
- package/out/conditions/WaitForAttribute.js +17 -0
- package/out/errors/NullAttributeError.d.ts +3 -0
- package/out/errors/NullAttributeError.js +11 -0
- package/out/index.d.ts +67 -0
- package/out/index.js +95 -0
- package/out/locators/loader.d.ts +20 -0
- package/out/locators/loader.js +108 -0
- package/out/locators/locators.d.ts +463 -0
- package/out/locators/locators.js +52 -0
- package/package.json +48 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NullAttributeError = void 0;
|
|
4
|
+
class NullAttributeError extends Error {
|
|
5
|
+
constructor(message) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.name = 'NullAttributeError';
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.NullAttributeError = NullAttributeError;
|
|
11
|
+
//# sourceMappingURL=NullAttributeError.js.map
|
package/out/index.d.ts
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { WebDriver } from 'selenium-webdriver';
|
|
2
|
+
export * from 'selenium-webdriver';
|
|
3
|
+
export * from './locators/locators';
|
|
4
|
+
export * from './errors/NullAttributeError';
|
|
5
|
+
export * from './components/menu/Menu';
|
|
6
|
+
export * from './components/menu/MenuItem';
|
|
7
|
+
export * from './components/menu/TitleBar';
|
|
8
|
+
export * from './components/menu/MacTitleBar';
|
|
9
|
+
export * from './components/menu/ContextMenu';
|
|
10
|
+
export * from './components/menu/WindowControls';
|
|
11
|
+
export * from './components/activityBar/ActivityBar';
|
|
12
|
+
export * from './components/activityBar/ViewControl';
|
|
13
|
+
export * from './components/activityBar/ActionsControl';
|
|
14
|
+
export * from './components/sidebar/SideBarView';
|
|
15
|
+
export * from './components/sidebar/ViewTitlePart';
|
|
16
|
+
export * from './components/sidebar/ViewContent';
|
|
17
|
+
export * from './components/sidebar/ViewSection';
|
|
18
|
+
export * from './components/sidebar/ViewItem';
|
|
19
|
+
export * from './components/sidebar/WelcomeContent';
|
|
20
|
+
export * from './components/sidebar/tree/TreeSection';
|
|
21
|
+
export * from './components/sidebar/tree/default/DefaultTreeSection';
|
|
22
|
+
export * from './components/sidebar/tree/default/DefaultTreeItem';
|
|
23
|
+
export * from './components/sidebar/tree/custom/CustomTreeSection';
|
|
24
|
+
export * from './components/sidebar/tree/custom/CustomTreeItem';
|
|
25
|
+
export * from './components/sidebar/tree/debug/DebugBreakpointSection';
|
|
26
|
+
export * from './components/sidebar/tree/debug/BreakpointSectionItem';
|
|
27
|
+
export * from './components/sidebar/tree/debug/DebugVariablesSection';
|
|
28
|
+
export * from './components/sidebar/tree/debug/VariableSectionItem';
|
|
29
|
+
export * from './components/sidebar/extensions/ExtensionsViewSection';
|
|
30
|
+
export * from './components/sidebar/extensions/ExtensionsViewItem';
|
|
31
|
+
export { ScmView, ScmProvider, ScmChange } from './components/sidebar/scm/ScmView';
|
|
32
|
+
export * from './components/sidebar/scm/NewScmView';
|
|
33
|
+
export * from './components/sidebar/debug/DebugView';
|
|
34
|
+
export * from './components/bottomBar/BottomBarPanel';
|
|
35
|
+
export * from './components/bottomBar/ProblemsView';
|
|
36
|
+
export * from './components/bottomBar/WebviewView';
|
|
37
|
+
export * from './components/bottomBar/Views';
|
|
38
|
+
export * from './components/statusBar/StatusBar';
|
|
39
|
+
export * from './components/editor/EditorView';
|
|
40
|
+
export * from './components/editor/EditorAction';
|
|
41
|
+
export * from './components/editor/Breakpoint';
|
|
42
|
+
export * from './components/editor/TextEditor';
|
|
43
|
+
export * from './components/editor/Editor';
|
|
44
|
+
export * from './components/editor/SettingsEditor';
|
|
45
|
+
export * from './components/editor/DiffEditor';
|
|
46
|
+
export * from './components/editor/WebView';
|
|
47
|
+
export * from './components/editor/ContentAssist';
|
|
48
|
+
export * from './components/editor/CustomEditor';
|
|
49
|
+
export { Notification, NotificationType } from './components/workbench/Notification';
|
|
50
|
+
export * from './components/workbench/NotificationsCenter';
|
|
51
|
+
export * from './components/workbench/input/Input';
|
|
52
|
+
export * from './components/workbench/input/InputBox';
|
|
53
|
+
export * from './components/workbench/input/QuickOpenBox';
|
|
54
|
+
export * from './components/workbench/Workbench';
|
|
55
|
+
export * from './components/workbench/DebugToolbar';
|
|
56
|
+
export * from './components/dialog/ModalDialog';
|
|
57
|
+
export * from './conditions/WaitForAttribute';
|
|
58
|
+
/**
|
|
59
|
+
* Initialize the page objects for your tests
|
|
60
|
+
*
|
|
61
|
+
* @param currentVersion version of the locators to load
|
|
62
|
+
* @param baseVersion base version of the locators if you have multiple versions with diffs, otherwise leave the same as currentVersion
|
|
63
|
+
* @param locatorFolder folder that contains locator files
|
|
64
|
+
* @param driver WebDriver instance
|
|
65
|
+
* @param browserID identifier/name of the browser (i.e. vscode)
|
|
66
|
+
*/
|
|
67
|
+
export declare function initPageObjects(currentVersion: string, baseVersion: string, locatorFolder: string, driver: WebDriver, browserID: string): void;
|
package/out/index.js
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.initPageObjects = exports.NotificationType = exports.Notification = exports.ScmChange = exports.ScmProvider = exports.ScmView = void 0;
|
|
18
|
+
const AbstractElement_1 = require("./components/AbstractElement");
|
|
19
|
+
const loader_1 = require("./locators/loader");
|
|
20
|
+
__exportStar(require("selenium-webdriver"), exports);
|
|
21
|
+
__exportStar(require("./locators/locators"), exports);
|
|
22
|
+
__exportStar(require("./errors/NullAttributeError"), exports);
|
|
23
|
+
__exportStar(require("./components/menu/Menu"), exports);
|
|
24
|
+
__exportStar(require("./components/menu/MenuItem"), exports);
|
|
25
|
+
__exportStar(require("./components/menu/TitleBar"), exports);
|
|
26
|
+
__exportStar(require("./components/menu/MacTitleBar"), exports);
|
|
27
|
+
__exportStar(require("./components/menu/ContextMenu"), exports);
|
|
28
|
+
__exportStar(require("./components/menu/WindowControls"), exports);
|
|
29
|
+
__exportStar(require("./components/activityBar/ActivityBar"), exports);
|
|
30
|
+
__exportStar(require("./components/activityBar/ViewControl"), exports);
|
|
31
|
+
__exportStar(require("./components/activityBar/ActionsControl"), exports);
|
|
32
|
+
__exportStar(require("./components/sidebar/SideBarView"), exports);
|
|
33
|
+
__exportStar(require("./components/sidebar/ViewTitlePart"), exports);
|
|
34
|
+
__exportStar(require("./components/sidebar/ViewContent"), exports);
|
|
35
|
+
__exportStar(require("./components/sidebar/ViewSection"), exports);
|
|
36
|
+
__exportStar(require("./components/sidebar/ViewItem"), exports);
|
|
37
|
+
__exportStar(require("./components/sidebar/WelcomeContent"), exports);
|
|
38
|
+
__exportStar(require("./components/sidebar/tree/TreeSection"), exports);
|
|
39
|
+
__exportStar(require("./components/sidebar/tree/default/DefaultTreeSection"), exports);
|
|
40
|
+
__exportStar(require("./components/sidebar/tree/default/DefaultTreeItem"), exports);
|
|
41
|
+
__exportStar(require("./components/sidebar/tree/custom/CustomTreeSection"), exports);
|
|
42
|
+
__exportStar(require("./components/sidebar/tree/custom/CustomTreeItem"), exports);
|
|
43
|
+
__exportStar(require("./components/sidebar/tree/debug/DebugBreakpointSection"), exports);
|
|
44
|
+
__exportStar(require("./components/sidebar/tree/debug/BreakpointSectionItem"), exports);
|
|
45
|
+
__exportStar(require("./components/sidebar/tree/debug/DebugVariablesSection"), exports);
|
|
46
|
+
__exportStar(require("./components/sidebar/tree/debug/VariableSectionItem"), exports);
|
|
47
|
+
__exportStar(require("./components/sidebar/extensions/ExtensionsViewSection"), exports);
|
|
48
|
+
__exportStar(require("./components/sidebar/extensions/ExtensionsViewItem"), exports);
|
|
49
|
+
var ScmView_1 = require("./components/sidebar/scm/ScmView");
|
|
50
|
+
Object.defineProperty(exports, "ScmView", { enumerable: true, get: function () { return ScmView_1.ScmView; } });
|
|
51
|
+
Object.defineProperty(exports, "ScmProvider", { enumerable: true, get: function () { return ScmView_1.ScmProvider; } });
|
|
52
|
+
Object.defineProperty(exports, "ScmChange", { enumerable: true, get: function () { return ScmView_1.ScmChange; } });
|
|
53
|
+
__exportStar(require("./components/sidebar/scm/NewScmView"), exports);
|
|
54
|
+
__exportStar(require("./components/sidebar/debug/DebugView"), exports);
|
|
55
|
+
__exportStar(require("./components/bottomBar/BottomBarPanel"), exports);
|
|
56
|
+
__exportStar(require("./components/bottomBar/ProblemsView"), exports);
|
|
57
|
+
__exportStar(require("./components/bottomBar/WebviewView"), exports);
|
|
58
|
+
__exportStar(require("./components/bottomBar/Views"), exports);
|
|
59
|
+
__exportStar(require("./components/statusBar/StatusBar"), exports);
|
|
60
|
+
__exportStar(require("./components/editor/EditorView"), exports);
|
|
61
|
+
__exportStar(require("./components/editor/EditorAction"), exports);
|
|
62
|
+
__exportStar(require("./components/editor/Breakpoint"), exports);
|
|
63
|
+
__exportStar(require("./components/editor/TextEditor"), exports);
|
|
64
|
+
__exportStar(require("./components/editor/Editor"), exports);
|
|
65
|
+
__exportStar(require("./components/editor/SettingsEditor"), exports);
|
|
66
|
+
__exportStar(require("./components/editor/DiffEditor"), exports);
|
|
67
|
+
__exportStar(require("./components/editor/WebView"), exports);
|
|
68
|
+
__exportStar(require("./components/editor/ContentAssist"), exports);
|
|
69
|
+
__exportStar(require("./components/editor/CustomEditor"), exports);
|
|
70
|
+
var Notification_1 = require("./components/workbench/Notification");
|
|
71
|
+
Object.defineProperty(exports, "Notification", { enumerable: true, get: function () { return Notification_1.Notification; } });
|
|
72
|
+
Object.defineProperty(exports, "NotificationType", { enumerable: true, get: function () { return Notification_1.NotificationType; } });
|
|
73
|
+
__exportStar(require("./components/workbench/NotificationsCenter"), exports);
|
|
74
|
+
__exportStar(require("./components/workbench/input/Input"), exports);
|
|
75
|
+
__exportStar(require("./components/workbench/input/InputBox"), exports);
|
|
76
|
+
__exportStar(require("./components/workbench/input/QuickOpenBox"), exports);
|
|
77
|
+
__exportStar(require("./components/workbench/Workbench"), exports);
|
|
78
|
+
__exportStar(require("./components/workbench/DebugToolbar"), exports);
|
|
79
|
+
__exportStar(require("./components/dialog/ModalDialog"), exports);
|
|
80
|
+
__exportStar(require("./conditions/WaitForAttribute"), exports);
|
|
81
|
+
/**
|
|
82
|
+
* Initialize the page objects for your tests
|
|
83
|
+
*
|
|
84
|
+
* @param currentVersion version of the locators to load
|
|
85
|
+
* @param baseVersion base version of the locators if you have multiple versions with diffs, otherwise leave the same as currentVersion
|
|
86
|
+
* @param locatorFolder folder that contains locator files
|
|
87
|
+
* @param driver WebDriver instance
|
|
88
|
+
* @param browserID identifier/name of the browser (i.e. vscode)
|
|
89
|
+
*/
|
|
90
|
+
function initPageObjects(currentVersion, baseVersion, locatorFolder, driver, browserID) {
|
|
91
|
+
const locators = new loader_1.LocatorLoader(currentVersion, baseVersion, locatorFolder).loadLocators();
|
|
92
|
+
AbstractElement_1.AbstractElement.init(locators, driver, browserID, currentVersion);
|
|
93
|
+
}
|
|
94
|
+
exports.initPageObjects = initPageObjects;
|
|
95
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Locators } from './locators';
|
|
2
|
+
/**
|
|
3
|
+
* Utility for loading locators for a given vscode version
|
|
4
|
+
*/
|
|
5
|
+
export declare class LocatorLoader {
|
|
6
|
+
private baseVersion;
|
|
7
|
+
private baseFolder;
|
|
8
|
+
private version;
|
|
9
|
+
private locators;
|
|
10
|
+
/**
|
|
11
|
+
* Construct new loader for a given vscode version
|
|
12
|
+
* @param version select version of vscode
|
|
13
|
+
*/
|
|
14
|
+
constructor(version: string, baseVersion: string, baseFolder: string);
|
|
15
|
+
/**
|
|
16
|
+
* Loads locators for the selected vscode version
|
|
17
|
+
* @returns object containing all locators
|
|
18
|
+
*/
|
|
19
|
+
loadLocators(): Locators;
|
|
20
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.LocatorLoader = void 0;
|
|
30
|
+
const fs = __importStar(require("fs-extra"));
|
|
31
|
+
const path = __importStar(require("path"));
|
|
32
|
+
const compare_versions_1 = require("compare-versions");
|
|
33
|
+
const clone_deep_1 = __importDefault(require("clone-deep"));
|
|
34
|
+
/**
|
|
35
|
+
* Utility for loading locators for a given vscode version
|
|
36
|
+
*/
|
|
37
|
+
class LocatorLoader {
|
|
38
|
+
baseVersion;
|
|
39
|
+
baseFolder;
|
|
40
|
+
version;
|
|
41
|
+
locators;
|
|
42
|
+
/**
|
|
43
|
+
* Construct new loader for a given vscode version
|
|
44
|
+
* @param version select version of vscode
|
|
45
|
+
*/
|
|
46
|
+
constructor(version, baseVersion, baseFolder) {
|
|
47
|
+
this.version = version;
|
|
48
|
+
if (version.endsWith('-insider')) {
|
|
49
|
+
this.version = version.substring(0, version.indexOf('-insider'));
|
|
50
|
+
}
|
|
51
|
+
this.baseVersion = baseVersion;
|
|
52
|
+
this.baseFolder = path.resolve(baseFolder);
|
|
53
|
+
const temp = require(path.resolve(baseFolder, baseVersion));
|
|
54
|
+
this.locators = temp.locators;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Loads locators for the selected vscode version
|
|
58
|
+
* @returns object containing all locators
|
|
59
|
+
*/
|
|
60
|
+
loadLocators() {
|
|
61
|
+
let versions = fs.readdirSync(this.baseFolder)
|
|
62
|
+
.filter((file) => file.endsWith('.js'))
|
|
63
|
+
.map((file) => path.basename(file, '.js'));
|
|
64
|
+
if ((0, compare_versions_1.compareVersions)(this.baseVersion, this.version) === 0) {
|
|
65
|
+
return this.locators;
|
|
66
|
+
}
|
|
67
|
+
if ((0, compare_versions_1.compareVersions)(this.baseVersion, this.version) < 0) {
|
|
68
|
+
versions = versions.filter((ver) => (0, compare_versions_1.compareVersions)(this.baseVersion, ver) < 0 &&
|
|
69
|
+
(0, compare_versions_1.compareVersions)(ver, this.version) <= 0)
|
|
70
|
+
.sort(compare_versions_1.compareVersions);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
versions = versions.filter((ver) => (0, compare_versions_1.compareVersions)(this.baseVersion, ver) > 0 &&
|
|
74
|
+
(0, compare_versions_1.compareVersions)(ver, this.version) >= 0)
|
|
75
|
+
.sort(compare_versions_1.compareVersions).reverse();
|
|
76
|
+
}
|
|
77
|
+
for (let version of versions) {
|
|
78
|
+
const diff = require(path.join(this.baseFolder, version)).diff;
|
|
79
|
+
const newLocators = mergeLocators(this.locators, diff);
|
|
80
|
+
this.locators = newLocators;
|
|
81
|
+
}
|
|
82
|
+
return this.locators;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.LocatorLoader = LocatorLoader;
|
|
86
|
+
function mergeLocators(original, diff) {
|
|
87
|
+
const target = (0, clone_deep_1.default)(original);
|
|
88
|
+
const targetDiff = diff.locators;
|
|
89
|
+
merge(target, targetDiff);
|
|
90
|
+
return target;
|
|
91
|
+
}
|
|
92
|
+
function merge(target, obj) {
|
|
93
|
+
for (const key in obj) {
|
|
94
|
+
if (key === '__proto__' || !Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
let oldVal = obj[key];
|
|
98
|
+
let newVal = target[key];
|
|
99
|
+
if (typeof (newVal) === 'object' && typeof (oldVal) === 'object') {
|
|
100
|
+
target[key] = merge(newVal, oldVal);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
target[key] = (0, clone_deep_1.default)(oldVal);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return target;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=loader.js.map
|