1 | var jasmineCore = require('jasmine-core');
|
2 |
|
3 | var JASMINE_CORE_PATTERN = /([\\/]karma-jasmine[\\/])/i;
|
4 | var createPattern = function (path) {
|
5 | return { pattern: path, included: true, served: true, watched: false };
|
6 | };
|
7 |
|
8 | var initReporter = function (karmaConfig, baseReporterDecorator) {
|
9 | var jasmineCoreIndex = 0;
|
10 |
|
11 | const files = karmaConfig.files;
|
12 |
|
13 | baseReporterDecorator(this);
|
14 |
|
15 | if (karmaConfig.jasmineHtmlReporter) {
|
16 | const config = karmaConfig.jasmineHtmlReporter;
|
17 | if (config.suppressAll) {
|
18 | this.onSpecComplete = () => void 0;
|
19 | this.onRunComplete = () => void 0;
|
20 | }
|
21 | if (config.suppressFailed) {
|
22 | this.specFailure = () => void 0;
|
23 | }
|
24 | }
|
25 |
|
26 | files.forEach(function (file, index) {
|
27 | if (JASMINE_CORE_PATTERN.test(file.pattern)) {
|
28 | jasmineCoreIndex = index;
|
29 | }
|
30 | });
|
31 |
|
32 | jasmineCore.files.cssFiles.forEach(function (file) {
|
33 | files.splice(++jasmineCoreIndex, 0, createPattern(jasmineCore.files.path + '/' + file));
|
34 | });
|
35 |
|
36 | jasmineCore.files.jsFiles.forEach(function (file) {
|
37 |
|
38 | if (file == "jasmine.js") {
|
39 | return;
|
40 | }
|
41 |
|
42 | files.splice(++jasmineCoreIndex, 0, createPattern(jasmineCore.files.path + '/' + file));
|
43 | });
|
44 |
|
45 | files.splice(++jasmineCoreIndex, 0, createPattern(jasmineCore.files.bootDir + '/boot0.js'));
|
46 | files.splice(++jasmineCoreIndex, 0, createPattern(__dirname + '/boot.js'));
|
47 | };
|
48 |
|
49 | initReporter.$inject = ['config', 'baseReporterDecorator'];
|
50 |
|
51 | module.exports = {
|
52 | 'reporter:kjhtml': ['type', initReporter]
|
53 | };
|