diff --git a/tests/release-check.mjs b/tests/release-check.mjs index b20a65d..814b8aa 100644 --- a/tests/release-check.mjs +++ b/tests/release-check.mjs @@ -9,6 +9,12 @@ const pkg=JSON.parse(readRoot('package.json')); const lock=JSON.parse(readRoot('package-lock.json')); const releaseManifest=JSON.parse(readRoot('docs/release-manifest.json')); check(index.includes('core/stability-v1760.css'),'mobile stability stylesheet loaded'); +check(fs.existsSync(path.join(pub,'core/single-item-pdf.js')),'single item PDF module exists'); +const singleItemPdf=read('core/single-item-pdf.js'); +check(index.includes('core/single-item-pdf.js?v=20260922-single-item-pdf-v1'),'single item PDF module is loaded after the app runtime'); +check(singleItemPdf.includes('sunSingleItemPdfButton')&&singleItemPdf.includes('PDF бокса'),'saved catalog item exposes a one-item PDF action'); +check(singleItemPdf.includes('SunPdfEngine.fromJpegs([page])')&&singleItemPdf.includes('heroH=1110'),'single item export builds one A4 PDF page with a large photo layout'); +check(singleItemPdf.includes('item.weight')&&singleItemPdf.includes('item.pieces')&&singleItemPdf.includes('composition(item)'),'single item PDF includes weight, piece count and composition'); check(css.includes('overflow-x:hidden')&&css.includes('.cats'),'mobile overflow guard present'); check(!index.includes('offer-gallery-data.js'),'blocking Base64 gallery absent'); check((runtime.match(/\/Type \/Catalog/g)||[]).length===0,'runtime contains no PDF binary writer');