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