Path: blob/main/tests/smoke/shortcodes/shortcodes-core.test.ts
12921 views
import { join } from "../../../src/deno_ral/path.ts";12import { docs, outputForInput } from "../../utils.ts";3import { ensureFileRegexMatches, noErrorsOrWarnings } from "../../verify.ts";4import { testRender } from "../render/render.ts";56const input = docs(join("shortcodes", "metadata.qmd"));7const output = outputForInput(input, "html");8testRender(input, "html", false, [9ensureFileRegexMatches(output.outputPath, [10/Subkey Value/,11/Hello World/,12], [13/\?meta/,14]),15]);1617const inputCustom = docs(join("shortcodes", "custom.qmd"));18const outputCustom = outputForInput(inputCustom, "html");19testRender(inputCustom, "html", false, [20ensureFileRegexMatches(outputCustom.outputPath, [21/<strong>_bringit_<\/strong>/,22/\?shorty:error_args/,23/\?shorty:error message/,24], [25/\?shorty:_bringit_/,26]),27]);2829const inputError = docs(join("shortcodes", "metadata-error.qmd"));30const outputError = outputForInput(inputError, "html");31testRender(inputError, "html", false, [32ensureFileRegexMatches(outputError.outputPath, [33/\?meta:equation/,34/\?invalid meta type:weird-type/,35]),36]);3738const inputVars = docs(join("shortcodes", "vars-simple.qmd"));39const outputVars = outputForInput(inputVars, "html");40testRender(inputVars, "html", false, [41ensureFileRegexMatches(outputVars.outputPath, [42/bar/,43/Variable 2 Sub Sub VALUE/,44], [45/\?var/,46]),47]);4849const inputVarsLinks = docs(join("shortcodes", "vars-links.qmd"));50const outputVarsLinks = outputForInput(inputVarsLinks, "html");51testRender(inputVarsLinks, "html", false, [52ensureFileRegexMatches(outputVarsLinks.outputPath, [53/http\:\/\/www\.test\.com\/bar/,54/images\/beach\.jpg\?bar/,55], []),56]);5758const inputVarsErr = docs(join("shortcodes", "vars-error.qmd"));59const outputVarsErr = outputForInput(inputVarsErr, "html");60testRender(inputVarsErr, "html", false, [61ensureFileRegexMatches(outputVarsErr.outputPath, [62/\?var:foobar123/,63]),64]);6566const inputNoVars = docs(join("shortcodes", "vars-simple.qmd"));67testRender(inputNoVars, "html", false, [68noErrorsOrWarnings,69], {70setup: async () => {71await Deno.rename(72docs(join("shortcodes", "_variables.yml")),73docs(join("shortcodes", "_variables.yml,bak")),74);75},76teardown: async () => {77await Deno.rename(78docs(join("shortcodes", "_variables.yml,bak")),79docs(join("shortcodes", "_variables.yml")),80);81},82});838485