epuber-stylus-source 0.54.8 → 0.56.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (465) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -1
  3. data/Rakefile +1 -1
  4. data/VERSION +1 -1
  5. data/vendor/{History.md → Changelog.md} +50 -0
  6. data/vendor/Readme.md +37 -23
  7. data/vendor/bin/stylus +1 -2
  8. data/vendor/lib/convert/css.js +1 -1
  9. data/vendor/lib/functions/acos.js +20 -0
  10. data/vendor/lib/functions/asin.js +21 -0
  11. data/vendor/lib/functions/atan.js +21 -0
  12. data/vendor/lib/functions/convert-angle.js +19 -0
  13. data/vendor/lib/functions/index.js +3 -0
  14. data/vendor/lib/functions/url.js +5 -5
  15. data/vendor/lib/lexer.js +1 -1
  16. data/vendor/lib/middleware.js +1 -2
  17. data/vendor/lib/visitor/compiler.js +2 -2
  18. data/vendor/lib/visitor/deps-resolver.js +3 -0
  19. data/vendor/node_modules/{cliui/node_modules/ansi-regex → ansi-regex}/index.d.ts +0 -0
  20. data/vendor/node_modules/ansi-regex/index.js +4 -4
  21. data/vendor/node_modules/ansi-regex/package.json +53 -51
  22. data/vendor/node_modules/ansi-regex/readme.md +35 -3
  23. data/vendor/node_modules/assertion-error/History.md +24 -0
  24. data/vendor/node_modules/{mkdirp/LICENSE → assertion-error/README.md} +22 -2
  25. data/vendor/node_modules/assertion-error/index.d.ts +11 -0
  26. data/vendor/node_modules/assertion-error/index.js +116 -0
  27. data/vendor/node_modules/assertion-error/package.json +29 -0
  28. data/vendor/node_modules/camelcase/index.d.ts +5 -3
  29. data/vendor/node_modules/camelcase/index.js +40 -18
  30. data/vendor/node_modules/camelcase/package.json +1 -1
  31. data/vendor/node_modules/camelcase/readme.md +21 -5
  32. data/vendor/node_modules/chai/CODEOWNERS +1 -0
  33. data/vendor/node_modules/chai/CODE_OF_CONDUCT.md +58 -0
  34. data/vendor/node_modules/chai/CONTRIBUTING.md +218 -0
  35. data/vendor/node_modules/chai/History.md +1059 -0
  36. data/vendor/node_modules/{should-type-adaptors → chai}/LICENSE +1 -1
  37. data/vendor/node_modules/chai/README.md +212 -0
  38. data/vendor/node_modules/chai/ReleaseNotes.md +737 -0
  39. data/vendor/node_modules/chai/bower.json +26 -0
  40. data/vendor/node_modules/chai/chai.js +11464 -0
  41. data/vendor/node_modules/chai/index.js +1 -0
  42. data/vendor/node_modules/chai/index.mjs +14 -0
  43. data/vendor/node_modules/chai/karma.conf.js +34 -0
  44. data/vendor/node_modules/chai/karma.sauce.js +41 -0
  45. data/vendor/node_modules/chai/lib/chai/assertion.js +175 -0
  46. data/vendor/node_modules/chai/lib/chai/config.js +94 -0
  47. data/vendor/node_modules/chai/lib/chai/core/assertions.js +3853 -0
  48. data/vendor/node_modules/chai/lib/chai/interface/assert.js +3113 -0
  49. data/vendor/node_modules/chai/lib/chai/interface/expect.js +47 -0
  50. data/vendor/node_modules/chai/lib/chai/interface/should.js +219 -0
  51. data/vendor/node_modules/chai/lib/chai/utils/addChainableMethod.js +152 -0
  52. data/vendor/node_modules/chai/lib/chai/utils/addLengthGuard.js +60 -0
  53. data/vendor/node_modules/chai/lib/chai/utils/addMethod.js +68 -0
  54. data/vendor/node_modules/chai/lib/chai/utils/addProperty.js +72 -0
  55. data/vendor/node_modules/chai/lib/chai/utils/compareByInspect.js +31 -0
  56. data/vendor/node_modules/chai/lib/chai/utils/expectTypes.js +51 -0
  57. data/vendor/node_modules/chai/lib/chai/utils/flag.js +33 -0
  58. data/vendor/node_modules/chai/lib/chai/utils/getActual.js +20 -0
  59. data/vendor/node_modules/chai/lib/chai/utils/getEnumerableProperties.js +26 -0
  60. data/vendor/node_modules/chai/lib/chai/utils/getMessage.js +50 -0
  61. data/vendor/node_modules/chai/lib/chai/utils/getOperator.js +55 -0
  62. data/vendor/node_modules/chai/lib/chai/utils/getOwnEnumerableProperties.js +29 -0
  63. data/vendor/node_modules/chai/lib/chai/utils/getOwnEnumerablePropertySymbols.js +27 -0
  64. data/vendor/node_modules/chai/lib/chai/utils/getProperties.js +36 -0
  65. data/vendor/node_modules/chai/lib/chai/utils/index.js +178 -0
  66. data/vendor/node_modules/chai/lib/chai/utils/inspect.js +33 -0
  67. data/vendor/node_modules/chai/lib/chai/utils/isNaN.js +26 -0
  68. data/vendor/node_modules/chai/lib/chai/utils/isProxyEnabled.js +24 -0
  69. data/vendor/node_modules/chai/lib/chai/utils/objDisplay.js +50 -0
  70. data/vendor/node_modules/chai/lib/chai/utils/overwriteChainableMethod.js +69 -0
  71. data/vendor/node_modules/chai/lib/chai/utils/overwriteMethod.js +92 -0
  72. data/vendor/node_modules/chai/lib/chai/utils/overwriteProperty.js +92 -0
  73. data/vendor/node_modules/chai/lib/chai/utils/proxify.js +147 -0
  74. data/vendor/node_modules/chai/lib/chai/utils/test.js +28 -0
  75. data/vendor/node_modules/chai/lib/chai/utils/transferFlags.js +45 -0
  76. data/vendor/node_modules/chai/lib/chai.js +92 -0
  77. data/vendor/node_modules/chai/package.json +63 -0
  78. data/vendor/node_modules/chai/register-assert.js +1 -0
  79. data/vendor/node_modules/chai/register-expect.js +1 -0
  80. data/vendor/node_modules/chai/register-should.js +1 -0
  81. data/vendor/node_modules/chai/sauce.browsers.js +106 -0
  82. data/vendor/node_modules/chalk/package.json +1 -1
  83. data/vendor/node_modules/chalk/readme.md +7 -1
  84. data/vendor/node_modules/{source-map-url → check-error}/LICENSE +1 -3
  85. data/vendor/node_modules/check-error/README.md +207 -0
  86. data/vendor/node_modules/check-error/check-error.js +176 -0
  87. data/vendor/node_modules/check-error/index.js +172 -0
  88. data/vendor/node_modules/check-error/package.json +85 -0
  89. data/vendor/node_modules/chokidar/README.md +5 -4
  90. data/vendor/node_modules/chokidar/index.js +7 -1
  91. data/vendor/node_modules/chokidar/lib/constants.js +2 -0
  92. data/vendor/node_modules/chokidar/lib/fsevents-handler.js +2 -1
  93. data/vendor/node_modules/chokidar/lib/nodefs-handler.js +9 -1
  94. data/vendor/node_modules/chokidar/package.json +15 -8
  95. data/vendor/node_modules/chokidar/types/index.d.ts +4 -3
  96. data/vendor/node_modules/css/lib/stringify/source-map-support.js +10 -3
  97. data/vendor/node_modules/css/package.json +8 -9
  98. data/vendor/node_modules/debug/LICENSE +10 -9
  99. data/vendor/node_modules/debug/README.md +116 -3
  100. data/vendor/node_modules/debug/package.json +35 -19
  101. data/vendor/node_modules/debug/src/browser.js +194 -120
  102. data/vendor/node_modules/debug/src/common.js +274 -0
  103. data/vendor/node_modules/debug/src/index.js +4 -4
  104. data/vendor/node_modules/debug/src/node.js +174 -97
  105. data/vendor/node_modules/{resolve-url → deep-eql}/LICENSE +1 -3
  106. data/vendor/node_modules/deep-eql/README.md +116 -0
  107. data/vendor/node_modules/deep-eql/deep-eql.js +833 -0
  108. data/vendor/node_modules/deep-eql/index.js +455 -0
  109. data/vendor/node_modules/deep-eql/package.json +90 -0
  110. data/vendor/node_modules/{urix → get-func-name}/LICENSE +1 -3
  111. data/vendor/node_modules/get-func-name/README.md +123 -0
  112. data/vendor/node_modules/get-func-name/get-func-name.js +48 -0
  113. data/vendor/node_modules/get-func-name/index.js +44 -0
  114. data/vendor/node_modules/get-func-name/package.json +85 -0
  115. data/vendor/node_modules/glob/README.md +3 -0
  116. data/vendor/node_modules/glob/common.js +2 -0
  117. data/vendor/node_modules/glob/glob.js +4 -5
  118. data/vendor/node_modules/glob/package.json +2 -1
  119. data/vendor/node_modules/glob/sync.js +4 -5
  120. data/vendor/node_modules/{cliui/node_modules/is-fullwidth-code-point → is-fullwidth-code-point}/index.d.ts +0 -0
  121. data/vendor/node_modules/is-fullwidth-code-point/index.js +25 -21
  122. data/vendor/node_modules/is-fullwidth-code-point/license +4 -16
  123. data/vendor/node_modules/is-fullwidth-code-point/package.json +40 -43
  124. data/vendor/node_modules/is-fullwidth-code-point/readme.md +6 -6
  125. data/vendor/node_modules/is-glob/README.md +1 -1
  126. data/vendor/node_modules/is-glob/index.js +126 -24
  127. data/vendor/node_modules/is-glob/package.json +2 -2
  128. data/vendor/node_modules/is-unicode-supported/index.d.ts +14 -0
  129. data/vendor/node_modules/is-unicode-supported/index.js +13 -0
  130. data/vendor/node_modules/{cliui/node_modules/string-width → is-unicode-supported}/license +1 -1
  131. data/vendor/node_modules/is-unicode-supported/package.json +41 -0
  132. data/vendor/node_modules/is-unicode-supported/readme.md +35 -0
  133. data/vendor/node_modules/js-yaml/CHANGELOG.md +13 -0
  134. data/vendor/node_modules/js-yaml/README.md +1 -1
  135. data/vendor/node_modules/js-yaml/dist/js-yaml.js +90 -70
  136. data/vendor/node_modules/js-yaml/dist/js-yaml.min.js +2 -2
  137. data/vendor/node_modules/js-yaml/dist/js-yaml.mjs +84 -65
  138. data/vendor/node_modules/js-yaml/index.js +17 -0
  139. data/vendor/node_modules/js-yaml/lib/schema.js +9 -9
  140. data/vendor/node_modules/js-yaml/lib/type.js +1 -0
  141. data/vendor/node_modules/js-yaml/package.json +1 -1
  142. data/vendor/node_modules/jscoverage/node_modules/ms/index.js +152 -0
  143. data/vendor/node_modules/{should-format/LICENSE → jscoverage/node_modules/ms/license.md} +1 -2
  144. data/vendor/node_modules/jscoverage/node_modules/ms/package.json +37 -0
  145. data/vendor/node_modules/jscoverage/node_modules/ms/readme.md +51 -0
  146. data/vendor/node_modules/log-symbols/index.d.ts +2 -2
  147. data/vendor/node_modules/log-symbols/index.js +3 -4
  148. data/vendor/node_modules/log-symbols/package.json +7 -5
  149. data/vendor/node_modules/log-symbols/readme.md +3 -3
  150. data/vendor/node_modules/loupe/CHANGELOG.md +5 -0
  151. data/vendor/node_modules/{cliui/node_modules/strip-ansi/license → loupe/LICENSE} +2 -2
  152. data/vendor/node_modules/loupe/README.md +63 -0
  153. data/vendor/node_modules/loupe/index.js +195 -0
  154. data/vendor/node_modules/loupe/lib/arguments.js +7 -0
  155. data/vendor/node_modules/loupe/lib/array.js +20 -0
  156. data/vendor/node_modules/loupe/lib/bigint.js +7 -0
  157. data/vendor/node_modules/loupe/lib/class.js +18 -0
  158. data/vendor/node_modules/loupe/lib/date.js +8 -0
  159. data/vendor/node_modules/loupe/lib/error.js +34 -0
  160. data/vendor/node_modules/loupe/lib/function.js +10 -0
  161. data/vendor/node_modules/loupe/lib/helpers.js +177 -0
  162. data/vendor/node_modules/loupe/lib/html.js +40 -0
  163. data/vendor/node_modules/loupe/lib/map.js +27 -0
  164. data/vendor/node_modules/loupe/lib/number.js +18 -0
  165. data/vendor/node_modules/loupe/lib/object.js +31 -0
  166. data/vendor/node_modules/loupe/lib/promise.js +16 -0
  167. data/vendor/node_modules/loupe/lib/regexp.js +8 -0
  168. data/vendor/node_modules/loupe/lib/set.js +16 -0
  169. data/vendor/node_modules/loupe/lib/string.js +29 -0
  170. data/vendor/node_modules/loupe/lib/symbol.js +6 -0
  171. data/vendor/node_modules/loupe/lib/typedarray.js +45 -0
  172. data/vendor/node_modules/loupe/loupe.js +852 -0
  173. data/vendor/node_modules/loupe/package.json +141 -0
  174. data/vendor/node_modules/minimatch/README.md +22 -1
  175. data/vendor/node_modules/minimatch/minimatch.js +93 -69
  176. data/vendor/node_modules/minimatch/package.json +6 -3
  177. data/vendor/node_modules/mocha/LICENSE +1 -1
  178. data/vendor/node_modules/mocha/README.md +1 -1
  179. data/vendor/node_modules/mocha/bin/mocha +18 -27
  180. data/vendor/node_modules/mocha/browser-entry.js +27 -20
  181. data/vendor/node_modules/mocha/lib/browser/growl.js +5 -5
  182. data/vendor/node_modules/mocha/lib/browser/parse-query.js +1 -1
  183. data/vendor/node_modules/mocha/lib/browser/progress.js +6 -6
  184. data/vendor/node_modules/mocha/lib/cli/cli.js +3 -2
  185. data/vendor/node_modules/mocha/lib/cli/config.js +7 -12
  186. data/vendor/node_modules/mocha/lib/cli/lookup-files.js +2 -8
  187. data/vendor/node_modules/mocha/lib/cli/node-flags.js +2 -5
  188. data/vendor/node_modules/mocha/lib/cli/one-and-dones.js +1 -2
  189. data/vendor/node_modules/mocha/lib/cli/run-helpers.js +15 -15
  190. data/vendor/node_modules/mocha/lib/cli/run-option-metadata.js +4 -0
  191. data/vendor/node_modules/mocha/lib/cli/run.js +13 -1
  192. data/vendor/node_modules/mocha/lib/cli/watch-run.js +3 -6
  193. data/vendor/node_modules/mocha/lib/context.js +5 -5
  194. data/vendor/node_modules/mocha/lib/errors.js +3 -3
  195. data/vendor/node_modules/mocha/lib/hook.js +9 -3
  196. data/vendor/node_modules/mocha/lib/interfaces/bdd.js +23 -20
  197. data/vendor/node_modules/mocha/lib/interfaces/common.js +7 -7
  198. data/vendor/node_modules/mocha/lib/interfaces/exports.js +1 -1
  199. data/vendor/node_modules/mocha/lib/interfaces/qunit.js +7 -7
  200. data/vendor/node_modules/mocha/lib/interfaces/tdd.js +9 -9
  201. data/vendor/node_modules/mocha/lib/mocha.js +105 -99
  202. data/vendor/node_modules/mocha/lib/nodejs/buffered-worker-pool.js +17 -1
  203. data/vendor/node_modules/mocha/lib/nodejs/esm-utils.js +124 -0
  204. data/vendor/node_modules/mocha/lib/reporters/base.js +49 -35
  205. data/vendor/node_modules/mocha/lib/reporters/doc.js +4 -4
  206. data/vendor/node_modules/mocha/lib/reporters/dot.js +5 -5
  207. data/vendor/node_modules/mocha/lib/reporters/html.js +12 -12
  208. data/vendor/node_modules/mocha/lib/reporters/json-stream.js +4 -4
  209. data/vendor/node_modules/mocha/lib/reporters/json.js +35 -10
  210. data/vendor/node_modules/mocha/lib/reporters/landing.js +5 -5
  211. data/vendor/node_modules/mocha/lib/reporters/list.js +5 -5
  212. data/vendor/node_modules/mocha/lib/reporters/markdown.js +5 -5
  213. data/vendor/node_modules/mocha/lib/reporters/min.js +1 -1
  214. data/vendor/node_modules/mocha/lib/reporters/nyan.js +16 -16
  215. data/vendor/node_modules/mocha/lib/reporters/progress.js +3 -3
  216. data/vendor/node_modules/mocha/lib/reporters/spec.js +6 -6
  217. data/vendor/node_modules/mocha/lib/reporters/tap.js +17 -17
  218. data/vendor/node_modules/mocha/lib/reporters/xunit.js +9 -9
  219. data/vendor/node_modules/mocha/lib/runnable.js +21 -21
  220. data/vendor/node_modules/mocha/lib/runner.js +63 -61
  221. data/vendor/node_modules/mocha/lib/stats-collector.js +7 -7
  222. data/vendor/node_modules/mocha/lib/suite.js +46 -75
  223. data/vendor/node_modules/mocha/lib/test.js +5 -5
  224. data/vendor/node_modules/mocha/lib/utils.js +19 -114
  225. data/vendor/node_modules/mocha/mocha-es2018.js +19794 -0
  226. data/vendor/node_modules/mocha/mocha.js +8059 -6920
  227. data/vendor/node_modules/mocha/mocha.js.map +1 -1
  228. data/vendor/node_modules/mocha/node_modules/debug/LICENSE +10 -9
  229. data/vendor/node_modules/mocha/node_modules/debug/README.md +24 -1
  230. data/vendor/node_modules/mocha/node_modules/debug/package.json +6 -6
  231. data/vendor/node_modules/mocha/node_modules/debug/src/common.js +15 -2
  232. data/vendor/node_modules/{semver → mocha/node_modules/minimatch}/LICENSE +1 -1
  233. data/vendor/node_modules/mocha/node_modules/minimatch/README.md +230 -0
  234. data/vendor/node_modules/mocha/node_modules/minimatch/minimatch.js +908 -0
  235. data/vendor/node_modules/mocha/node_modules/minimatch/package.json +31 -0
  236. data/vendor/node_modules/mocha/package.json +66 -65
  237. data/vendor/node_modules/ms/index.js +29 -19
  238. data/vendor/node_modules/ms/package.json +6 -6
  239. data/vendor/node_modules/ms/readme.md +18 -9
  240. data/vendor/node_modules/nanoid/README.md +9 -473
  241. data/vendor/node_modules/nanoid/async/index.browser.cjs +34 -0
  242. data/vendor/node_modules/nanoid/async/index.browser.js +7 -43
  243. data/vendor/node_modules/nanoid/async/index.cjs +5 -41
  244. data/vendor/node_modules/nanoid/async/index.d.ts +7 -7
  245. data/vendor/node_modules/nanoid/async/index.js +5 -41
  246. data/vendor/node_modules/nanoid/async/index.native.js +5 -36
  247. data/vendor/node_modules/nanoid/async/package.json +2 -1
  248. data/vendor/node_modules/nanoid/bin/nanoid.cjs +52 -2
  249. data/vendor/node_modules/nanoid/index.browser.cjs +37 -0
  250. data/vendor/node_modules/nanoid/index.browser.js +5 -73
  251. data/vendor/node_modules/nanoid/index.cjs +14 -49
  252. data/vendor/node_modules/nanoid/index.d.ts +9 -6
  253. data/vendor/node_modules/nanoid/index.js +14 -49
  254. data/vendor/node_modules/nanoid/non-secure/index.cjs +3 -12
  255. data/vendor/node_modules/nanoid/non-secure/index.d.ts +8 -5
  256. data/vendor/node_modules/nanoid/non-secure/index.js +3 -12
  257. data/vendor/node_modules/nanoid/package.json +14 -10
  258. data/vendor/node_modules/nanoid/url-alphabet/index.cjs +1 -4
  259. data/vendor/node_modules/nanoid/url-alphabet/index.js +1 -4
  260. data/vendor/node_modules/pathval/CHANGELOG.md +18 -0
  261. data/vendor/node_modules/pathval/LICENSE +16 -0
  262. data/vendor/node_modules/pathval/README.md +147 -0
  263. data/vendor/node_modules/pathval/index.js +301 -0
  264. data/vendor/node_modules/pathval/package.json +80 -0
  265. data/vendor/node_modules/pathval/pathval.js +1 -0
  266. data/vendor/node_modules/picomatch/CHANGELOG.md +16 -0
  267. data/vendor/node_modules/picomatch/README.md +34 -17
  268. data/vendor/node_modules/picomatch/lib/parse.js +19 -6
  269. data/vendor/node_modules/picomatch/lib/picomatch.js +34 -31
  270. data/vendor/node_modules/picomatch/lib/scan.js +8 -2
  271. data/vendor/node_modules/picomatch/package.json +1 -1
  272. data/vendor/node_modules/readdirp/index.js +11 -6
  273. data/vendor/node_modules/readdirp/package.json +1 -1
  274. data/vendor/node_modules/serialize-javascript/README.md +2 -4
  275. data/vendor/node_modules/serialize-javascript/index.js +11 -2
  276. data/vendor/node_modules/serialize-javascript/package.json +2 -2
  277. data/vendor/node_modules/source-map-resolve/LICENSE +1 -1
  278. data/vendor/node_modules/source-map-resolve/changelog.md +6 -0
  279. data/vendor/node_modules/source-map-resolve/{lib/source-map-resolve-node.js → index.js} +48 -13
  280. data/vendor/node_modules/source-map-resolve/package.json +7 -14
  281. data/vendor/node_modules/source-map-resolve/readme.md +1 -39
  282. data/vendor/node_modules/{cliui/node_modules/string-width → string-width}/index.d.ts +0 -0
  283. data/vendor/node_modules/string-width/index.js +16 -5
  284. data/vendor/node_modules/string-width/package.json +11 -10
  285. data/vendor/node_modules/string-width/readme.md +15 -7
  286. data/vendor/node_modules/{cliui/node_modules/strip-ansi → strip-ansi}/index.d.ts +0 -0
  287. data/vendor/node_modules/strip-ansi/index.js +1 -1
  288. data/vendor/node_modules/strip-ansi/package.json +52 -50
  289. data/vendor/node_modules/strip-ansi/readme.md +12 -5
  290. data/vendor/node_modules/{fsevents → type-detect}/LICENSE +1 -4
  291. data/vendor/node_modules/type-detect/README.md +228 -0
  292. data/vendor/node_modules/type-detect/index.js +378 -0
  293. data/vendor/node_modules/type-detect/package.json +1 -0
  294. data/vendor/node_modules/type-detect/type-detect.js +388 -0
  295. data/vendor/node_modules/workerpool/HISTORY.md +42 -0
  296. data/vendor/node_modules/workerpool/README.md +11 -1
  297. data/vendor/node_modules/workerpool/dist/worker.js +9 -42
  298. data/vendor/node_modules/workerpool/dist/worker.js.map +1 -1
  299. data/vendor/node_modules/workerpool/dist/workerpool.js +117 -74
  300. data/vendor/node_modules/workerpool/dist/workerpool.js.map +1 -1
  301. data/vendor/node_modules/workerpool/dist/workerpool.min.js +1 -1
  302. data/vendor/node_modules/workerpool/dist/workerpool.min.js.LICENSE.txt +3 -3
  303. data/vendor/node_modules/workerpool/dist/workerpool.min.js.map +1 -1
  304. data/vendor/node_modules/workerpool/package.json +11 -11
  305. data/vendor/node_modules/workerpool/src/Pool.js +29 -4
  306. data/vendor/node_modules/workerpool/src/WorkerHandler.js +17 -4
  307. data/vendor/node_modules/workerpool/src/generated/embeddedWorker.js +1 -1
  308. data/vendor/node_modules/workerpool/src/header.js +1 -1
  309. data/vendor/node_modules/workerpool/src/types.js +2 -1
  310. data/vendor/package-lock.json +401 -664
  311. data/vendor/package.json +7 -9
  312. metadata +139 -175
  313. data/vendor/node_modules/cliui/node_modules/ansi-regex/index.js +0 -10
  314. data/vendor/node_modules/cliui/node_modules/ansi-regex/license +0 -9
  315. data/vendor/node_modules/cliui/node_modules/ansi-regex/package.json +0 -55
  316. data/vendor/node_modules/cliui/node_modules/ansi-regex/readme.md +0 -78
  317. data/vendor/node_modules/cliui/node_modules/is-fullwidth-code-point/index.js +0 -50
  318. data/vendor/node_modules/cliui/node_modules/is-fullwidth-code-point/license +0 -9
  319. data/vendor/node_modules/cliui/node_modules/is-fullwidth-code-point/package.json +0 -42
  320. data/vendor/node_modules/cliui/node_modules/is-fullwidth-code-point/readme.md +0 -39
  321. data/vendor/node_modules/cliui/node_modules/string-width/index.js +0 -47
  322. data/vendor/node_modules/cliui/node_modules/string-width/package.json +0 -56
  323. data/vendor/node_modules/cliui/node_modules/string-width/readme.md +0 -50
  324. data/vendor/node_modules/cliui/node_modules/strip-ansi/index.js +0 -4
  325. data/vendor/node_modules/cliui/node_modules/strip-ansi/package.json +0 -54
  326. data/vendor/node_modules/cliui/node_modules/strip-ansi/readme.md +0 -46
  327. data/vendor/node_modules/css-parse/Readme.md +0 -15
  328. data/vendor/node_modules/css-parse/index.js +0 -1
  329. data/vendor/node_modules/css-parse/package.json +0 -23
  330. data/vendor/node_modules/debug/CHANGELOG.md +0 -395
  331. data/vendor/node_modules/debug/Makefile +0 -58
  332. data/vendor/node_modules/debug/karma.conf.js +0 -70
  333. data/vendor/node_modules/debug/node.js +0 -1
  334. data/vendor/node_modules/debug/src/debug.js +0 -225
  335. data/vendor/node_modules/fsevents/README.md +0 -83
  336. data/vendor/node_modules/fsevents/fsevents.d.ts +0 -46
  337. data/vendor/node_modules/fsevents/fsevents.js +0 -82
  338. data/vendor/node_modules/fsevents/fsevents.node +0 -0
  339. data/vendor/node_modules/fsevents/package.json +0 -62
  340. data/vendor/node_modules/glob/changelog.md +0 -67
  341. data/vendor/node_modules/mkdirp/CHANGELOG.md +0 -15
  342. data/vendor/node_modules/mkdirp/bin/cmd.js +0 -68
  343. data/vendor/node_modules/mkdirp/index.js +0 -31
  344. data/vendor/node_modules/mkdirp/lib/find-made.js +0 -29
  345. data/vendor/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
  346. data/vendor/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
  347. data/vendor/node_modules/mkdirp/lib/opts-arg.js +0 -23
  348. data/vendor/node_modules/mkdirp/lib/path-arg.js +0 -29
  349. data/vendor/node_modules/mkdirp/lib/use-native.js +0 -10
  350. data/vendor/node_modules/mkdirp/package.json +0 -44
  351. data/vendor/node_modules/mkdirp/readme.markdown +0 -266
  352. data/vendor/node_modules/mocha/CHANGELOG.md +0 -931
  353. data/vendor/node_modules/mocha/lib/esm-utils.js +0 -58
  354. data/vendor/node_modules/mocha/node_modules/glob/LICENSE +0 -21
  355. data/vendor/node_modules/mocha/node_modules/glob/README.md +0 -375
  356. data/vendor/node_modules/mocha/node_modules/glob/changelog.md +0 -67
  357. data/vendor/node_modules/mocha/node_modules/glob/common.js +0 -240
  358. data/vendor/node_modules/mocha/node_modules/glob/glob.js +0 -790
  359. data/vendor/node_modules/mocha/node_modules/glob/package.json +0 -46
  360. data/vendor/node_modules/mocha/node_modules/glob/sync.js +0 -486
  361. data/vendor/node_modules/nanoid/CHANGELOG.md +0 -241
  362. data/vendor/node_modules/nanoid/index.dev.js +0 -105
  363. data/vendor/node_modules/nanoid/index.prod.js +0 -105
  364. data/vendor/node_modules/resolve-url/bower.json +0 -15
  365. data/vendor/node_modules/resolve-url/changelog.md +0 -15
  366. data/vendor/node_modules/resolve-url/component.json +0 -15
  367. data/vendor/node_modules/resolve-url/package.json +0 -34
  368. data/vendor/node_modules/resolve-url/readme.md +0 -83
  369. data/vendor/node_modules/resolve-url/resolve-url.js +0 -47
  370. data/vendor/node_modules/resolve-url/test/resolve-url.js +0 -70
  371. data/vendor/node_modules/semver/CHANGELOG.md +0 -70
  372. data/vendor/node_modules/semver/README.md +0 -443
  373. data/vendor/node_modules/semver/bin/semver.js +0 -174
  374. data/vendor/node_modules/semver/package.json +0 -28
  375. data/vendor/node_modules/semver/range.bnf +0 -16
  376. data/vendor/node_modules/semver/semver.js +0 -1596
  377. data/vendor/node_modules/should/CONTRIBUTING.md +0 -14
  378. data/vendor/node_modules/should/History.md +0 -554
  379. data/vendor/node_modules/should/LICENSE +0 -20
  380. data/vendor/node_modules/should/Readme.md +0 -223
  381. data/vendor/node_modules/should/as-function.js +0 -2935
  382. data/vendor/node_modules/should/cjs/should.js +0 -2962
  383. data/vendor/node_modules/should/es6/should.js +0 -2958
  384. data/vendor/node_modules/should/package.json +0 -51
  385. data/vendor/node_modules/should/should.d.ts +0 -243
  386. data/vendor/node_modules/should/should.js +0 -4371
  387. data/vendor/node_modules/should-equal/LICENSE +0 -21
  388. data/vendor/node_modules/should-equal/README.md +0 -24
  389. data/vendor/node_modules/should-equal/cjs/should-equal.js +0 -333
  390. data/vendor/node_modules/should-equal/es6/should-equal.js +0 -329
  391. data/vendor/node_modules/should-equal/package.json +0 -38
  392. data/vendor/node_modules/should-format/README.md +0 -6
  393. data/vendor/node_modules/should-format/cjs/should-format.js +0 -532
  394. data/vendor/node_modules/should-format/es6/should-format.js +0 -528
  395. data/vendor/node_modules/should-format/package.json +0 -44
  396. data/vendor/node_modules/should-type/LICENSE +0 -22
  397. data/vendor/node_modules/should-type/README.md +0 -4
  398. data/vendor/node_modules/should-type/cjs/should-type.js +0 -263
  399. data/vendor/node_modules/should-type/es6/should-type.js +0 -261
  400. data/vendor/node_modules/should-type/package.json +0 -38
  401. data/vendor/node_modules/should-type-adaptors/README.md +0 -1
  402. data/vendor/node_modules/should-type-adaptors/cjs/should-type-adaptors.js +0 -288
  403. data/vendor/node_modules/should-type-adaptors/es6/should-type-adaptors.js +0 -272
  404. data/vendor/node_modules/should-type-adaptors/package.json +0 -43
  405. data/vendor/node_modules/should-util/LICENSE +0 -21
  406. data/vendor/node_modules/should-util/README.md +0 -2
  407. data/vendor/node_modules/should-util/cjs/should-util.js +0 -50
  408. data/vendor/node_modules/should-util/es6/should-util.js +0 -42
  409. data/vendor/node_modules/should-util/package.json +0 -40
  410. data/vendor/node_modules/source-map-resolve/lib/decode-uri-component.js +0 -8
  411. data/vendor/node_modules/source-map-resolve/lib/resolve-url.js +0 -9
  412. data/vendor/node_modules/source-map-resolve/source-map-resolve.js +0 -348
  413. data/vendor/node_modules/source-map-url/changelog.md +0 -57
  414. data/vendor/node_modules/source-map-url/package.json +0 -39
  415. data/vendor/node_modules/source-map-url/readme.md +0 -97
  416. data/vendor/node_modules/source-map-url/source-map-url.js +0 -57
  417. data/vendor/node_modules/urix/index.js +0 -17
  418. data/vendor/node_modules/urix/package.json +0 -25
  419. data/vendor/node_modules/urix/readme.md +0 -46
  420. data/vendor/node_modules/urix/test/index.js +0 -43
  421. data/vendor/node_modules/wide-align/LICENSE +0 -14
  422. data/vendor/node_modules/wide-align/README.md +0 -47
  423. data/vendor/node_modules/wide-align/align.js +0 -65
  424. data/vendor/node_modules/wide-align/package.json +0 -33
  425. data/vendor/node_modules/wrap-ansi/node_modules/ansi-regex/index.d.ts +0 -37
  426. data/vendor/node_modules/wrap-ansi/node_modules/ansi-regex/index.js +0 -10
  427. data/vendor/node_modules/wrap-ansi/node_modules/ansi-regex/license +0 -9
  428. data/vendor/node_modules/wrap-ansi/node_modules/ansi-regex/package.json +0 -55
  429. data/vendor/node_modules/wrap-ansi/node_modules/ansi-regex/readme.md +0 -78
  430. data/vendor/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point/index.d.ts +0 -17
  431. data/vendor/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point/index.js +0 -50
  432. data/vendor/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point/license +0 -9
  433. data/vendor/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point/package.json +0 -42
  434. data/vendor/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point/readme.md +0 -39
  435. data/vendor/node_modules/wrap-ansi/node_modules/string-width/index.d.ts +0 -29
  436. data/vendor/node_modules/wrap-ansi/node_modules/string-width/index.js +0 -47
  437. data/vendor/node_modules/wrap-ansi/node_modules/string-width/license +0 -9
  438. data/vendor/node_modules/wrap-ansi/node_modules/string-width/package.json +0 -56
  439. data/vendor/node_modules/wrap-ansi/node_modules/string-width/readme.md +0 -50
  440. data/vendor/node_modules/wrap-ansi/node_modules/strip-ansi/index.d.ts +0 -17
  441. data/vendor/node_modules/wrap-ansi/node_modules/strip-ansi/index.js +0 -4
  442. data/vendor/node_modules/wrap-ansi/node_modules/strip-ansi/license +0 -9
  443. data/vendor/node_modules/wrap-ansi/node_modules/strip-ansi/package.json +0 -54
  444. data/vendor/node_modules/wrap-ansi/node_modules/strip-ansi/readme.md +0 -46
  445. data/vendor/node_modules/yargs/node_modules/ansi-regex/index.d.ts +0 -37
  446. data/vendor/node_modules/yargs/node_modules/ansi-regex/index.js +0 -10
  447. data/vendor/node_modules/yargs/node_modules/ansi-regex/license +0 -9
  448. data/vendor/node_modules/yargs/node_modules/ansi-regex/package.json +0 -55
  449. data/vendor/node_modules/yargs/node_modules/ansi-regex/readme.md +0 -78
  450. data/vendor/node_modules/yargs/node_modules/is-fullwidth-code-point/index.d.ts +0 -17
  451. data/vendor/node_modules/yargs/node_modules/is-fullwidth-code-point/index.js +0 -50
  452. data/vendor/node_modules/yargs/node_modules/is-fullwidth-code-point/license +0 -9
  453. data/vendor/node_modules/yargs/node_modules/is-fullwidth-code-point/package.json +0 -42
  454. data/vendor/node_modules/yargs/node_modules/is-fullwidth-code-point/readme.md +0 -39
  455. data/vendor/node_modules/yargs/node_modules/string-width/index.d.ts +0 -29
  456. data/vendor/node_modules/yargs/node_modules/string-width/index.js +0 -47
  457. data/vendor/node_modules/yargs/node_modules/string-width/license +0 -9
  458. data/vendor/node_modules/yargs/node_modules/string-width/package.json +0 -56
  459. data/vendor/node_modules/yargs/node_modules/string-width/readme.md +0 -50
  460. data/vendor/node_modules/yargs/node_modules/strip-ansi/index.d.ts +0 -17
  461. data/vendor/node_modules/yargs/node_modules/strip-ansi/index.js +0 -4
  462. data/vendor/node_modules/yargs/node_modules/strip-ansi/license +0 -9
  463. data/vendor/node_modules/yargs/node_modules/strip-ansi/package.json +0 -54
  464. data/vendor/node_modules/yargs/node_modules/strip-ansi/readme.md +0 -46
  465. data/vendor/test.js +0 -31
@@ -4,7 +4,6 @@
4
4
  * Module dependencies.
5
5
  * @private
6
6
  */
7
- var util = require('util');
8
7
  var EventEmitter = require('events').EventEmitter;
9
8
  var Pending = require('./pending');
10
9
  var utils = require('./utils');
@@ -19,8 +18,6 @@ var EVENT_ROOT_SUITE_RUN = Suite.constants.EVENT_ROOT_SUITE_RUN;
19
18
  var STATE_FAILED = Runnable.constants.STATE_FAILED;
20
19
  var STATE_PASSED = Runnable.constants.STATE_PASSED;
21
20
  var STATE_PENDING = Runnable.constants.STATE_PENDING;
22
- var dQuote = utils.dQuote;
23
- var sQuote = utils.sQuote;
24
21
  var stackFilter = utils.stackTraceFilter();
25
22
  var stringify = utils.stringify;
26
23
 
@@ -138,9 +135,11 @@ class Runner extends EventEmitter {
138
135
  * @public
139
136
  * @class
140
137
  * @param {Suite} suite - Root suite
141
- * @param {Object|boolean} [opts] - Options. If `boolean`, whether or not to delay execution of root suite until ready (for backwards compatibility).
142
- * @param {boolean} [opts.delay] - Whether to delay execution of root suite until ready.
138
+ * @param {Object|boolean} [opts] - Options. If `boolean` (deprecated), whether to delay execution of root suite until ready.
143
139
  * @param {boolean} [opts.cleanReferencesAfterRun] - Whether to clean references to test fns and hooks when a suite is done.
140
+ * @param {boolean} [opts.delay] - Whether to delay execution of root suite until ready.
141
+ * @param {boolean} [opts.dryRun] - Whether to report tests without running them.
142
+ * @param {boolean} [opts.failZero] - Whether to fail test run if zero tests encountered.
144
143
  */
145
144
  constructor(suite, opts) {
146
145
  super();
@@ -148,7 +147,10 @@ class Runner extends EventEmitter {
148
147
  opts = {};
149
148
  }
150
149
  if (typeof opts === 'boolean') {
151
- // TODO: deprecate this
150
+ // TODO: remove this
151
+ require('./errors').deprecate(
152
+ '"Runner(suite: Suite, delay: boolean)" is deprecated. Use "Runner(suite: Suite, {delay: boolean})" instead.'
153
+ );
152
154
  this._delay = opts;
153
155
  opts = {};
154
156
  } else {
@@ -166,7 +168,7 @@ class Runner extends EventEmitter {
166
168
  * @type {Map<EventEmitter,Map<string,Set<EventListener>>>}
167
169
  */
168
170
  this._eventListeners = new Map();
169
- this.on(constants.EVENT_TEST_END, function(test) {
171
+ this.on(constants.EVENT_TEST_END, function (test) {
170
172
  if (test.type === 'test' && test.retriedTest() && test.parent) {
171
173
  var idx =
172
174
  test.parent.tests && test.parent.tests.indexOf(test.retriedTest());
@@ -174,7 +176,7 @@ class Runner extends EventEmitter {
174
176
  }
175
177
  self.checkGlobals(test);
176
178
  });
177
- this.on(constants.EVENT_HOOK_END, function(hook) {
179
+ this.on(constants.EVENT_HOOK_END, function (hook) {
178
180
  self.checkGlobals(hook);
179
181
  });
180
182
  this._defaultGrep = /.*/;
@@ -223,7 +225,7 @@ Runner.immediately = global.setImmediate || process.nextTick;
223
225
  * @param {string} fn - Listener function
224
226
  * @private
225
227
  */
226
- Runner.prototype._addEventListener = function(target, eventName, listener) {
228
+ Runner.prototype._addEventListener = function (target, eventName, listener) {
227
229
  debug(
228
230
  '_addEventListener(): adding for event %s; %d current listeners',
229
231
  eventName,
@@ -233,10 +235,7 @@ Runner.prototype._addEventListener = function(target, eventName, listener) {
233
235
  if (
234
236
  this._eventListeners.has(target) &&
235
237
  this._eventListeners.get(target).has(eventName) &&
236
- this._eventListeners
237
- .get(target)
238
- .get(eventName)
239
- .has(listener)
238
+ this._eventListeners.get(target).get(eventName).has(listener)
240
239
  ) {
241
240
  debug(
242
241
  'warning: tried to attach duplicate event listener for %s',
@@ -263,7 +262,7 @@ Runner.prototype._addEventListener = function(target, eventName, listener) {
263
262
  * @param {function} listener - Listener function
264
263
  * @private
265
264
  */
266
- Runner.prototype._removeEventListener = function(target, eventName, listener) {
265
+ Runner.prototype._removeEventListener = function (target, eventName, listener) {
267
266
  target.removeListener(eventName, listener);
268
267
 
269
268
  if (this._eventListeners.has(target)) {
@@ -287,7 +286,7 @@ Runner.prototype._removeEventListener = function(target, eventName, listener) {
287
286
  * Removes all event handlers set during a run on this instance.
288
287
  * Remark: this does _not_ clean/dispose the tests or suites themselves.
289
288
  */
290
- Runner.prototype.dispose = function() {
289
+ Runner.prototype.dispose = function () {
291
290
  this.removeAllListeners();
292
291
  this._eventListeners.forEach((targetListeners, target) => {
293
292
  targetListeners.forEach((targetEventListeners, eventName) => {
@@ -309,7 +308,7 @@ Runner.prototype.dispose = function() {
309
308
  * @param {boolean} invert
310
309
  * @return {Runner} Runner instance.
311
310
  */
312
- Runner.prototype.grep = function(re, invert) {
311
+ Runner.prototype.grep = function (re, invert) {
313
312
  debug('grep(): setting to %s', re);
314
313
  this._grep = re;
315
314
  this._invert = invert;
@@ -326,11 +325,11 @@ Runner.prototype.grep = function(re, invert) {
326
325
  * @param {Suite} suite
327
326
  * @return {number}
328
327
  */
329
- Runner.prototype.grepTotal = function(suite) {
328
+ Runner.prototype.grepTotal = function (suite) {
330
329
  var self = this;
331
330
  var total = 0;
332
331
 
333
- suite.eachTest(function(test) {
332
+ suite.eachTest(function (test) {
334
333
  var match = self._grep.test(test.fullTitle());
335
334
  if (self._invert) {
336
335
  match = !match;
@@ -349,7 +348,7 @@ Runner.prototype.grepTotal = function(suite) {
349
348
  * @return {Array}
350
349
  * @private
351
350
  */
352
- Runner.prototype.globalProps = function() {
351
+ Runner.prototype.globalProps = function () {
353
352
  var props = Object.keys(global);
354
353
 
355
354
  // non-enumerables
@@ -371,7 +370,7 @@ Runner.prototype.globalProps = function() {
371
370
  * @param {Array} arr
372
371
  * @return {Runner} Runner instance.
373
372
  */
374
- Runner.prototype.globals = function(arr) {
373
+ Runner.prototype.globals = function (arr) {
375
374
  if (!arguments.length) {
376
375
  return this._globals;
377
376
  }
@@ -385,7 +384,7 @@ Runner.prototype.globals = function(arr) {
385
384
  *
386
385
  * @private
387
386
  */
388
- Runner.prototype.checkGlobals = function(test) {
387
+ Runner.prototype.checkGlobals = function (test) {
389
388
  if (!this.checkLeaks) {
390
389
  return;
391
390
  }
@@ -407,9 +406,8 @@ Runner.prototype.checkGlobals = function(test) {
407
406
  this._globals = this._globals.concat(leaks);
408
407
 
409
408
  if (leaks.length) {
410
- var msg = 'global leak(s) detected: %s';
411
- var error = new Error(util.format(msg, leaks.map(sQuote).join(', ')));
412
- this.fail(test, error);
409
+ var msg = `global leak(s) detected: ${leaks.map(e => `'${e}'`).join(', ')}`;
410
+ this.fail(test, new Error(msg));
413
411
  }
414
412
  };
415
413
 
@@ -434,7 +432,7 @@ Runner.prototype.checkGlobals = function(test) {
434
432
  * @param {Error} err
435
433
  * @param {boolean} [force=false] - Whether to fail a pending test.
436
434
  */
437
- Runner.prototype.fail = function(test, err, force) {
435
+ Runner.prototype.fail = function (test, err, force) {
438
436
  force = force === true;
439
437
  if (test.isPending() && !force) {
440
438
  return;
@@ -475,7 +473,9 @@ Runner.prototype.fail = function(test, err, force) {
475
473
  * @param {Function} fn
476
474
  */
477
475
 
478
- Runner.prototype.hook = function(name, fn) {
476
+ Runner.prototype.hook = function (name, fn) {
477
+ if (this._opts.dryRun) return fn();
478
+
479
479
  var suite = this.suite;
480
480
  var hooks = suite.getHooks(name);
481
481
  var self = this;
@@ -502,7 +502,7 @@ Runner.prototype.hook = function(name, fn) {
502
502
  self.emit(constants.EVENT_HOOK_BEGIN, hook);
503
503
 
504
504
  if (!hook.listeners('error').length) {
505
- self._addEventListener(hook, 'error', function(err) {
505
+ self._addEventListener(hook, 'error', function (err) {
506
506
  self.fail(hook, err);
507
507
  });
508
508
  }
@@ -527,10 +527,10 @@ Runner.prototype.hook = function(name, fn) {
527
527
  hook.pending = false; // activates hook for next test
528
528
  return fn(new Error('abort hookDown'));
529
529
  } else if (name === HOOK_TYPE_BEFORE_ALL) {
530
- suite.tests.forEach(function(test) {
530
+ suite.tests.forEach(function (test) {
531
531
  test.pending = true;
532
532
  });
533
- suite.suites.forEach(function(suite) {
533
+ suite.suites.forEach(function (suite) {
534
534
  suite.pending = true;
535
535
  });
536
536
  hooks = [];
@@ -554,8 +554,7 @@ Runner.prototype.hook = function(name, fn) {
554
554
  function setHookTitle(hook) {
555
555
  hook.originalTitle = hook.originalTitle || hook.title;
556
556
  if (hook.ctx && hook.ctx.currentTest) {
557
- hook.title =
558
- hook.originalTitle + ' for ' + dQuote(hook.ctx.currentTest.title);
557
+ hook.title = `${hook.originalTitle} for "${hook.ctx.currentTest.title}"`;
559
558
  } else {
560
559
  var parentTitle;
561
560
  if (hook.parent.title) {
@@ -563,12 +562,12 @@ Runner.prototype.hook = function(name, fn) {
563
562
  } else {
564
563
  parentTitle = hook.parent.root ? '{root}' : '';
565
564
  }
566
- hook.title = hook.originalTitle + ' in ' + dQuote(parentTitle);
565
+ hook.title = `${hook.originalTitle} in "${parentTitle}"`;
567
566
  }
568
567
  }
569
568
  }
570
569
 
571
- Runner.immediately(function() {
570
+ Runner.immediately(function () {
572
571
  next(0);
573
572
  });
574
573
  };
@@ -582,7 +581,7 @@ Runner.prototype.hook = function(name, fn) {
582
581
  * @param {Array} suites
583
582
  * @param {Function} fn
584
583
  */
585
- Runner.prototype.hooks = function(name, suites, fn) {
584
+ Runner.prototype.hooks = function (name, suites, fn) {
586
585
  var self = this;
587
586
  var orig = this.suite;
588
587
 
@@ -594,7 +593,7 @@ Runner.prototype.hooks = function(name, suites, fn) {
594
593
  return fn();
595
594
  }
596
595
 
597
- self.hook(name, function(err) {
596
+ self.hook(name, function (err) {
598
597
  if (err) {
599
598
  var errSuite = self.suite;
600
599
  self.suite = orig;
@@ -609,25 +608,25 @@ Runner.prototype.hooks = function(name, suites, fn) {
609
608
  };
610
609
 
611
610
  /**
612
- * Run hooks from the top level down.
611
+ * Run 'afterEach' hooks from bottom up.
613
612
  *
614
613
  * @param {String} name
615
614
  * @param {Function} fn
616
615
  * @private
617
616
  */
618
- Runner.prototype.hookUp = function(name, fn) {
617
+ Runner.prototype.hookUp = function (name, fn) {
619
618
  var suites = [this.suite].concat(this.parents()).reverse();
620
619
  this.hooks(name, suites, fn);
621
620
  };
622
621
 
623
622
  /**
624
- * Run hooks from the bottom up.
623
+ * Run 'beforeEach' hooks from top level down.
625
624
  *
626
625
  * @param {String} name
627
626
  * @param {Function} fn
628
627
  * @private
629
628
  */
630
- Runner.prototype.hookDown = function(name, fn) {
629
+ Runner.prototype.hookDown = function (name, fn) {
631
630
  var suites = [this.suite].concat(this.parents());
632
631
  this.hooks(name, suites, fn);
633
632
  };
@@ -639,7 +638,7 @@ Runner.prototype.hookDown = function(name, fn) {
639
638
  * @return {Array}
640
639
  * @private
641
640
  */
642
- Runner.prototype.parents = function() {
641
+ Runner.prototype.parents = function () {
643
642
  var suite = this.suite;
644
643
  var suites = [];
645
644
  while (suite.parent) {
@@ -655,7 +654,9 @@ Runner.prototype.parents = function() {
655
654
  * @param {Function} fn
656
655
  * @private
657
656
  */
658
- Runner.prototype.runTest = function(fn) {
657
+ Runner.prototype.runTest = function (fn) {
658
+ if (this._opts.dryRun) return Runner.immediately(fn);
659
+
659
660
  var self = this;
660
661
  var test = this.test;
661
662
 
@@ -666,7 +667,7 @@ Runner.prototype.runTest = function(fn) {
666
667
  if (this.asyncOnly) {
667
668
  test.asyncOnly = true;
668
669
  }
669
- this._addEventListener(test, 'error', function(err) {
670
+ this._addEventListener(test, 'error', function (err) {
670
671
  self.fail(test, err);
671
672
  });
672
673
  if (this.allowUncaught) {
@@ -687,7 +688,7 @@ Runner.prototype.runTest = function(fn) {
687
688
  * @param {Suite} suite
688
689
  * @param {Function} fn
689
690
  */
690
- Runner.prototype.runTests = function(suite, fn) {
691
+ Runner.prototype.runTests = function (suite, fn) {
691
692
  var self = this;
692
693
  var tests = suite.tests.slice();
693
694
  var test;
@@ -701,8 +702,7 @@ Runner.prototype.runTests = function(suite, fn) {
701
702
  self.suite = after ? errSuite.parent : errSuite;
702
703
 
703
704
  if (self.suite) {
704
- // call hookUp afterEach
705
- self.hookUp(HOOK_TYPE_AFTER_EACH, function(err2, errSuite2) {
705
+ self.hookUp(HOOK_TYPE_AFTER_EACH, function (err2, errSuite2) {
706
706
  self.suite = orig;
707
707
  // some hooks may fail even now
708
708
  if (err2) {
@@ -776,7 +776,7 @@ Runner.prototype.runTests = function(suite, fn) {
776
776
 
777
777
  // execute test and hook(s)
778
778
  self.emit(constants.EVENT_TEST_BEGIN, (self.test = test));
779
- self.hookDown(HOOK_TYPE_BEFORE_EACH, function(err, errSuite) {
779
+ self.hookDown(HOOK_TYPE_BEFORE_EACH, function (err, errSuite) {
780
780
  // conditional skip within beforeEach
781
781
  if (test.isPending()) {
782
782
  if (self.forbidPending) {
@@ -789,7 +789,7 @@ Runner.prototype.runTests = function(suite, fn) {
789
789
  // skip inner afterEach hooks below errSuite level
790
790
  var origSuite = self.suite;
791
791
  self.suite = errSuite || self.suite;
792
- return self.hookUp(HOOK_TYPE_AFTER_EACH, function(e, eSuite) {
792
+ return self.hookUp(HOOK_TYPE_AFTER_EACH, function (e, eSuite) {
793
793
  self.suite = origSuite;
794
794
  next(e, eSuite);
795
795
  });
@@ -798,7 +798,7 @@ Runner.prototype.runTests = function(suite, fn) {
798
798
  return hookErr(err, errSuite, false);
799
799
  }
800
800
  self.currentRunnable = self.test;
801
- self.runTest(function(err) {
801
+ self.runTest(function (err) {
802
802
  test = self.test;
803
803
  // conditional skip within it
804
804
  if (test.pending) {
@@ -849,7 +849,7 @@ Runner.prototype.runTests = function(suite, fn) {
849
849
  * @param {Suite} suite
850
850
  * @param {Function} fn
851
851
  */
852
- Runner.prototype.runSuite = function(suite, fn) {
852
+ Runner.prototype.runSuite = function (suite, fn) {
853
853
  var i = 0;
854
854
  var self = this;
855
855
  var total = this.grepTotal(suite);
@@ -889,7 +889,7 @@ Runner.prototype.runSuite = function(suite, fn) {
889
889
  // huge recursive loop and thus a maximum call stack error.
890
890
  // See comment in `this.runTests()` for more information.
891
891
  if (self._grep !== self._defaultGrep) {
892
- Runner.immediately(function() {
892
+ Runner.immediately(function () {
893
893
  self.runSuite(curr, next);
894
894
  });
895
895
  } else {
@@ -904,7 +904,7 @@ Runner.prototype.runSuite = function(suite, fn) {
904
904
  // remove reference to test
905
905
  delete self.test;
906
906
 
907
- self.hook(HOOK_TYPE_AFTER_ALL, function() {
907
+ self.hook(HOOK_TYPE_AFTER_ALL, function () {
908
908
  self.emit(constants.EVENT_SUITE_END, suite);
909
909
  fn(errSuite);
910
910
  });
@@ -912,7 +912,7 @@ Runner.prototype.runSuite = function(suite, fn) {
912
912
 
913
913
  this.nextSuite = next;
914
914
 
915
- this.hook(HOOK_TYPE_BEFORE_ALL, function(err) {
915
+ this.hook(HOOK_TYPE_BEFORE_ALL, function (err) {
916
916
  if (err) {
917
917
  return done();
918
918
  }
@@ -936,7 +936,7 @@ Runner.prototype.runSuite = function(suite, fn) {
936
936
  * @param {Error} err - Some uncaught error
937
937
  * @private
938
938
  */
939
- Runner.prototype._uncaught = function(err) {
939
+ Runner.prototype._uncaught = function (err) {
940
940
  // this is defensive to prevent future developers from mis-calling this function.
941
941
  // it's more likely that it'd be called with the incorrect context--say, the global
942
942
  // `process` object--than it would to be called with a context that is not a "subclass"
@@ -1034,14 +1034,16 @@ Runner.prototype._uncaught = function(err) {
1034
1034
  * @param {{files: string[], options: Options}} [opts] - For subclasses
1035
1035
  * @returns {Runner} Runner instance.
1036
1036
  */
1037
- Runner.prototype.run = function(fn, opts = {}) {
1037
+ Runner.prototype.run = function (fn, opts = {}) {
1038
1038
  var rootSuite = this.suite;
1039
1039
  var options = opts.options || {};
1040
1040
 
1041
1041
  debug('run(): got options: %O', options);
1042
- fn = fn || function() {};
1042
+ fn = fn || function () {};
1043
1043
 
1044
1044
  const end = () => {
1045
+ if (!this.total && this._opts.failZero) this.failures = 1;
1046
+
1045
1047
  debug('run(): root suite completed; emitting %s', constants.EVENT_RUN_END);
1046
1048
  this.emit(constants.EVENT_RUN_END);
1047
1049
  };
@@ -1078,7 +1080,7 @@ Runner.prototype.run = function(fn, opts = {}) {
1078
1080
  }
1079
1081
 
1080
1082
  // callback
1081
- this.on(constants.EVENT_RUN_END, function() {
1083
+ this.on(constants.EVENT_RUN_END, function () {
1082
1084
  this.state = constants.STATE_STOPPED;
1083
1085
  debug('run(): emitted %s', constants.EVENT_RUN_END);
1084
1086
  fn(this.failures);
@@ -1125,7 +1127,7 @@ Runner.prototype.run = function(fn, opts = {}) {
1125
1127
  * }
1126
1128
  * }
1127
1129
  */
1128
- Runner.prototype.linkPartialObjects = function(value) {
1130
+ Runner.prototype.linkPartialObjects = function (value) {
1129
1131
  return this;
1130
1132
  };
1131
1133
 
@@ -1150,7 +1152,7 @@ Runner.prototype.runAsync = async function runAsync(opts = {}) {
1150
1152
  * @public
1151
1153
  * @return {Runner} Runner instance.
1152
1154
  */
1153
- Runner.prototype.abort = function() {
1155
+ Runner.prototype.abort = function () {
1154
1156
  debug('abort(): aborting');
1155
1157
  this._abort = true;
1156
1158
 
@@ -1178,7 +1180,7 @@ Runner.prototype.isParallelMode = function isParallelMode() {
1178
1180
  * @chainable
1179
1181
  * @abstract
1180
1182
  */
1181
- Runner.prototype.workerReporter = function() {
1183
+ Runner.prototype.workerReporter = function () {
1182
1184
  throw createUnsupportedError('workerReporter() not supported in serial mode');
1183
1185
  };
1184
1186
 
@@ -1191,7 +1193,7 @@ Runner.prototype.workerReporter = function() {
1191
1193
  * @return {Array}
1192
1194
  */
1193
1195
  function filterLeaks(ok, globals) {
1194
- return globals.filter(function(key) {
1196
+ return globals.filter(function (key) {
1195
1197
  // Firefox and Chrome exposes iframes as index inside the window object
1196
1198
  if (/^\d+/.test(key)) {
1197
1199
  return false;
@@ -1215,7 +1217,7 @@ function filterLeaks(ok, globals) {
1215
1217
  return false;
1216
1218
  }
1217
1219
 
1218
- var matched = ok.filter(function(ok) {
1220
+ var matched = ok.filter(function (ok) {
1219
1221
  if (~ok.indexOf('*')) {
1220
1222
  return key.indexOf(ok.split('*')[0]) === 0;
1221
1223
  }
@@ -56,25 +56,25 @@ function createStatsCollector(runner) {
56
56
 
57
57
  runner.stats = stats;
58
58
 
59
- runner.once(EVENT_RUN_BEGIN, function() {
59
+ runner.once(EVENT_RUN_BEGIN, function () {
60
60
  stats.start = new Date();
61
61
  });
62
- runner.on(EVENT_SUITE_BEGIN, function(suite) {
62
+ runner.on(EVENT_SUITE_BEGIN, function (suite) {
63
63
  suite.root || stats.suites++;
64
64
  });
65
- runner.on(EVENT_TEST_PASS, function() {
65
+ runner.on(EVENT_TEST_PASS, function () {
66
66
  stats.passes++;
67
67
  });
68
- runner.on(EVENT_TEST_FAIL, function() {
68
+ runner.on(EVENT_TEST_FAIL, function () {
69
69
  stats.failures++;
70
70
  });
71
- runner.on(EVENT_TEST_PENDING, function() {
71
+ runner.on(EVENT_TEST_PENDING, function () {
72
72
  stats.pending++;
73
73
  });
74
- runner.on(EVENT_TEST_END, function() {
74
+ runner.on(EVENT_TEST_END, function () {
75
75
  stats.tests++;
76
76
  });
77
- runner.once(EVENT_RUN_END, function() {
77
+ runner.once(EVENT_RUN_END, function () {
78
78
  stats.end = new Date();
79
79
  stats.duration = stats.end - stats.start;
80
80
  });