From 72c29f7dfee2bdd7ded4113f0bbccc74d9ea60f9 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Tue, 19 Sep 2023 10:36:45 -0300 Subject: test: linkThing: basic tests (snapshot) --- tap-snapshots/test/snapshot/linkThing.js.test.cjs | 35 +++++++++++ test/snapshot/linkThing.js | 76 +++++++++++++++++++++++ 2 files changed, 111 insertions(+) create mode 100644 tap-snapshots/test/snapshot/linkThing.js.test.cjs create mode 100644 test/snapshot/linkThing.js diff --git a/tap-snapshots/test/snapshot/linkThing.js.test.cjs b/tap-snapshots/test/snapshot/linkThing.js.test.cjs new file mode 100644 index 0000000..2e52d0a --- /dev/null +++ b/tap-snapshots/test/snapshot/linkThing.js.test.cjs @@ -0,0 +1,35 @@ +/* IMPORTANT + * This snapshot file is auto-generated, but designed for humans. + * It should be checked into source control and tracked carefully. + * Re-generate by setting TAP_SNAPSHOT=1 and running tests. + * Make sure to inspect the output below. Do not ignore changes! + */ +'use strict' +exports[`test/snapshot/linkThing.js TAP linkThing (snapshot) > basic behavior 1`] = ` +Cool track! +` + +exports[`test/snapshot/linkThing.js TAP linkThing (snapshot) > color 1`] = ` +Showtime (Piano Refrain) +Showtime (Piano Refrain) +Showtime (Piano Refrain) +` + +exports[`test/snapshot/linkThing.js TAP linkThing (snapshot) > preferShortName 1`] = ` +Five +` + +exports[`test/snapshot/linkThing.js TAP linkThing (snapshot) > tags in name escaped 1`] = ` +<a href="SNOOPING">AS USUAL</a> I SEE +<b>boldface</b> +>Exile< +<3 +` + +exports[`test/snapshot/linkThing.js TAP linkThing (snapshot) > tooltip & content 1`] = ` +Beyond Canon +Beyond Canon +Next +Banana +Banana +` diff --git a/test/snapshot/linkThing.js b/test/snapshot/linkThing.js new file mode 100644 index 0000000..f76b17d --- /dev/null +++ b/test/snapshot/linkThing.js @@ -0,0 +1,76 @@ +import t from 'tap'; +import * as html from '#html'; +import {testContentFunctions} from '#test-lib'; + +testContentFunctions(t, 'linkThing (snapshot)', async (t, evaluate) => { + await evaluate.load(); + + const quickSnapshot = (message, oneOrMultiple) => + evaluate.snapshot(message, + (Array.isArray(oneOrMultiple) + ? {name: 'linkThing', multiple: oneOrMultiple} + : {name: 'linkThing', ...oneOrMultiple})); + + quickSnapshot('basic behavior', { + args: ['localized.track', { + directory: 'foo', + color: '#abcdef', + name: `Cool track!`, + }], + }); + + quickSnapshot('preferShortName', { + args: ['localized.tag', { + directory: 'five-oceanfalls', + name: 'Five (Oceanfalls)', + nameShort: 'Five', + }], + slots: {preferShortName: true}, + }); + + quickSnapshot('tooltip & content', { + args: ['localized.album', { + directory: 'beyond-canon', + name: 'Beyond Canon', + }], + multiple: [ + {slots: {tooltip: false}}, + {slots: {tooltip: true}}, + {slots: {tooltip: true, content: 'Next'}}, + {slots: {tooltip: 'Apple', content: 'Banana'}}, + {slots: {content: 'Banana'}}, + ], + }); + + quickSnapshot('color', { + args: ['localized.track', { + directory: 'showtime-piano-refrain', + name: 'Showtime (Piano Refrain)', + color: '#38f43d', + }], + multiple: [ + {slots: {color: false}}, + {slots: {color: true}}, + {slots: {color: '#aaccff'}}, + ], + }); + + quickSnapshot('tags in name escaped', [ + {args: ['localized.track', { + directory: 'foo', + name: `AS USUAL I SEE`, + }]}, + {args: ['localized.track', { + directory: 'bar', + name: `boldface`, + }]}, + {args: ['localized.album', { + directory: 'exile', + name: '>Exile<', + }]}, + {args: ['localized.track', { + directory: 'heart', + name: '<3', + }]}, + ]); +}); -- cgit 1.3.0-6-gf8a5