UNPKG

2.49 kBJavaScriptView Raw
1var { findAllUi5StandardModules, findUi5ModuleName, findAllImportModules } = require("./ui5");
2var { readFileSync } = require("fs");
3
4const 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
32test('should find sap.ui.define modules (compressed)', () => {
33 expect(findAllUi5StandardModules(readFileSync("./test_resources/sap.m.Dialog.js"), "sap/m/Dialog")).toStrictEqual(testDialogDependency);
34});
35
36test('should find sap.ui.define modules', () => {
37 expect(findAllUi5StandardModules(readFileSync("./test_resources/sap.m.Dialog.2.js"), "sap/m/Dialog")).toStrictEqual(testDialogDependency);
38});
39
40const 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
48test('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
52test('should find tsx files modules (empty but without errors)', () => {
53 expect(findAllUi5StandardModules(readFileSync("./test_resources/ProductRating.tsx"), "test/ProductRating").sort()).toStrictEqual([].sort());
54});
55
56test('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
64test("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