jasmine-core 6.2.0 → 7.0.0-pre.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/jasmine-core/{boot1.js → boot.js} +0 -13
- package/lib/jasmine-core/jasmine-html.js +84 -380
- package/lib/jasmine-core/jasmine.css +0 -54
- package/lib/jasmine-core/jasmine.js +689 -860
- package/lib/jasmine-core.js +54 -70
- package/package.json +8 -5
- package/lib/jasmine-core/boot0.js +0 -68
package/README.md
CHANGED
|
@@ -32,7 +32,7 @@ Microsoft Edge) as well as Node.
|
|
|
32
32
|
| Node | 20, 22, 24 |
|
|
33
33
|
| Safari | 26* |
|
|
34
34
|
| Chrome | Evergreen |
|
|
35
|
-
| Firefox | Evergreen, 140
|
|
35
|
+
| Firefox | Evergreen, 102*, 115*, 128*, 140 |
|
|
36
36
|
| Edge | Evergreen |
|
|
37
37
|
|
|
38
38
|
For evergreen browsers, each version of Jasmine is tested against the version of the browser that is available to us
|
|
@@ -24,19 +24,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
24
24
|
|
|
25
25
|
'use strict';
|
|
26
26
|
|
|
27
|
-
/**
|
|
28
|
-
This file finishes 'booting' Jasmine, performing all of the necessary
|
|
29
|
-
initialization before executing the loaded environment and all of a project's
|
|
30
|
-
specs. This file should be loaded after `boot0.js` but before any project
|
|
31
|
-
source files or spec files are loaded. Thus this file can also be used to
|
|
32
|
-
customize Jasmine for a project.
|
|
33
|
-
|
|
34
|
-
If a project is using Jasmine via the standalone distribution, this file can
|
|
35
|
-
be customized directly. If you only wish to configure the Jasmine env, you
|
|
36
|
-
can load another file that calls `jasmine.getEnv().configure({...})`
|
|
37
|
-
after `boot0.js` is loaded and before this file is loaded.
|
|
38
|
-
*/
|
|
39
|
-
|
|
40
27
|
(function() {
|
|
41
28
|
const env = jasmine.getEnv();
|
|
42
29
|
const urls = new jasmine.HtmlReporterV2Urls();
|
|
@@ -22,321 +22,50 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
|
22
22
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
jasmineRequire.html = function(j$) {
|
|
29
|
-
j$.private.ResultsNode = jasmineRequire.ResultsNode();
|
|
30
|
-
j$.private.ResultsStateBuilder = jasmineRequire.ResultsStateBuilder(j$);
|
|
31
|
-
j$.private.htmlReporterUtils = jasmineRequire.htmlReporterUtils(j$);
|
|
32
|
-
j$.private.AlertsView = jasmineRequire.AlertsView(j$);
|
|
33
|
-
j$.private.OverallStatusBar = jasmineRequire.OverallStatusBar(j$);
|
|
34
|
-
j$.private.Banner = jasmineRequire.Banner(j$);
|
|
35
|
-
j$.private.SymbolsView = jasmineRequire.SymbolsView(j$);
|
|
36
|
-
j$.private.SummaryTreeView = jasmineRequire.SummaryTreeView(j$);
|
|
37
|
-
j$.private.FailuresView = jasmineRequire.FailuresView(j$);
|
|
38
|
-
j$.private.PerformanceView = jasmineRequire.PerformanceView(j$);
|
|
39
|
-
j$.private.TabBar = jasmineRequire.TabBar(j$);
|
|
40
|
-
j$.HtmlReporter = jasmineRequire.HtmlReporter(j$);
|
|
41
|
-
j$.HtmlReporterV2Urls = jasmineRequire.HtmlReporterV2Urls(j$);
|
|
42
|
-
j$.HtmlReporterV2 = jasmineRequire.HtmlReporterV2(j$);
|
|
43
|
-
j$.QueryString = jasmineRequire.QueryString();
|
|
44
|
-
j$.HtmlSpecFilter = jasmineRequire.HtmlSpecFilter(j$);
|
|
45
|
-
j$.private.HtmlSpecFilterV2 = jasmineRequire.HtmlSpecFilterV2();
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
jasmineRequire.HtmlReporter = function(j$) {
|
|
25
|
+
(function() {
|
|
26
|
+
// eslint-disable-next-line no-unused-vars
|
|
27
|
+
const getJasmineHtmlRequireObj = (function() {
|
|
49
28
|
'use strict';
|
|
29
|
+
const htmlRequire = {};
|
|
50
30
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* @class HtmlReporter
|
|
55
|
-
* @classdesc Displays results and allows re-running individual specs and suites.
|
|
56
|
-
* @implements {Reporter}
|
|
57
|
-
* @param options Options object. See lib/jasmine-core/boot1.js for details.
|
|
58
|
-
* @since 1.2.0
|
|
59
|
-
* @deprecated Use {@link HtmlReporterV2} instead.
|
|
60
|
-
*/
|
|
61
|
-
class HtmlReporter {
|
|
62
|
-
#env;
|
|
63
|
-
#getContainer;
|
|
64
|
-
#navigateWithNewParam;
|
|
65
|
-
#urlBuilder;
|
|
66
|
-
#filterSpecs;
|
|
67
|
-
#stateBuilder;
|
|
68
|
-
#config;
|
|
69
|
-
#htmlReporterMain;
|
|
70
|
-
|
|
71
|
-
// Sub-views
|
|
72
|
-
#alerts;
|
|
73
|
-
#symbols;
|
|
74
|
-
#banner;
|
|
75
|
-
#failures;
|
|
76
|
-
|
|
77
|
-
constructor(options) {
|
|
78
|
-
this.#env = options.env;
|
|
79
|
-
|
|
80
|
-
this.#getContainer = options.getContainer;
|
|
81
|
-
this.#navigateWithNewParam =
|
|
82
|
-
options.navigateWithNewParam || function() {};
|
|
83
|
-
this.#urlBuilder = new UrlBuilder(
|
|
84
|
-
options.addToExistingQueryString || defaultQueryString
|
|
85
|
-
);
|
|
86
|
-
this.#filterSpecs = options.filterSpecs;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Initializes the reporter. Should be called before {@link Env#execute}.
|
|
91
|
-
* @function
|
|
92
|
-
* @name HtmlReporter#initialize
|
|
93
|
-
*/
|
|
94
|
-
initialize() {
|
|
95
|
-
this.#env.deprecated(
|
|
96
|
-
'HtmlReporter and HtmlSpecFilter are deprecated. Use HtmlReporterV2 instead.'
|
|
97
|
-
);
|
|
98
|
-
this.#clearPrior();
|
|
99
|
-
this.#config = this.#env ? this.#env.configuration() : {};
|
|
100
|
-
|
|
101
|
-
this.#stateBuilder = new j$.private.ResultsStateBuilder();
|
|
102
|
-
|
|
103
|
-
this.#alerts = new j$.private.AlertsView(this.#urlBuilder);
|
|
104
|
-
this.#symbols = new j$.private.SymbolsView();
|
|
105
|
-
this.#banner = new j$.private.Banner(this.#navigateWithNewParam);
|
|
106
|
-
this.#failures = new j$.private.FailuresView(this.#urlBuilder);
|
|
107
|
-
this.#htmlReporterMain = createDom(
|
|
108
|
-
'div',
|
|
109
|
-
{ className: 'jasmine_html-reporter' },
|
|
110
|
-
this.#banner.rootEl,
|
|
111
|
-
this.#symbols.rootEl,
|
|
112
|
-
this.#alerts.rootEl,
|
|
113
|
-
this.#failures.rootEl
|
|
114
|
-
);
|
|
115
|
-
this.#getContainer().appendChild(this.#htmlReporterMain);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
jasmineStarted(options) {
|
|
119
|
-
this.#stateBuilder.jasmineStarted(options);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
suiteStarted(result) {
|
|
123
|
-
this.#stateBuilder.suiteStarted(result);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
suiteDone(result) {
|
|
127
|
-
this.#stateBuilder.suiteDone(result);
|
|
128
|
-
|
|
129
|
-
if (result.status === 'failed') {
|
|
130
|
-
this.#failures.append(result, this.#stateBuilder.currentParent);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
specStarted() {}
|
|
135
|
-
|
|
136
|
-
specDone(result) {
|
|
137
|
-
this.#stateBuilder.specDone(result);
|
|
138
|
-
this.#symbols.append(result, this.#config);
|
|
139
|
-
|
|
140
|
-
if (noExpectations(result)) {
|
|
141
|
-
const noSpecMsg = "Spec '" + result.fullName + "' has no expectations.";
|
|
142
|
-
if (result.status === 'failed') {
|
|
143
|
-
// eslint-disable-next-line no-console
|
|
144
|
-
console.error(noSpecMsg);
|
|
145
|
-
} else {
|
|
146
|
-
// eslint-disable-next-line no-console
|
|
147
|
-
console.warn(noSpecMsg);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
if (result.status === 'failed') {
|
|
152
|
-
this.#failures.append(result, this.#stateBuilder.currentParent);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
jasmineDone(doneResult) {
|
|
157
|
-
this.#stateBuilder.jasmineDone(doneResult);
|
|
158
|
-
this.#banner.showOptionsMenu(this.#config);
|
|
159
|
-
|
|
160
|
-
if (
|
|
161
|
-
this.#stateBuilder.specsExecuted < this.#stateBuilder.totalSpecsDefined
|
|
162
|
-
) {
|
|
163
|
-
this.#alerts.addSkipped(
|
|
164
|
-
this.#stateBuilder.specsExecuted,
|
|
165
|
-
this.#stateBuilder.totalSpecsDefined
|
|
166
|
-
);
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
const statusBar = new j$.private.OverallStatusBar(this.#urlBuilder);
|
|
170
|
-
statusBar.showDone(doneResult, this.#stateBuilder);
|
|
171
|
-
this.#alerts.addBar(statusBar.rootEl);
|
|
172
|
-
|
|
173
|
-
if (doneResult.failedExpectations) {
|
|
174
|
-
for (const f of doneResult.failedExpectations) {
|
|
175
|
-
this.#alerts.addGlobalFailure(f);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
for (const dw of this.#stateBuilder.deprecationWarnings) {
|
|
180
|
-
this.#alerts.addDeprecationWarning(dw);
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
const results = this.#find('.jasmine-results');
|
|
184
|
-
const summary = new j$.private.SummaryTreeView(
|
|
185
|
-
this.#urlBuilder,
|
|
186
|
-
this.#filterSpecs
|
|
187
|
-
);
|
|
188
|
-
summary.addResults(this.#stateBuilder.topResults);
|
|
189
|
-
results.appendChild(summary.rootEl);
|
|
190
|
-
|
|
191
|
-
if (this.#stateBuilder.anyNonTopSuiteFailures) {
|
|
192
|
-
this.#addFailureToggle();
|
|
193
|
-
this.#setMenuModeTo('jasmine-failure-list');
|
|
194
|
-
this.#failures.show();
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
#addFailureToggle() {
|
|
199
|
-
const onClickFailures = () => this.#setMenuModeTo('jasmine-failure-list');
|
|
200
|
-
const onClickSpecList = () => this.#setMenuModeTo('jasmine-spec-list');
|
|
201
|
-
const failuresLink = createDom(
|
|
202
|
-
'a',
|
|
203
|
-
{ className: 'jasmine-failures-menu', href: '#' },
|
|
204
|
-
'Failures'
|
|
205
|
-
);
|
|
206
|
-
let specListLink = createDom(
|
|
207
|
-
'a',
|
|
208
|
-
{ className: 'jasmine-spec-list-menu', href: '#' },
|
|
209
|
-
'Spec List'
|
|
210
|
-
);
|
|
211
|
-
|
|
212
|
-
failuresLink.onclick = function() {
|
|
213
|
-
onClickFailures();
|
|
214
|
-
return false;
|
|
215
|
-
};
|
|
216
|
-
|
|
217
|
-
specListLink.onclick = function() {
|
|
218
|
-
onClickSpecList();
|
|
219
|
-
return false;
|
|
220
|
-
};
|
|
221
|
-
|
|
222
|
-
this.#alerts.addBar(
|
|
223
|
-
createDom(
|
|
224
|
-
'span',
|
|
225
|
-
{ className: 'jasmine-menu jasmine-bar jasmine-spec-list' },
|
|
226
|
-
[createDom('span', {}, 'Spec List | '), failuresLink]
|
|
227
|
-
)
|
|
228
|
-
);
|
|
229
|
-
this.#alerts.addBar(
|
|
230
|
-
createDom(
|
|
231
|
-
'span',
|
|
232
|
-
{ className: 'jasmine-menu jasmine-bar jasmine-failure-list' },
|
|
233
|
-
[specListLink, createDom('span', {}, ' | Failures ')]
|
|
234
|
-
)
|
|
235
|
-
);
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
#find(selector) {
|
|
239
|
-
return this.#getContainer().querySelector(
|
|
240
|
-
'.jasmine_html-reporter ' + selector
|
|
241
|
-
);
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
#clearPrior() {
|
|
245
|
-
const oldReporter = this.#find('');
|
|
246
|
-
|
|
247
|
-
if (oldReporter) {
|
|
248
|
-
this.#getContainer().removeChild(oldReporter);
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
#setMenuModeTo(mode) {
|
|
253
|
-
this.#htmlReporterMain.setAttribute(
|
|
254
|
-
'class',
|
|
255
|
-
'jasmine_html-reporter ' + mode
|
|
256
|
-
);
|
|
257
|
-
}
|
|
31
|
+
function getJasmineHtmlRequire() {
|
|
32
|
+
return htmlRequire;
|
|
258
33
|
}
|
|
259
34
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
constructor(addToExistingQueryString) {
|
|
264
|
-
this.#addToExistingQueryString = function(k, v) {
|
|
265
|
-
// include window.location.pathname to fix issue with karma-jasmine-html-reporter in angular: see https://github.com/jasmine/jasmine/issues/1906
|
|
266
|
-
return (
|
|
267
|
-
(window.location.pathname || '') + addToExistingQueryString(k, v)
|
|
268
|
-
);
|
|
269
|
-
};
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
suiteHref(suite) {
|
|
273
|
-
const els = [];
|
|
274
|
-
|
|
275
|
-
while (suite && suite.parent) {
|
|
276
|
-
els.unshift(suite.result.description);
|
|
277
|
-
suite = suite.parent;
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
return this.#addToExistingQueryString('spec', els.join(' '));
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
specHref(result) {
|
|
284
|
-
return this.#addToExistingQueryString('spec', result.fullName);
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
runAllHref() {
|
|
288
|
-
return this.#addToExistingQueryString('spec', '');
|
|
35
|
+
htmlRequire.html = function(j$, private$) {
|
|
36
|
+
if (!private$) {
|
|
37
|
+
private$ = {};
|
|
289
38
|
}
|
|
290
39
|
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
function defaultQueryString(key, value) {
|
|
297
|
-
return '?' + key + '=' + value;
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
return HtmlReporter;
|
|
301
|
-
};
|
|
302
|
-
|
|
303
|
-
jasmineRequire.HtmlSpecFilter = function(j$) {
|
|
304
|
-
'use strict';
|
|
305
|
-
|
|
306
|
-
/**
|
|
307
|
-
* @class HtmlSpecFilter
|
|
308
|
-
* @param options Options object. See lib/jasmine-core/boot1.js for details.
|
|
309
|
-
* @deprecated Use {@link HtmlReporterV2Urls} instead.
|
|
310
|
-
*/
|
|
311
|
-
function HtmlSpecFilter(options) {
|
|
312
|
-
const env = options?.env ?? j$.getEnv();
|
|
313
|
-
env.deprecated(
|
|
314
|
-
'HtmlReporter and HtmlSpecFilter are deprecated. Use HtmlReporterV2 instead.'
|
|
40
|
+
private$.ResultsNode = htmlRequire.ResultsNode();
|
|
41
|
+
private$.ResultsStateBuilder = htmlRequire.ResultsStateBuilder(
|
|
42
|
+
j$,
|
|
43
|
+
private$
|
|
315
44
|
);
|
|
45
|
+
private$.htmlReporterUtils = htmlRequire.htmlReporterUtils(j$, private$);
|
|
46
|
+
private$.AlertsView = htmlRequire.AlertsView(j$, private$);
|
|
47
|
+
private$.OverallStatusBar = htmlRequire.OverallStatusBar(j$, private$);
|
|
48
|
+
private$.Banner = htmlRequire.Banner(j$, private$);
|
|
49
|
+
private$.SummaryTreeView = htmlRequire.SummaryTreeView(j$, private$);
|
|
50
|
+
private$.FailuresView = htmlRequire.FailuresView(j$, private$);
|
|
51
|
+
private$.PerformanceView = htmlRequire.PerformanceView(j$, private$);
|
|
52
|
+
private$.TabBar = htmlRequire.TabBar(j$, private$);
|
|
53
|
+
private$.HtmlSpecFilterV2 = htmlRequire.HtmlSpecFilterV2();
|
|
54
|
+
|
|
55
|
+
for (const k of ['HtmlReporterV2Urls', 'HtmlReporterV2', 'QueryString']) {
|
|
56
|
+
Object.defineProperty(j$, k, {
|
|
57
|
+
enumerable: true,
|
|
58
|
+
configurable: false,
|
|
59
|
+
writable: false,
|
|
60
|
+
value: htmlRequire[k](j$, private$)
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
};
|
|
316
64
|
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
options.filterString &&
|
|
320
|
-
options.filterString() &&
|
|
321
|
-
options.filterString().replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
|
|
322
|
-
const filterPattern = new RegExp(filterString);
|
|
323
|
-
|
|
324
|
-
/**
|
|
325
|
-
* Determines whether the spec with the specified name should be executed.
|
|
326
|
-
* @name HtmlSpecFilter#matches
|
|
327
|
-
* @function
|
|
328
|
-
* @param {string} specName The full name of the spec
|
|
329
|
-
* @returns {boolean}
|
|
330
|
-
*/
|
|
331
|
-
this.matches = function(specName) {
|
|
332
|
-
return filterPattern.test(specName);
|
|
333
|
-
};
|
|
334
|
-
}
|
|
335
|
-
|
|
336
|
-
return HtmlSpecFilter;
|
|
337
|
-
};
|
|
65
|
+
return getJasmineHtmlRequire;
|
|
66
|
+
})();
|
|
338
67
|
|
|
339
|
-
|
|
68
|
+
getJasmineHtmlRequireObj().ResultsNode = function() {
|
|
340
69
|
'use strict';
|
|
341
70
|
|
|
342
71
|
function ResultsNode(result, type, parent) {
|
|
@@ -362,7 +91,7 @@ jasmineRequire.ResultsNode = function() {
|
|
|
362
91
|
return ResultsNode;
|
|
363
92
|
};
|
|
364
93
|
|
|
365
|
-
|
|
94
|
+
getJasmineHtmlRequireObj().QueryString = function() {
|
|
366
95
|
'use strict';
|
|
367
96
|
|
|
368
97
|
/**
|
|
@@ -378,6 +107,7 @@ jasmineRequire.QueryString = function() {
|
|
|
378
107
|
*/
|
|
379
108
|
constructor(options) {
|
|
380
109
|
this.#getWindowLocation = options.getWindowLocation;
|
|
110
|
+
Object.freeze(this);
|
|
381
111
|
}
|
|
382
112
|
|
|
383
113
|
/**
|
|
@@ -445,13 +175,14 @@ jasmineRequire.QueryString = function() {
|
|
|
445
175
|
return '?' + qStrPairs.join('&');
|
|
446
176
|
}
|
|
447
177
|
|
|
178
|
+
Object.freeze(QueryString.prototype);
|
|
448
179
|
return QueryString;
|
|
449
180
|
};
|
|
450
181
|
|
|
451
|
-
|
|
182
|
+
getJasmineHtmlRequireObj().AlertsView = function(j$, private$) {
|
|
452
183
|
'use strict';
|
|
453
184
|
|
|
454
|
-
const { createDom } =
|
|
185
|
+
const { createDom } = private$.htmlReporterUtils;
|
|
455
186
|
const errorBarClassName = 'jasmine-bar jasmine-errored';
|
|
456
187
|
const afterAllMessagePrefix = 'AfterAll ';
|
|
457
188
|
|
|
@@ -567,10 +298,10 @@ jasmineRequire.AlertsView = function(j$) {
|
|
|
567
298
|
return AlertsView;
|
|
568
299
|
};
|
|
569
300
|
|
|
570
|
-
|
|
301
|
+
getJasmineHtmlRequireObj().Banner = function(j$, private$) {
|
|
571
302
|
'use strict';
|
|
572
303
|
|
|
573
|
-
const { createDom } =
|
|
304
|
+
const { createDom } = private$.htmlReporterUtils;
|
|
574
305
|
|
|
575
306
|
class Banner {
|
|
576
307
|
#navigateWithNewParam;
|
|
@@ -707,9 +438,9 @@ jasmineRequire.Banner = function(j$) {
|
|
|
707
438
|
};
|
|
708
439
|
}
|
|
709
440
|
|
|
710
|
-
const optionsTrigger = optionsMenuDom.querySelector('.jasmine-trigger')
|
|
711
|
-
|
|
712
|
-
|
|
441
|
+
const optionsTrigger = optionsMenuDom.querySelector('.jasmine-trigger'),
|
|
442
|
+
optionsPayload = optionsMenuDom.querySelector('.jasmine-payload'),
|
|
443
|
+
isOpen = /\bjasmine-open\b/;
|
|
713
444
|
|
|
714
445
|
optionsTrigger.onclick = function() {
|
|
715
446
|
if (isOpen.test(optionsPayload.className)) {
|
|
@@ -729,10 +460,10 @@ jasmineRequire.Banner = function(j$) {
|
|
|
729
460
|
return Banner;
|
|
730
461
|
};
|
|
731
462
|
|
|
732
|
-
|
|
463
|
+
getJasmineHtmlRequireObj().FailuresView = function(j$, private$) {
|
|
733
464
|
'use strict';
|
|
734
465
|
|
|
735
|
-
const { createDom } =
|
|
466
|
+
const { createDom } = private$.htmlReporterUtils;
|
|
736
467
|
|
|
737
468
|
class FailuresView {
|
|
738
469
|
#urlBuilder;
|
|
@@ -896,7 +627,7 @@ jasmineRequire.FailuresView = function(j$) {
|
|
|
896
627
|
return FailuresView;
|
|
897
628
|
};
|
|
898
629
|
|
|
899
|
-
|
|
630
|
+
getJasmineHtmlRequireObj().htmlReporterUtils = function(j$, private$) {
|
|
900
631
|
'use strict';
|
|
901
632
|
|
|
902
633
|
function createDom(type, attrs, childrenArrayOrVarArgs) {
|
|
@@ -949,10 +680,10 @@ jasmineRequire.htmlReporterUtils = function(j$) {
|
|
|
949
680
|
return { createDom, noExpectations };
|
|
950
681
|
};
|
|
951
682
|
|
|
952
|
-
|
|
683
|
+
getJasmineHtmlRequireObj().HtmlReporterV2 = function(j$, private$) {
|
|
953
684
|
'use strict';
|
|
954
685
|
|
|
955
|
-
const { createDom, noExpectations } =
|
|
686
|
+
const { createDom, noExpectations } = private$.htmlReporterUtils;
|
|
956
687
|
|
|
957
688
|
const specListTabId = 'jasmine-specListTab';
|
|
958
689
|
const failuresTabId = 'jasmine-failuresTab';
|
|
@@ -1008,14 +739,14 @@ jasmineRequire.HtmlReporterV2 = function(j$) {
|
|
|
1008
739
|
|
|
1009
740
|
this.#config = options.env ? options.env.configuration() : {};
|
|
1010
741
|
|
|
1011
|
-
this.#stateBuilder = new
|
|
742
|
+
this.#stateBuilder = new private$.ResultsStateBuilder();
|
|
1012
743
|
|
|
1013
|
-
this.#alerts = new
|
|
1014
|
-
this.#statusBar = new
|
|
744
|
+
this.#alerts = new private$.AlertsView(this.#urlBuilder);
|
|
745
|
+
this.#statusBar = new private$.OverallStatusBar(this.#urlBuilder);
|
|
1015
746
|
this.#statusBar.showRunning();
|
|
1016
747
|
this.#alerts.addBar(this.#statusBar.rootEl);
|
|
1017
748
|
|
|
1018
|
-
this.#tabBar = new
|
|
749
|
+
this.#tabBar = new private$.TabBar(
|
|
1019
750
|
[
|
|
1020
751
|
{ id: specListTabId, label: 'Spec List' },
|
|
1021
752
|
{ id: failuresTabId, label: 'Failures' },
|
|
@@ -1034,11 +765,11 @@ jasmineRequire.HtmlReporterV2 = function(j$) {
|
|
|
1034
765
|
this.#alerts.addBar(this.#tabBar.rootEl);
|
|
1035
766
|
|
|
1036
767
|
this.#progress = new ProgressView();
|
|
1037
|
-
this.#banner = new
|
|
768
|
+
this.#banner = new private$.Banner(
|
|
1038
769
|
this.#queryString.navigateWithNewParam.bind(this.#queryString),
|
|
1039
770
|
true
|
|
1040
771
|
);
|
|
1041
|
-
this.#failures = new
|
|
772
|
+
this.#failures = new private$.FailuresView(this.#urlBuilder);
|
|
1042
773
|
this.#htmlReporterMain = createDom(
|
|
1043
774
|
'div',
|
|
1044
775
|
{ className: 'jasmine_html-reporter' },
|
|
@@ -1049,6 +780,8 @@ jasmineRequire.HtmlReporterV2 = function(j$) {
|
|
|
1049
780
|
);
|
|
1050
781
|
this.#container.appendChild(this.#htmlReporterMain);
|
|
1051
782
|
this.#failures.show();
|
|
783
|
+
|
|
784
|
+
Object.freeze(this);
|
|
1052
785
|
}
|
|
1053
786
|
|
|
1054
787
|
jasmineStarted(options) {
|
|
@@ -1119,13 +852,13 @@ jasmineRequire.HtmlReporterV2 = function(j$) {
|
|
|
1119
852
|
}
|
|
1120
853
|
|
|
1121
854
|
const results = this.#find('.jasmine-results');
|
|
1122
|
-
const summary = new
|
|
855
|
+
const summary = new private$.SummaryTreeView(
|
|
1123
856
|
this.#urlBuilder,
|
|
1124
857
|
this.#filterSpecs
|
|
1125
858
|
);
|
|
1126
859
|
summary.addResults(this.#stateBuilder.topResults);
|
|
1127
860
|
results.appendChild(summary.rootEl);
|
|
1128
|
-
const perf = new
|
|
861
|
+
const perf = new private$.PerformanceView();
|
|
1129
862
|
perf.addResults(this.#stateBuilder.topResults);
|
|
1130
863
|
results.appendChild(perf.rootEl);
|
|
1131
864
|
this.#tabBar.showTab(specListTabId);
|
|
@@ -1226,10 +959,11 @@ jasmineRequire.HtmlReporterV2 = function(j$) {
|
|
|
1226
959
|
}
|
|
1227
960
|
}
|
|
1228
961
|
|
|
962
|
+
Object.freeze(HtmlReporterV2.prototype);
|
|
1229
963
|
return HtmlReporterV2;
|
|
1230
964
|
};
|
|
1231
965
|
|
|
1232
|
-
|
|
966
|
+
getJasmineHtmlRequireObj().HtmlReporterV2Urls = function(j$, private$) {
|
|
1233
967
|
'use strict';
|
|
1234
968
|
|
|
1235
969
|
// TODO unify with V2 UrlBuilder?
|
|
@@ -1249,6 +983,8 @@ jasmineRequire.HtmlReporterV2Urls = function(j$) {
|
|
|
1249
983
|
return window.location;
|
|
1250
984
|
}
|
|
1251
985
|
});
|
|
986
|
+
|
|
987
|
+
Object.freeze(this);
|
|
1252
988
|
}
|
|
1253
989
|
|
|
1254
990
|
/**
|
|
@@ -1280,7 +1016,7 @@ jasmineRequire.HtmlReporterV2Urls = function(j$) {
|
|
|
1280
1016
|
config.seed = seed;
|
|
1281
1017
|
}
|
|
1282
1018
|
|
|
1283
|
-
const specFilter = new
|
|
1019
|
+
const specFilter = new private$.HtmlSpecFilterV2({
|
|
1284
1020
|
filterParams: () => ({
|
|
1285
1021
|
path: this.queryString.getParam('path'),
|
|
1286
1022
|
spec: this.queryString.getParam('spec')
|
|
@@ -1299,10 +1035,11 @@ jasmineRequire.HtmlReporterV2Urls = function(j$) {
|
|
|
1299
1035
|
}
|
|
1300
1036
|
}
|
|
1301
1037
|
|
|
1038
|
+
Object.freeze(HtmlReporterV2Urls.prototype);
|
|
1302
1039
|
return HtmlReporterV2Urls;
|
|
1303
1040
|
};
|
|
1304
1041
|
|
|
1305
|
-
|
|
1042
|
+
getJasmineHtmlRequireObj().HtmlSpecFilterV2 = function() {
|
|
1306
1043
|
class HtmlSpecFilterV2 {
|
|
1307
1044
|
#getFilterParams;
|
|
1308
1045
|
|
|
@@ -1344,10 +1081,10 @@ jasmineRequire.HtmlSpecFilterV2 = function() {
|
|
|
1344
1081
|
return HtmlSpecFilterV2;
|
|
1345
1082
|
};
|
|
1346
1083
|
|
|
1347
|
-
|
|
1084
|
+
getJasmineHtmlRequireObj().OverallStatusBar = function(j$, private$) {
|
|
1348
1085
|
'use strict';
|
|
1349
1086
|
|
|
1350
|
-
const { createDom } =
|
|
1087
|
+
const { createDom } = private$.htmlReporterUtils;
|
|
1351
1088
|
const staticClassNames = 'jasmine-overall-result jasmine-bar';
|
|
1352
1089
|
|
|
1353
1090
|
class OverallStatusBar {
|
|
@@ -1453,8 +1190,8 @@ jasmineRequire.OverallStatusBar = function(j$) {
|
|
|
1453
1190
|
return OverallStatusBar;
|
|
1454
1191
|
};
|
|
1455
1192
|
|
|
1456
|
-
|
|
1457
|
-
const createDom =
|
|
1193
|
+
getJasmineHtmlRequireObj().PerformanceView = function(j$, private$) {
|
|
1194
|
+
const createDom = private$.htmlReporterUtils.createDom;
|
|
1458
1195
|
const MAX_SLOW_SPECS = 20;
|
|
1459
1196
|
|
|
1460
1197
|
class PerformanceView {
|
|
@@ -1552,12 +1289,12 @@ jasmineRequire.PerformanceView = function(j$) {
|
|
|
1552
1289
|
return PerformanceView;
|
|
1553
1290
|
};
|
|
1554
1291
|
|
|
1555
|
-
|
|
1292
|
+
getJasmineHtmlRequireObj().ResultsStateBuilder = function(j$, private$) {
|
|
1556
1293
|
'use strict';
|
|
1557
1294
|
|
|
1558
1295
|
class ResultsStateBuilder {
|
|
1559
1296
|
constructor() {
|
|
1560
|
-
this.topResults = new
|
|
1297
|
+
this.topResults = new private$.ResultsNode({}, '', null);
|
|
1561
1298
|
this.currentParent = this.topResults;
|
|
1562
1299
|
this.suitesById = {};
|
|
1563
1300
|
this.totalSpecsDefined = 0;
|
|
@@ -1635,10 +1372,10 @@ jasmineRequire.ResultsStateBuilder = function(j$) {
|
|
|
1635
1372
|
return ResultsStateBuilder;
|
|
1636
1373
|
};
|
|
1637
1374
|
|
|
1638
|
-
|
|
1375
|
+
getJasmineHtmlRequireObj().SummaryTreeView = function(j$, private$) {
|
|
1639
1376
|
'use strict';
|
|
1640
1377
|
|
|
1641
|
-
const { createDom, noExpectations } =
|
|
1378
|
+
const { createDom, noExpectations } = private$.htmlReporterUtils;
|
|
1642
1379
|
|
|
1643
1380
|
class SummaryTreeView {
|
|
1644
1381
|
#urlBuilder;
|
|
@@ -1744,48 +1481,8 @@ jasmineRequire.SummaryTreeView = function(j$) {
|
|
|
1744
1481
|
return SummaryTreeView;
|
|
1745
1482
|
};
|
|
1746
1483
|
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
const { createDom, noExpectations } = j$.private.htmlReporterUtils;
|
|
1751
|
-
|
|
1752
|
-
class SymbolsView {
|
|
1753
|
-
constructor() {
|
|
1754
|
-
this.rootEl = createDom('ul', {
|
|
1755
|
-
className: 'jasmine-symbol-summary'
|
|
1756
|
-
});
|
|
1757
|
-
}
|
|
1758
|
-
|
|
1759
|
-
append(result, config) {
|
|
1760
|
-
this.rootEl.appendChild(
|
|
1761
|
-
createDom('li', {
|
|
1762
|
-
className: this.#className(result, config),
|
|
1763
|
-
id: 'spec_' + result.id,
|
|
1764
|
-
title: result.fullName
|
|
1765
|
-
})
|
|
1766
|
-
);
|
|
1767
|
-
}
|
|
1768
|
-
|
|
1769
|
-
#className(result, config) {
|
|
1770
|
-
if (noExpectations(result) && result.status === 'passed') {
|
|
1771
|
-
return 'jasmine-empty';
|
|
1772
|
-
} else if (result.status === 'excluded') {
|
|
1773
|
-
if (config.hideDisabled) {
|
|
1774
|
-
return 'jasmine-excluded-no-display';
|
|
1775
|
-
} else {
|
|
1776
|
-
return 'jasmine-excluded';
|
|
1777
|
-
}
|
|
1778
|
-
} else {
|
|
1779
|
-
return 'jasmine-' + result.status;
|
|
1780
|
-
}
|
|
1781
|
-
}
|
|
1782
|
-
}
|
|
1783
|
-
|
|
1784
|
-
return SymbolsView;
|
|
1785
|
-
};
|
|
1786
|
-
|
|
1787
|
-
jasmineRequire.TabBar = function(j$) {
|
|
1788
|
-
const createDom = j$.private.htmlReporterUtils.createDom;
|
|
1484
|
+
getJasmineHtmlRequireObj().TabBar = function(j$, private$) {
|
|
1485
|
+
const createDom = private$.htmlReporterUtils.createDom;
|
|
1789
1486
|
|
|
1790
1487
|
class TabBar {
|
|
1791
1488
|
#tabs;
|
|
@@ -1861,3 +1558,10 @@ jasmineRequire.TabBar = function(j$) {
|
|
|
1861
1558
|
|
|
1862
1559
|
return TabBar;
|
|
1863
1560
|
};
|
|
1561
|
+
|
|
1562
|
+
(function() {
|
|
1563
|
+
'use strict';
|
|
1564
|
+
getJasmineHtmlRequireObj().html(jasmine);
|
|
1565
|
+
})();
|
|
1566
|
+
|
|
1567
|
+
})()
|