album-export-contract

20260916-181749 轮 · 看它的历史
=== 导出 v2 验证 ===
靶子: http://h8  tplid=15076

  PASS  多页 isZip — true
  PASS  多页 MIME — "application/zip"
  PASS  多页 pageCount — 12
  PASS  多页 fileName 以 .zip 结尾 — true
  PASS  zip 条目数 == pageCount — 12
  PASS  zip 内扩展名集合严格等于 .jpg 一种 — "[\".jpg\"]"
  PASS  第一条消息是 albumExportMeta(早于完成) — "meta"
  PASS  meta.pageCount == done.pageCount — 12
    累计加载 75 张 / 239.9 MB(改造前同一本作品是 115 张 / 273.6 MB,跳过全量预载后只下载真正渲染用到的图)
  PASS  imageCache 常驻峰值 < 60 MB — 50.2 MB(改造前 = 累计值 273.6 MB)
  PASS  跑完后 imageCache 清空(引用计数全部归零) — size=0

▶ 单页作品(XML 裁到 1 页)
  PASS  单页 isZip — false
  PASS  单页 MIME — "image/jpeg"
  PASS  单页 pageCount — 1
  PASS  单页 fileName 以 .jpg 结尾 — true
  PASS  单页产物体积 — 51.8 KB

▶ quality 钳制
    q75=38355B  q85=52994B  q90=68463B  q200=52994B  q=abc→52994B
  PASS  锚:quality 确实影响体积(75/85/90 三者互不相等) — 38355 / 52994 / 68463
  PASS  越界 quality=200 回落 85(字节相等且锚成立) — 52994
  PASS  非数字 quality=abc 回落 85(字节相等且锚成立) — 52994
  PASS  体积随质量严格单调 75 < 85 < 90 — 38355 < 52994 < 68463

=== 结果: PASS=19 FAIL=0 ===