.browserslistrc .editorconfig .eleventy.js .eslintignore .eslintrc.yml .fossaignore .gitattributes .github/CODE_OF_CONDUCT.md .github/CONTRIBUTING.md .github/FUNDING.yml .github/ISSUE_TEMPLATE/bug_report.md .github/ISSUE_TEMPLATE/feature_request.md .github/ISSUE_TEMPLATE/support-question.md .github/PULL_REQUEST_TEMPLATE.md .github/stale.yml .github/workflows/mocha.yml .github/workflows/nightly-site-deploy.yml .github/workflows/purge-expired-artifacts.yml .gitignore .lintstagedrc.json .mailmap .markdownlint.json .mocharc.yml .npmrc .nycrc .wallaby.js AUTHORS CHANGELOG.md LICENSE MAINTAINERS.md PROJECT_CHARTER.md README.md assets/growl/error.png assets/growl/ok.png assets/mocha-banner-192.png assets/mocha-banner.svg assets/mocha-fixture-wizard.sketch assets/mocha-logo-128.png assets/mocha-logo-192.png assets/mocha-logo-64.png assets/mocha-logo-96.png assets/mocha-logo.svg assets/opencollective-header.png bin/_mocha bin/mocha browser-entry.js docs/.browserslistrc docs/.eleventyignore docs/API.md docs/CNAME docs/LICENSE-CC-BY-4.0 docs/README.md docs/_data/blocklist.json docs/_data/files.js docs/_data/supporters.js docs/_data/toc.js docs/_data/usage.js docs/_headers docs/_includes/default.liquid docs/_includes/fixture-wizard.html docs/_includes/supporters.md docs/api-tutorials/custom-reporter.md docs/api-tutorials/jsdoc.tutorials.json docs/changelogs/CHANGELOG_V3_older.md docs/changelogs/CHANGELOG_V4.md docs/changelogs/README.md docs/css/normalize.css docs/css/prism.css docs/css/style.css docs/css/supporters.css docs/example/Array.js docs/example/async-dump.js docs/example/debug-hanging-mocha.js docs/example/tests.html docs/favicon.ico docs/images/emacs.png docs/images/jetbrains-plugin.png docs/images/join-chat.svg docs/images/link-icon.svg docs/images/matomo-logo.png docs/images/mocha-logo.svg docs/images/mocha_side_bar.png docs/images/openjsf-logo.svg docs/images/reporter-doc.png docs/images/reporter-dot.png docs/images/reporter-html.png docs/images/reporter-json-stream.png docs/images/reporter-json.png docs/images/reporter-landing-fail.png docs/images/reporter-landing.png docs/images/reporter-list.png docs/images/reporter-min.png docs/images/reporter-nyan.png docs/images/reporter-progress.png docs/images/reporter-spec-duration.png docs/images/reporter-spec-fail.png docs/images/reporter-spec.png docs/images/reporter-string-diffs.png docs/images/reporter-tap.png docs/images/test-duration-range.png docs/images/wallaby-logo.png docs/images/wallaby.png docs/index.md docs/js/html5shiv.min.js example/config/.mocharc.js example/config/.mocharc.json example/config/.mocharc.jsonc example/config/.mocharc.yml example/config/README.md index.js jsdoc.conf.json karma.conf.js lib/browser/growl.js lib/browser/highlight-tags.js lib/browser/parse-query.js lib/browser/progress.js lib/browser/template.html lib/cli/cli.js lib/cli/collect-files.js lib/cli/commands.js lib/cli/config.js lib/cli/index.js lib/cli/init.js lib/cli/lookup-files.js lib/cli/node-flags.js lib/cli/one-and-dones.js lib/cli/options.js lib/cli/run-helpers.js lib/cli/run-option-metadata.js lib/cli/run.js lib/cli/watch-run.js lib/context.js lib/errors.js lib/esm-utils.js lib/hook.js lib/interfaces/bdd.js lib/interfaces/common.js lib/interfaces/exports.js lib/interfaces/index.js lib/interfaces/qunit.js lib/interfaces/tdd.js lib/mocha.js lib/mocharc.json lib/nodejs/buffered-worker-pool.js lib/nodejs/file-unloader.js lib/nodejs/growl.js lib/nodejs/parallel-buffered-runner.js lib/nodejs/reporters/parallel-buffered.js lib/nodejs/serializer.js lib/nodejs/worker.js lib/pending.js lib/plugin-loader.js lib/reporters/base.js lib/reporters/doc.js lib/reporters/dot.js lib/reporters/html.js lib/reporters/index.js lib/reporters/json-stream.js lib/reporters/json.js lib/reporters/landing.js lib/reporters/list.js lib/reporters/markdown.js lib/reporters/min.js lib/reporters/nyan.js lib/reporters/progress.js lib/reporters/spec.js lib/reporters/tap.js lib/reporters/xunit.js lib/runnable.js lib/runner.js lib/stats-collector.js lib/suite.js lib/test.js lib/utils.js mocha.css netlify.toml package-lock.json package-scripts.js package.json rollup.config.js scripts/karma-rollup-plugin.js scripts/linkify-changelog.js scripts/netlify-headers.js scripts/pick-from-package-json.js scripts/update-authors.js test/README.md test/assertions.js test/browser-specific/esm.spec.mjs test/browser-specific/fixtures/esm.fixture.mjs test/browser-specific/fixtures/requirejs/lib.fixture.js test/browser-specific/fixtures/requirejs/main.fixture.js test/browser-specific/fixtures/webpack/webpack.config.js test/browser-specific/fixtures/webpack/webpack.fixture.mjs test/browser-specific/requirejs-setup.js test/browser-specific/setup.js test/compiler-fixtures/foo.fixture.js test/compiler/test.coffee test/compiler/test.foo test/integration/README.md test/integration/color.spec.js test/integration/common-js-require.spec.js test/integration/compiler-globbing.spec.js test/integration/config.spec.js test/integration/deprecate.spec.js test/integration/diffs.spec.js test/integration/duplicate-arguments.spec.js test/integration/esm.spec.js test/integration/events.spec.js test/integration/file-utils.spec.js test/integration/fixtures/__default__.fixture.js test/integration/fixtures/cascade.fixture.js test/integration/fixtures/common-js-require.fixture.js test/integration/fixtures/config/mocha-config/index.js test/integration/fixtures/config/mocha-config/package.json test/integration/fixtures/config/mocharc.cjs test/integration/fixtures/config/mocharc.js test/integration/fixtures/config/mocharc.json test/integration/fixtures/config/mocharc.yaml test/integration/fixtures/current-test-title.fixture.js test/integration/fixtures/deprecate.fixture.js test/integration/fixtures/diffs/diffs.css.in test/integration/fixtures/diffs/diffs.css.out test/integration/fixtures/diffs/diffs.fixture.js test/integration/fixtures/diffs/output test/integration/fixtures/esm/add.mjs test/integration/fixtures/esm/esm-failure.fixture.mjs test/integration/fixtures/esm/esm-success.fixture.mjs test/integration/fixtures/esm/js-folder/add.js test/integration/fixtures/esm/js-folder/esm-in-js.fixture.js test/integration/fixtures/esm/js-folder/package.json test/integration/fixtures/esm/syntax-error/esm-syntax-error.fixture.mjs test/integration/fixtures/exit.fixture.js test/integration/fixtures/glob/glob.spec.js test/integration/fixtures/glob/nested/glob.spec.js test/integration/fixtures/hooks/after-each-hook-async-error.fixture.js test/integration/fixtures/hooks/after-each-hook-error.fixture.js test/integration/fixtures/hooks/after-each-this-test-error.fixture.js test/integration/fixtures/hooks/after-hook-async-error.fixture.js test/integration/fixtures/hooks/after-hook-deepnested-error.fixture.js test/integration/fixtures/hooks/after-hook-error.fixture.js test/integration/fixtures/hooks/after-hook-nested-error.fixture.js test/integration/fixtures/hooks/before-each-hook-async-error.fixture.js test/integration/fixtures/hooks/before-each-hook-error.fixture.js test/integration/fixtures/hooks/before-hook-async-error-tip.fixture.js test/integration/fixtures/hooks/before-hook-async-error.fixture.js test/integration/fixtures/hooks/before-hook-deepnested-error.fixture.js test/integration/fixtures/hooks/before-hook-error-tip.fixture.js test/integration/fixtures/hooks/before-hook-error.fixture.js test/integration/fixtures/hooks/before-hook-nested-error.fixture.js test/integration/fixtures/hooks/before-hook-root-error.fixture.js test/integration/fixtures/hooks/multiple-hook-async-error.fixture.js test/integration/fixtures/hooks/multiple-hook-error.fixture.js test/integration/fixtures/multiple-done-async.fixture.js test/integration/fixtures/multiple-done-before-each.fixture.js test/integration/fixtures/multiple-done-before.fixture.js test/integration/fixtures/multiple-done-specs.fixture.js test/integration/fixtures/multiple-done-with-error.fixture.js test/integration/fixtures/multiple-done.fixture.js test/integration/fixtures/multiple-runs/clean-references.fixture.js test/integration/fixtures/multiple-runs/dispose.fixture.js test/integration/fixtures/multiple-runs/multiple-runs-with-different-output-suite.fixture.js test/integration/fixtures/multiple-runs/multiple-runs-with-flaky-before-each-suite.fixture.js test/integration/fixtures/multiple-runs/multiple-runs-with-flaky-before-each.fixture.js test/integration/fixtures/multiple-runs/run-thrice-helper.js test/integration/fixtures/multiple-runs/run-thrice.fixture.js test/integration/fixtures/multiple-runs/start-second-run-if-previous-is-still-running-suite.fixture.js test/integration/fixtures/multiple-runs/start-second-run-if-previous-is-still-running.fixture.js test/integration/fixtures/no-diff.fixture.js test/integration/fixtures/options/allow-uncaught/propagate.fixture.js test/integration/fixtures/options/allow-uncaught/this-skip-it.fixture.js test/integration/fixtures/options/async-only-async.fixture.js test/integration/fixtures/options/async-only-sync.fixture.js test/integration/fixtures/options/bail-async.fixture.js test/integration/fixtures/options/bail-with-after.fixture.js test/integration/fixtures/options/bail-with-afterEach.fixture.js test/integration/fixtures/options/bail-with-before.fixture.js test/integration/fixtures/options/bail-with-beforeEach.fixture.js test/integration/fixtures/options/bail-with-test.fixture.js test/integration/fixtures/options/bail.fixture.js test/integration/fixtures/options/delay-fail.fixture.js test/integration/fixtures/options/delay-only.fixture.js test/integration/fixtures/options/delay.fixture.js test/integration/fixtures/options/extension/test1.fixture.js test/integration/fixtures/options/extension/test2.fixture.coffee test/integration/fixtures/options/file-alpha.fixture.js test/integration/fixtures/options/file-beta.fixture.js test/integration/fixtures/options/file-theta.fixture.js test/integration/fixtures/options/forbid-only/only-before-each.fixture.js test/integration/fixtures/options/forbid-only/only-before.fixture.js test/integration/fixtures/options/forbid-only/only-empty-suite.fixture.js test/integration/fixtures/options/forbid-only/only-suite.fixture.js test/integration/fixtures/options/forbid-only/only.fixture.js test/integration/fixtures/options/forbid-only/passed.fixture.js test/integration/fixtures/options/forbid-pending/before-this-skip.fixture.js test/integration/fixtures/options/forbid-pending/beforeEach-this-skip.fixture.js test/integration/fixtures/options/forbid-pending/passed.fixture.js test/integration/fixtures/options/forbid-pending/pending.fixture.js test/integration/fixtures/options/forbid-pending/skip-empty-suite.fixture.js test/integration/fixtures/options/forbid-pending/skip-suite.fixture.js test/integration/fixtures/options/forbid-pending/skip.fixture.js test/integration/fixtures/options/forbid-pending/this-skip.fixture.js test/integration/fixtures/options/grep.fixture.js test/integration/fixtures/options/ignore/fail.fixture.js test/integration/fixtures/options/ignore/nested/fail.fixture.js test/integration/fixtures/options/ignore/nested/pass.fixture.js test/integration/fixtures/options/ignore/pass.fixture.js test/integration/fixtures/options/jobs/fail-in-parallel.fixture.js test/integration/fixtures/options/only/bdd.fixture.js test/integration/fixtures/options/only/qunit.fixture.js test/integration/fixtures/options/only/tdd.fixture.js test/integration/fixtures/options/parallel/bail.fixture.js test/integration/fixtures/options/parallel/exclusive-test-a.fixture.js test/integration/fixtures/options/parallel/exclusive-test-b.fixture.js test/integration/fixtures/options/parallel/retries-a.fixture.js test/integration/fixtures/options/parallel/retries-b.fixture.js test/integration/fixtures/options/parallel/syntax-err.fixture.js test/integration/fixtures/options/parallel/test-a.fixture.js test/integration/fixtures/options/parallel/test-b.fixture.js test/integration/fixtures/options/parallel/test-c.fixture.js test/integration/fixtures/options/parallel/test-d.fixture.js test/integration/fixtures/options/parallel/uncaught.fixture.js test/integration/fixtures/options/reporter-with-options.fixture.js test/integration/fixtures/options/retries.fixture.js test/integration/fixtures/options/slow-test.fixture.js test/integration/fixtures/options/sort-alpha.fixture.js test/integration/fixtures/options/sort-beta.fixture.js test/integration/fixtures/options/watch/dependency.fixture.js test/integration/fixtures/options/watch/hook.fixture.js test/integration/fixtures/options/watch/test-file-change.fixture.js test/integration/fixtures/options/watch/test-with-dependency.fixture.js test/integration/fixtures/parallel/test1.mjs test/integration/fixtures/parallel/test2.mjs test/integration/fixtures/parallel/test3.mjs test/integration/fixtures/passing-async.fixture.js test/integration/fixtures/passing-sync.fixture.js test/integration/fixtures/passing.fixture.js test/integration/fixtures/pending/programmatic.fixture.js test/integration/fixtures/pending/skip-async-before-hooks.fixture.js test/integration/fixtures/pending/skip-async-before-nested.fixture.js test/integration/fixtures/pending/skip-async-before.fixture.js test/integration/fixtures/pending/skip-async-beforeEach.fixture.js test/integration/fixtures/pending/skip-async-spec.fixture.js test/integration/fixtures/pending/skip-hierarchy.fixture.js test/integration/fixtures/pending/skip-shorthand.fixture.js test/integration/fixtures/pending/skip-sync-after.fixture.js test/integration/fixtures/pending/skip-sync-before-hooks.fixture.js test/integration/fixtures/pending/skip-sync-before-inner.fixture.js test/integration/fixtures/pending/skip-sync-before-nested.fixture.js test/integration/fixtures/pending/skip-sync-before.fixture.js test/integration/fixtures/pending/skip-sync-beforeEach-cond.fixture.js test/integration/fixtures/pending/skip-sync-beforeEach.fixture.js test/integration/fixtures/pending/skip-sync-spec.fixture.js test/integration/fixtures/pending/spec.fixture.js test/integration/fixtures/plugins/global-fixtures/global-setup-teardown-multiple.fixture.js test/integration/fixtures/plugins/global-fixtures/global-setup-teardown.fixture.js test/integration/fixtures/plugins/global-fixtures/global-setup.fixture.js test/integration/fixtures/plugins/global-fixtures/global-teardown.fixture.js test/integration/fixtures/plugins/root-hooks/esm/package.json test/integration/fixtures/plugins/root-hooks/esm/root-hook-defs-esm.fixture.js test/integration/fixtures/plugins/root-hooks/root-hook-defs-a.fixture.js test/integration/fixtures/plugins/root-hooks/root-hook-defs-b.fixture.js test/integration/fixtures/plugins/root-hooks/root-hook-defs-c.fixture.js test/integration/fixtures/plugins/root-hooks/root-hook-defs-d.fixture.js test/integration/fixtures/plugins/root-hooks/root-hook-defs-esm-broken.fixture.js test/integration/fixtures/plugins/root-hooks/root-hook-defs-esm.fixture.mjs test/integration/fixtures/plugins/root-hooks/root-hook-test-2.fixture.js test/integration/fixtures/plugins/root-hooks/root-hook-test.fixture.js test/integration/fixtures/regression/issue-1991.fixture.js test/integration/fixtures/regression/issue-2315.fixture.js test/integration/fixtures/regression/issue-2406.fixture.js test/integration/fixtures/regression/issue-2417.fixture.js test/integration/fixtures/reporters.fixture.js test/integration/fixtures/retries/async.fixture.js test/integration/fixtures/retries/early-pass.fixture.js test/integration/fixtures/retries/hooks.fixture.js test/integration/fixtures/retries/nested.fixture.js test/integration/fixtures/runner/events-bail-retries.fixture.js test/integration/fixtures/runner/events-bail.fixture.js test/integration/fixtures/runner/events-basic.fixture.js test/integration/fixtures/runner/events-delay.fixture.js test/integration/fixtures/runner/events-retries.fixture.js test/integration/fixtures/simple-reporter.js test/integration/fixtures/simple-ui.fixture.js test/integration/fixtures/suite/suite-no-callback.fixture.js test/integration/fixtures/suite/suite-returning-value.fixture.js test/integration/fixtures/suite/suite-skipped-callback.fixture.js test/integration/fixtures/suite/suite-skipped-no-callback.fixture.js test/integration/fixtures/test-for-simple-ui.fixture.js test/integration/fixtures/timeout-override.fixture.js test/integration/fixtures/timeout.fixture.js test/integration/fixtures/uncaught/after-runner.fixture.js test/integration/fixtures/uncaught/double.fixture.js test/integration/fixtures/uncaught/fatal.fixture.js test/integration/fixtures/uncaught/hook.fixture.js test/integration/fixtures/uncaught/issue-1327.fixture.js test/integration/fixtures/uncaught/issue-1417.fixture.js test/integration/fixtures/uncaught/listeners.fixture.js test/integration/fixtures/uncaught/pending.fixture.js test/integration/fixtures/uncaught/recover.fixture.js test/integration/fixtures/uncaught/unhandled.fixture.js test/integration/glob.spec.js test/integration/helpers.js test/integration/hook-err.spec.js test/integration/hooks.spec.js test/integration/init.spec.js test/integration/invalid-arguments.spec.js test/integration/multiple-done.spec.js test/integration/multiple-runs.spec.js test/integration/no-diff.spec.js test/integration/only.spec.js test/integration/options/allowUncaught.spec.js test/integration/options/asyncOnly.spec.js test/integration/options/bail.spec.js test/integration/options/compilers.spec.js test/integration/options/delay.spec.js test/integration/options/exit.spec.js test/integration/options/extension.spec.js test/integration/options/file.spec.js test/integration/options/forbidOnly.spec.js test/integration/options/forbidPending.spec.js test/integration/options/grep.spec.js test/integration/options/ignore.spec.js test/integration/options/invert.spec.js test/integration/options/jobs.spec.js test/integration/options/listInterfaces.spec.js test/integration/options/listReporters.spec.js test/integration/options/node-flags.spec.js test/integration/options/opts.spec.js test/integration/options/parallel.spec.js test/integration/options/reporter-option.spec.js test/integration/options/retries.spec.js test/integration/options/sort.spec.js test/integration/options/timeout.spec.js test/integration/options/ui.spec.js test/integration/options/watch.spec.js test/integration/parallel.spec.js test/integration/pending.spec.js test/integration/plugins/global-fixtures.spec.js test/integration/plugins/root-hooks.spec.js test/integration/regression.spec.js test/integration/reporters.spec.js test/integration/retries.spec.js test/integration/suite.spec.js test/integration/timeout.spec.js test/integration/uncaught.spec.js test/interfaces/bdd.spec.js test/interfaces/exports.spec.js test/interfaces/qunit.spec.js test/interfaces/tdd.spec.js test/jsapi/index.js test/node-unit/buffered-worker-pool.spec.js test/node-unit/cli/config.spec.js test/node-unit/cli/fixtures/bad-module.fixture.js test/node-unit/cli/node-flags.spec.js test/node-unit/cli/options.spec.js test/node-unit/cli/run-helpers.spec.js test/node-unit/cli/run.spec.js test/node-unit/fixtures/dumb-module.fixture.js test/node-unit/fixtures/dumber-module.fixture.js test/node-unit/fixtures/wonky-reporter.fixture.js test/node-unit/mocha.spec.js test/node-unit/parallel-buffered-runner.spec.js test/node-unit/reporters/parallel-buffered.spec.js test/node-unit/serializer.spec.js test/node-unit/stack-trace-filter.spec.js test/node-unit/utils.spec.js test/node-unit/worker.spec.js test/only/bdd-require.spec.js test/only/global/bdd.spec.js test/only/global/qunit.spec.js test/only/global/tdd.spec.js test/reporters/base.spec.js test/reporters/doc.spec.js test/reporters/dot.spec.js test/reporters/helpers.js test/reporters/json-stream.spec.js test/reporters/json.spec.js test/reporters/landing.spec.js test/reporters/list.spec.js test/reporters/markdown.spec.js test/reporters/min.spec.js test/reporters/nyan.spec.js test/reporters/progress.spec.js test/reporters/spec.spec.js test/reporters/tap.spec.js test/reporters/xunit.spec.js test/require/a.js test/require/b.coffee test/require/c.js test/require/d.coffee test/require/require.spec.js test/setup.js test/smoke/smoke.spec.js test/unit/context.spec.js test/unit/duration.spec.js test/unit/errors.spec.js test/unit/globals.spec.js test/unit/grep.spec.js test/unit/hook-async.spec.js test/unit/hook-sync-nested.spec.js test/unit/hook-sync.spec.js test/unit/hook-timeout.spec.js test/unit/hook.spec.js test/unit/mocha.spec.js test/unit/overspecified-async.spec.js test/unit/parse-query.spec.js test/unit/plugin-loader.spec.js test/unit/required-tokens.spec.js test/unit/root.spec.js test/unit/runnable.spec.js test/unit/runner.spec.js test/unit/suite.spec.js test/unit/test.spec.js test/unit/throw.spec.js test/unit/timeout.spec.js test/unit/utils.spec.js