( t, file, name, expectedDependencies, expectedConditionalDependencies, expectedSubmodules, ignoreImplicitDependencies, rawModule )
| 69 | } |
| 70 | |
| 71 | async 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 | |
| 118 | test("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 |
no test coverage detected