diff options
Diffstat (limited to 'test/lib')
-rw-r--r-- | test/lib/content-function.js | 22 |
1 files changed, 19 insertions, 3 deletions
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) => { |