MCPcopy Create free account
hub / github.com/SAP/ui5-builder / analyzeModule

Function analyzeModule

test/lib/lbt/analyzer/JSModuleAnalyzer.js:71–116  ·  view source on GitHub ↗
(
	t,
	file,
	name,
	expectedDependencies,
	expectedConditionalDependencies,
	expectedSubmodules,
	ignoreImplicitDependencies,
	rawModule
)

Source from the content-addressed store, hash-verified

69}
70
71async function analyzeModule(
72 t,
73 file,
74 name,
75 expectedDependencies,
76 expectedConditionalDependencies,
77 expectedSubmodules,
78 ignoreImplicitDependencies,
79 rawModule
80) {
81 //
82 return analyze(file, name).then( (info) => {
83 t.is(info.name, name, "module name should match");
84 let deps = info.dependencies;
85 if ( ignoreImplicitDependencies ) {
86 deps = deps.filter((dep) => !info.isImplicitDependency(dep));
87 }
88 if ( expectedDependencies != null ) {
89 assertModuleNamesEqual(t,
90 deps,
91 expectedDependencies,
92 "module dependencies should match");
93 }
94 if ( expectedConditionalDependencies != null ) {
95 assertModuleNamesEqual(t,
96 getConditionalDependencies(info),
97 expectedConditionalDependencies,
98 "conditional module dependencies should match");
99 }
100 if ( expectedSubmodules != null ) {
101 assertModuleNamesEqual(t,
102 info.subModules,
103 expectedSubmodules,
104 "submodules should match");
105 }
106 t.false(info.dynamicDependencies,
107 "no use of dynamic dependencies should have been detected");
108 if (rawModule) {
109 t.true(info.rawModule,
110 "raw module");
111 } else {
112 t.false(info.rawModule,
113 "ui5 module");
114 }
115 }); // .then(() => t.end(), (e) => t.fail(`failed to analyze module with error: ${e.message}`));
116}
117
118test("Check for consistency between VisitorKeys and EnrichedVisitorKeys", (t) => {
119 // This test is supposed to run and might fail when a new ecmaVersion is configured to be used

Callers 1

Calls 4

assertModuleNamesEqualFunction · 0.85
isImplicitDependencyMethod · 0.80
analyzeFunction · 0.70

Tested by

no test coverage detected