From 1179fc26c4f65e2488bbf115799fe3b7d4d60845 Mon Sep 17 00:00:00 2001 From: Christopher Hiller Date: Wed, 9 Sep 2020 16:07:42 -0700 Subject: [PATCH 1/2] add "fixture flowchart" to docs also add some references to global fixtures Signed-off-by: Christopher Hiller --- docs/_includes/fixture-wizard.html | 419 +++++++++++++++++++++++++++++ docs/index.md | 16 +- 2 files changed, 434 insertions(+), 1 deletion(-) create mode 100644 docs/_includes/fixture-wizard.html diff --git a/docs/_includes/fixture-wizard.html b/docs/_includes/fixture-wizard.html new file mode 100644 index 0000000000..e405d7db40 --- /dev/null +++ b/docs/_includes/fixture-wizard.html @@ -0,0 +1,419 @@ + + mocha-fixture-wizard + + + + + My tests + need setup! + + + + Setup MUST run + once and only once + + + + + + Setup MUST share + state with tests + + + + + + YES + + + + + + + + Use Root Hooks and + Avoid Parallel Mode + + + + + + + + + + + + Use Global Fixtures + + + + + + Should setup affect + tests across ALL files? + + + + + + + + Use Root Hooks + + + + + + + + Use Plain Hooks + + + + + + + + YES + + + + + + NO + + + + + + NO + + + + + + + + + YES + + + + + + NO + + + + + diff --git a/docs/index.md b/docs/index.md index ebe5f86ed1..d5024bca9c 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1268,7 +1268,11 @@ When Mocha runs in parallel mode, **test files do not share the same process,** Here are a couple suggested workarounds: 1. `require('./setup.js')` or `import './setup.js'` at the top of every test file. Best avoided for those averse to boilerplate. -1. _Recommended_: Define root hooks in a "required" file, using the new (also as of v8.0.0) [Root Hook Plugin](#root-hook-plugins) system. +1. _Recommended_: Define root hooks in a "required" file, using the new (also as + of v8.0.0) [Root Hook Plugin](#root-hook-plugins) system. + +If you need to run some code _once and only once_, use a [global +fixture](#global-fixtures) instead. ### No Browser Support @@ -1364,6 +1368,8 @@ Available root hooks and their behavior: {:.single-column} +> _Tip: If you need to ensure code runs once and only once in any mode, use [global fixtures](#global-fixtures)._ + As with other hooks, `this` refers to to the current context object: ```js @@ -1653,6 +1659,13 @@ describe('my API', function() { Finally, use this command to bring it together: `mocha --require fixtures.mjs test.spec.mjs`. +## Test Fixture Decision-Tree Wizard Thing + +This flowchart will help you decide which of [hooks], [root hook plugins] or +[global fixtures] you should use. + +{% include fixture-wizard.html %} + ## Interfaces Mocha's "interface" system allows developers to choose their style of DSL. Mocha has **BDD**, **TDD**, **Exports**, **QUnit** and **Require**-style interfaces. @@ -2391,3 +2404,4 @@ or the [source](https://github.com/mochajs/mocha/blob/master/lib/mocha.js). [global setup fixtures]: #global-setup-fixtures [global teardown fixtures]: #global-teardown-fixtures [global fixtures]: #global-fixtures +[hooks]: #hooks From 4fb2bb7e0fbb7ecaf6abc45de5fb75f664566fea Mon Sep 17 00:00:00 2001 From: Christopher Hiller Date: Thu, 8 Oct 2020 17:09:01 -0700 Subject: [PATCH 2/2] made wizard responsive - added source `.sketch` file to repo - enabled skip of supporter image download in 11ty via env var `MOCHA_DOCS_SKIP_IMAGE_DOWNLOAD` for faster iteration - made the links underline on hover Signed-off-by: Christopher Hiller --- assets/mocha-fixture-wizard.sketch | Bin 0 -> 67849 bytes docs/_data/supporters.js | 56 ++- docs/_includes/fixture-wizard.html | 731 +++++++++++++++-------------- docs/css/style.css | 4 + 4 files changed, 410 insertions(+), 381 deletions(-) create mode 100644 assets/mocha-fixture-wizard.sketch diff --git a/assets/mocha-fixture-wizard.sketch b/assets/mocha-fixture-wizard.sketch new file mode 100644 index 0000000000000000000000000000000000000000..6f3ab95757f359c00c2e727c19a158b202fcafee GIT binary patch literal 67849 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

Lp!TzbTq>d)HE_7n$LYLmR-nEy7{GZ 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 literal 0 HcmV?d00001 diff --git a/docs/_data/supporters.js b/docs/_data/supporters.js index 19f1fbb37a..e227d423a9 100755 --- a/docs/_data/supporters.js +++ b/docs/_data/supporters.js @@ -99,32 +99,40 @@ const nodeToSupporter = node => ({ categories: node.fromAccount.categories }); -const fetchImage = async supporter => { - try { - const {avatar: url} = supporter; - const {body: imageBuf, headers} = await needle('get', url, {timeout: 2000}); - if (headers['content-type'].startsWith('text/html')) { - throw new TypeError('received html and expected a png; outage likely'); +const fetchImage = process.env.MOCHA_DOCS_SKIP_IMAGE_DOWNLOAD + ? async supporter => { + invalidSupporters.push(supporter); } - debug('fetched %s', url); - const canvasImage = await loadImage(imageBuf); - debug('ok %s', url); - supporter.dimensions = { - width: canvasImage.width, - height: canvasImage.height + : async supporter => { + try { + const {avatar: url} = supporter; + const {body: imageBuf, headers} = await needle('get', url, { + timeout: 2000 + }); + if (headers['content-type'].startsWith('text/html')) { + throw new TypeError( + 'received html and expected a png; outage likely' + ); + } + debug('fetched %s', url); + const canvasImage = await loadImage(imageBuf); + debug('ok %s', url); + supporter.dimensions = { + width: canvasImage.width, + height: canvasImage.height + }; + // debug('dimensions %s %dw %dh', url, canvasImage.width, canvasImage.height); + const filePath = resolve(SUPPORTER_IMAGE_PATH, supporter.id + '.png'); + await writeFile(filePath, imageBuf); + debug('wrote %s', filePath); + } catch (err) { + console.error( + `failed to load ${supporter.avatar}; will discard ${supporter.tier} "${supporter.name} (${supporter.slug}). reason:\n`, + err + ); + invalidSupporters.push(supporter); + } }; - // debug('dimensions %s %dw %dh', url, canvasImage.width, canvasImage.height); - const filePath = resolve(SUPPORTER_IMAGE_PATH, supporter.id + '.png'); - await writeFile(filePath, imageBuf); - debug('wrote %s', filePath); - } catch (err) { - console.error( - `failed to load ${supporter.avatar}; will discard ${supporter.tier} "${supporter.name} (${supporter.slug}). reason:\n`, - err - ); - invalidSupporters.push(supporter); - } -}; /** * Retrieves donation data from OC diff --git a/docs/_includes/fixture-wizard.html b/docs/_includes/fixture-wizard.html index e405d7db40..97a38f5f45 100644 --- a/docs/_includes/fixture-wizard.html +++ b/docs/_includes/fixture-wizard.html @@ -1,419 +1,436 @@ - - mocha-fixture-wizard - - - - + + Mocha Fixture Wizard + + - My tests - need setup! - - - - Setup MUST run - once and only once - - - - - - Setup MUST share - state with tests - - - + My tests + need setup! + + + - YES + Setup MUST run + once and only once - - - - + + + + + Setup MUST share + state with tests + + + - Use Root Hooks and - Avoid Parallel Mode + YES - - - - - - - + + + + + + Use Root Hooks and + Avoid Parallel Mode + + + + + + + + + + + + Use Global Fixtures + + + + + + Should setup affect + tests across ALL files? + + + + + + + + Use Root Hooks + + + + + + + + Use Plain Hooks + + + + + - Use Global Fixtures + YES - - - - Should setup affect - tests across ALL files? - - - - - + - Use Root Hooks + NO - - - + - Use Plain Hooks + NO - - - - - - YES - - - - - + + - NO - - - - - - NO - - - - - - - - - YES - - - - - - NO - + points="759.15 577.93 752.39 572.07 756.85 572.39 759.78 569.01" + > + + + + YES + + + + + + NO + + - - + + diff --git a/docs/css/style.css b/docs/css/style.css index 3104b4f876..c3e3ce6b8f 100644 --- a/docs/css/style.css +++ b/docs/css/style.css @@ -394,3 +394,7 @@ figure#wallaby-logo figcaption { display: block; } } + +#mocha-fixture-wizard text[font-weight=bold]:hover { + text-decoration: underline; +}