diff --git a/configuration b/configuration index a43d27058d9..5bec25a9701 100644 --- a/configuration +++ b/configuration @@ -18,6 +18,7 @@ export DARTSASS=1.107.1 export ESBUILD=0.28.2 export TYPST=0.15.1 export TYPST_GATHER=0.2.4 +# Keep in sync with kDefaultVersion in src/tools/impl/verapdf.ts export VERAPDF=1.30.3 diff --git a/src/tools/impl/verapdf.ts b/src/tools/impl/verapdf.ts index 0bb6949559d..fbff0495e31 100644 --- a/src/tools/impl/verapdf.ts +++ b/src/tools/impl/verapdf.ts @@ -24,7 +24,7 @@ import { isWindows } from "../../deno_ral/platform.ts"; // Download base URL (quarto.org redirects to S3 bucket) const kDownloadBaseUrl = "https://quarto.org/download"; -const kDefaultVersion = "1.30.3"; +export const kDefaultVersion = "1.30.3"; // Minimum Java version required const kMinJavaVersion = 8; diff --git a/tests/unit/verapdf-default-version.test.ts b/tests/unit/verapdf-default-version.test.ts new file mode 100644 index 00000000000..b63bc4e45c2 --- /dev/null +++ b/tests/unit/verapdf-default-version.test.ts @@ -0,0 +1,30 @@ +/* + * verapdf-default-version.test.ts + * + * Packaged installs don't ship `configuration`, so `quarto install verapdf` + * falls back to kDefaultVersion. It must match VERAPDF in `configuration`, + * the version the build uploads. + * + * Copyright (C) 2026 Posit Software, PBC + */ + +import { unitTest } from "../test.ts"; +import { assert, assertEquals } from "../asserts.ts"; +import { dirname, fromFileUrl, join } from "../../src/deno_ral/path.ts"; +import { readTextFileSync } from "../../src/deno_ral/fs.ts"; +import { kDefaultVersion } from "../../src/tools/impl/verapdf.ts"; + +const repoRoot = join(dirname(fromFileUrl(import.meta.url)), "..", ".."); + +// deno-lint-ignore require-await +unitTest("verapdf - kDefaultVersion matches VERAPDF in configuration", async () => { + const match = readTextFileSync(join(repoRoot, "configuration")).match( + /^export VERAPDF=(.+)$/m, + ); + assert(match, "export VERAPDF=... not found in configuration"); + assertEquals( + kDefaultVersion, + match[1].trim(), + "kDefaultVersion in src/tools/impl/verapdf.ts must equal VERAPDF in configuration", + ); +});