123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- const { TerminalReporter } = require('jasmine-tagged');
- class JasmineListReporter extends TerminalReporter {
- fullDescription(spec) {
- return getFullDescription(spec, true);
- }
- reportSpecStarting(spec) {
- this.print_(this.fullDescription(spec) + ' ');
- }
- reportSpecResults(spec) {
- const result = spec.results();
- if (result.skipped) {
- return;
- }
- let msg = '';
- if (result.passed()) {
- msg = "\u001b[34m[pass]\u001b[0m";
- } else {
- msg = "\u001b[1m\u001b[31m[FAIL]\u001b[0m";
- this.flatFailures ||= [];
- this.flatFailures.push(getFullDescription(spec, false))
- this.addFailureToFailures_(spec);
- }
- this.printLine_(msg);
- }
- reportFailures_(spec) {
- super.reportFailures_(spec);
- if(this.flatFailures && this.flatFailures.length > 0) {
- this.printLine_("\n\nALL TESTS THAT FAILED:")
- for(let failure of this.flatFailures) {
- this.printLine_(failure)
- }
- }
- }
- }
- function getFullDescription(spec, tokens) {
- let fullDescription = spec.description;
- if(tokens) fullDescription = `it ${fullDescription}`;
- let currentSuite = spec.suite;
- while (currentSuite) {
- if(tokens) {
- fullDescription = `${currentSuite.description} > ${fullDescription}`;
- } else {
- fullDescription = `${currentSuite.description} ${fullDescription}`;
- }
- currentSuite = currentSuite.parentSuite;
- }
- return fullDescription;
- }
- module.exports = { JasmineListReporter, getFullDescription };
|