mocha-compat 3.6.4 → 10.8.2

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.
Files changed (92) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +61 -110
  3. package/bin/_mocha +10 -0
  4. package/bin/mocha.js +142 -0
  5. package/browser-entry.js +61 -22
  6. package/lib/browser/highlight-tags.js +39 -0
  7. package/lib/browser/parse-query.js +24 -0
  8. package/lib/{template.html → browser/template.html} +7 -5
  9. package/lib/cli/cli.js +89 -0
  10. package/lib/cli/collect-files.js +137 -0
  11. package/lib/cli/commands.js +14 -0
  12. package/lib/cli/config.js +100 -0
  13. package/lib/cli/index.js +3 -0
  14. package/lib/cli/init.js +36 -0
  15. package/lib/cli/lookup-files.js +150 -0
  16. package/lib/cli/node-flags.js +85 -0
  17. package/lib/cli/one-and-dones.js +69 -0
  18. package/lib/cli/options.js +284 -0
  19. package/lib/cli/run-helpers.js +304 -0
  20. package/lib/cli/run-option-metadata.js +116 -0
  21. package/lib/cli/run.js +380 -0
  22. package/lib/cli/watch-run.js +377 -0
  23. package/lib/context.js +16 -42
  24. package/lib/errors.js +563 -0
  25. package/lib/hook.js +50 -9
  26. package/lib/interfaces/bdd.js +28 -29
  27. package/lib/interfaces/common.js +56 -21
  28. package/lib/interfaces/exports.js +4 -7
  29. package/lib/interfaces/qunit.js +10 -11
  30. package/lib/interfaces/tdd.js +15 -15
  31. package/lib/mocha.js +1073 -292
  32. package/lib/mocharc.json +10 -0
  33. package/lib/nodejs/buffered-worker-pool.js +188 -0
  34. package/lib/nodejs/esm-utils.js +106 -0
  35. package/lib/nodejs/file-unloader.js +15 -0
  36. package/lib/nodejs/parallel-buffered-runner.js +433 -0
  37. package/lib/nodejs/reporters/parallel-buffered.js +165 -0
  38. package/lib/nodejs/serializer.js +414 -0
  39. package/lib/nodejs/worker.js +151 -0
  40. package/lib/pending.js +3 -3
  41. package/lib/plugin-loader.js +286 -0
  42. package/lib/reporters/base.js +305 -205
  43. package/lib/reporters/doc.js +52 -21
  44. package/lib/reporters/dot.js +31 -18
  45. package/lib/reporters/html.js +153 -81
  46. package/lib/reporters/json-stream.js +53 -24
  47. package/lib/reporters/json.js +88 -18
  48. package/lib/reporters/landing.js +38 -16
  49. package/lib/reporters/list.js +34 -19
  50. package/lib/reporters/markdown.js +28 -15
  51. package/lib/reporters/min.js +22 -8
  52. package/lib/reporters/nyan.js +62 -58
  53. package/lib/reporters/progress.js +32 -19
  54. package/lib/reporters/spec.js +41 -23
  55. package/lib/reporters/tap.js +255 -32
  56. package/lib/reporters/xunit.js +89 -39
  57. package/lib/runnable.js +233 -148
  58. package/lib/runner.js +679 -380
  59. package/lib/stats-collector.js +83 -0
  60. package/lib/suite.js +376 -112
  61. package/lib/test.js +82 -21
  62. package/lib/utils.js +364 -477
  63. package/mocha.css +183 -54
  64. package/mocha.js +19840 -15846
  65. package/mocha.js.map +1 -0
  66. package/package.json +163 -336
  67. package/{lib/to-iso-string → vendor/serialize-javascript}/LICENSE +8 -6
  68. package/vendor/serialize-javascript/README.md +10 -0
  69. package/vendor/serialize-javascript/index.js +349 -0
  70. package/bin/_mocha-compat +0 -572
  71. package/bin/mocha-compat +0 -87
  72. package/bin/options.js +0 -41
  73. package/bower.json +0 -38
  74. package/images/error.png +0 -0
  75. package/images/ok.png +0 -0
  76. package/lib/browser/.eslintrc.yaml +0 -4
  77. package/lib/browser/debug.js +0 -7
  78. package/lib/browser/events.js +0 -195
  79. package/lib/browser/progress.js +0 -119
  80. package/lib/browser/tty.js +0 -13
  81. package/lib/ms.js +0 -130
  82. package/lib/to-iso-string/index.js +0 -37
  83. package/vendor/glob/LICENSE +0 -15
  84. package/vendor/glob/README.md +0 -399
  85. package/vendor/glob/common.js +0 -244
  86. package/vendor/glob/glob.js +0 -788
  87. package/vendor/glob/package.json +0 -55
  88. package/vendor/glob/sync.js +0 -486
  89. package/vendor/inflight/LICENSE +0 -15
  90. package/vendor/inflight/README.md +0 -37
  91. package/vendor/inflight/inflight.js +0 -54
  92. package/vendor/inflight/package.json +0 -29
@@ -0,0 +1,83 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Provides a factory function for a {@link StatsCollector} object.
5
+ * @module
6
+ */
7
+
8
+ var constants = require('./runner').constants;
9
+ var EVENT_TEST_PASS = constants.EVENT_TEST_PASS;
10
+ var EVENT_TEST_FAIL = constants.EVENT_TEST_FAIL;
11
+ var EVENT_SUITE_BEGIN = constants.EVENT_SUITE_BEGIN;
12
+ var EVENT_RUN_BEGIN = constants.EVENT_RUN_BEGIN;
13
+ var EVENT_TEST_PENDING = constants.EVENT_TEST_PENDING;
14
+ var EVENT_RUN_END = constants.EVENT_RUN_END;
15
+ var EVENT_TEST_END = constants.EVENT_TEST_END;
16
+
17
+ /**
18
+ * Test statistics collector.
19
+ *
20
+ * @public
21
+ * @typedef {Object} StatsCollector
22
+ * @property {number} suites - integer count of suites run.
23
+ * @property {number} tests - integer count of tests run.
24
+ * @property {number} passes - integer count of passing tests.
25
+ * @property {number} pending - integer count of pending tests.
26
+ * @property {number} failures - integer count of failed tests.
27
+ * @property {Date} start - time when testing began.
28
+ * @property {Date} end - time when testing concluded.
29
+ * @property {number} duration - number of msecs that testing took.
30
+ */
31
+
32
+ var Date = global.Date;
33
+
34
+ /**
35
+ * Provides stats such as test duration, number of tests passed / failed etc., by listening for events emitted by `runner`.
36
+ *
37
+ * @private
38
+ * @param {Runner} runner - Runner instance
39
+ * @throws {TypeError} If falsy `runner`
40
+ */
41
+ function createStatsCollector(runner) {
42
+ /**
43
+ * @type StatsCollector
44
+ */
45
+ var stats = {
46
+ suites: 0,
47
+ tests: 0,
48
+ passes: 0,
49
+ pending: 0,
50
+ failures: 0
51
+ };
52
+
53
+ if (!runner) {
54
+ throw new TypeError('Missing runner argument');
55
+ }
56
+
57
+ runner.stats = stats;
58
+
59
+ runner.once(EVENT_RUN_BEGIN, function () {
60
+ stats.start = new Date();
61
+ });
62
+ runner.on(EVENT_SUITE_BEGIN, function (suite) {
63
+ suite.root || stats.suites++;
64
+ });
65
+ runner.on(EVENT_TEST_PASS, function () {
66
+ stats.passes++;
67
+ });
68
+ runner.on(EVENT_TEST_FAIL, function () {
69
+ stats.failures++;
70
+ });
71
+ runner.on(EVENT_TEST_PENDING, function () {
72
+ stats.pending++;
73
+ });
74
+ runner.on(EVENT_TEST_END, function () {
75
+ stats.tests++;
76
+ });
77
+ runner.once(EVENT_RUN_END, function () {
78
+ stats.end = new Date();
79
+ stats.duration = stats.end - stats.start;
80
+ });
81
+ }
82
+
83
+ module.exports = createStatsCollector;