From 22032daecb05f55c31fe469ea6070b98c98d7c1d Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Tue, 4 Apr 2023 13:29:37 -0300 Subject: test: evaluate.snapshot: support description & multiple option --- test/lib/content-function.js | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'test') diff --git a/test/lib/content-function.js b/test/lib/content-function.js index a6ff64af..b6177e46 100644 --- a/test/lib/content-function.js +++ b/test/lib/content-function.js @@ -65,13 +65,29 @@ export function testContentFunctions(t, message, fn) { quickLoadContentDependencies(opts)); }; - evaluate.snapshot = (opts, fn) => { + evaluate.snapshot = (...args) => { if (!loadedContentDependencies) { throw new Error(`Await .load() before performing tests`); } - const result = (fn ? fn(evaluate(opts)) : evaluate(opts)); - t.matchSnapshot(result.toString(), 'output'); + const [description, opts, fn] = + (typeof args[0] === 'string' + ? args + : ['output', ...args]); + + let result = evaluate(opts); + + if (fn) { + result = fn(result); + } + + if (opts.multiple) { + result = result.map(item => item.toString()).join('\n'); + } else { + result = result.toString(); + } + + t.matchSnapshot(result, description); }; evaluate.mock = (...opts) => { -- cgit 1.3.0-6-gf8a5