This repository has been archived by the owner on Nov 8, 2022. It is now read-only.
/
ui5.test.js
78 lines (69 loc) · 2.43 KB
/
ui5.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
var { findAllUi5StandardModules, findUi5ModuleName, findAllImportModules } = require("./ui5");
var { readFileSync } = require("fs");
const testDialogDependency = [
'sap/m/Bar',
'sap/m/InstanceManager',
'sap/m/AssociativeOverflowToolbar',
'sap/m/ToolbarSpacer',
'sap/m/Title',
'sap/m/library',
'sap/ui/core/Control',
'sap/ui/core/IconPool',
'sap/ui/core/Popup',
'sap/ui/core/delegate/ScrollEnablement',
'sap/ui/core/RenderManager',
'sap/ui/core/InvisibleText',
'sap/ui/core/ResizeHandler',
'sap/ui/Device',
'sap/ui/base/ManagedObject',
'sap/ui/core/library',
'sap/m/TitlePropagationSupport',
'sap/m/DialogRenderer',
'sap/base/Log',
'sap/ui/thirdparty/jquery',
'sap/ui/core/Core',
'sap/ui/core/Configuration',
'sap/ui/dom/jquery/control',
'sap/ui/dom/jquery/Focusable'
];
test('should find sap.ui.define modules (compressed)', () => {
expect(findAllUi5StandardModules(readFileSync("./test_resources/sap.m.Dialog.js"), "sap/m/Dialog")).toStrictEqual(testDialogDependency);
});
test('should find sap.ui.define modules', () => {
expect(findAllUi5StandardModules(readFileSync("./test_resources/sap.m.Dialog.2.js"), "sap/m/Dialog")).toStrictEqual(testDialogDependency);
});
const testGlobalDependency = [
'sap/ui/base/Object',
'sap/ui/VersionInfo',
'sap/base/Log',
'sap/base/assert',
'sap/base/util/ObjectPath'
];
test('should find sap.ui.require modules', () => {
expect(findAllUi5StandardModules(readFileSync("./test_resources/sap.ui.Global.js"), "sap/ui/Global").sort()).toStrictEqual(testGlobalDependency.sort());
});
test('should find tsx files modules (empty but without errors)', () => {
expect(findAllUi5StandardModules(readFileSync("./test_resources/ProductRating.tsx"), "test/ProductRating").sort()).toStrictEqual([].sort());
});
test('should find ui5 module name', () => {
expect(
findUi5ModuleName(
readFileSync("./test_resources/ui5.wt.ts.model.formatter.js")
)
).toBe("ui5/wt/ts/model/formatter");
});
test("should find es6 imported sources", () => {
const expected = [ 'sap/ui/core/UIComponent',
'sap/ui/model/json/JSONModel',
'sap/ui/Device',
'ui5/wt/ts/fragments/HelloDialog',
'ui5/wt/ts/manifest',
'sap/m/Dialog',
'sap/ui/model/BindingMode',
'sap/ui/core/mvc/View',
'sap/ui/core/mvc/Controller'
] .sort();
expect(
findAllImportModules(readFileSync("./test_resources/Component.ts"), "ui5/wt/ts/Component").sort()
).toStrictEqual(expected);
});