This commit is contained in:
Adria Navarro 2024-01-22 22:35:35 +01:00
parent 4829cdc4ce
commit 99e5bc1a57
1 changed files with 13 additions and 13 deletions

View File

@ -28,13 +28,17 @@ const manifest = JSON.parse(
const functionsToExclude = { string: ["raw"] } const functionsToExclude = { string: ["raw"] }
const collections = Object.keys(manifest) const collections = Object.keys(manifest)
const examples = collections.reduce( const examples = collections.reduce((acc, collection) => {
(acc, collection) => ({ const functions = Object.keys(manifest[collection]).filter(
...acc, fnc =>
[collection]: manifest[collection], !functionsToExclude[collection]?.includes(fnc) &&
}), manifest[collection][fnc].example
{} )
) if (functions.length) {
acc[collection] = functions
}
return acc
}, {})
function escapeRegExp(string) { function escapeRegExp(string) {
return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&") // $& means the whole matched string return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&") // $& means the whole matched string
@ -42,12 +46,8 @@ function escapeRegExp(string) {
describe("manifest", () => { describe("manifest", () => {
describe("examples are valid", () => { describe("examples are valid", () => {
describe.each(collections)("%s", collection => { describe.each(Object.keys(examples))("%s", collection => {
it.each( it.each(examples[collection])("%s", async func => {
Object.keys(examples[collection]).filter(
fnc => !functionsToExclude[collection]?.includes(fnc)
)
)("%s", async func => {
const example = manifest[collection][func].example const example = manifest[collection][func].example
let [hbs, js] = example.split("->").map(x => x.trim()) let [hbs, js] = example.split("->").map(x => x.trim())