(name, testEnvironment, modifiers)
| 1121 | var moduleStack = []; |
| 1122 | |
| 1123 | function createModule(name, testEnvironment, modifiers) { |
| 1124 | var parentModule = moduleStack.length ? moduleStack.slice(-1)[0] : null; |
| 1125 | var moduleName = parentModule !== null ? [parentModule.name, name].join(" > ") : name; |
| 1126 | var parentSuite = parentModule ? parentModule.suiteReport : globalSuite; |
| 1127 | |
| 1128 | var skip = parentModule !== null && parentModule.skip || modifiers.skip; |
| 1129 | var todo = parentModule !== null && parentModule.todo || modifiers.todo; |
| 1130 | |
| 1131 | var module = { |
| 1132 | name: moduleName, |
| 1133 | parentModule: parentModule, |
| 1134 | tests: [], |
| 1135 | moduleId: generateHash(moduleName), |
| 1136 | testsRun: 0, |
| 1137 | unskippedTestsRun: 0, |
| 1138 | childModules: [], |
| 1139 | suiteReport: new SuiteReport(name, parentSuite), |
| 1140 | |
| 1141 | // Pass along `skip` and `todo` properties from parent module, in case |
| 1142 | // there is one, to childs. And use own otherwise. |
| 1143 | // This property will be used to mark own tests and tests of child suites |
| 1144 | // as either `skipped` or `todo`. |
| 1145 | skip: skip, |
| 1146 | todo: skip ? false : todo |
| 1147 | }; |
| 1148 | |
| 1149 | var env = {}; |
| 1150 | if (parentModule) { |
| 1151 | parentModule.childModules.push(module); |
| 1152 | extend(env, parentModule.testEnvironment); |
| 1153 | } |
| 1154 | extend(env, testEnvironment); |
| 1155 | module.testEnvironment = env; |
| 1156 | |
| 1157 | config.modules.push(module); |
| 1158 | return module; |
| 1159 | } |
| 1160 | |
| 1161 | function processModule(name, options, executeNow) { |
| 1162 | var modifiers = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; |
no test coverage detected