diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..57c59940 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +node_modules/ +build/ +test/output diff --git a/.gitignore b/.gitignore index 97591487..fed73732 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ node_modules/ *_temp.html +test/reference/output/ /test/output/*.pdf /test/fixtures/*.html !/test/fixtures/*docinfo*-pdf.html diff --git a/package-lock.json b/package-lock.json index 4f50b701..55450941 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,7 @@ "html-entities": "^2.1.0", "mathjax": "3.2.0", "pdf-lib": "^1.2.1", - "puppeteer": "11.0.0", + "puppeteer": "15.4.0", "yargs": "17.3.1" }, "bin": { @@ -1443,6 +1443,14 @@ "node": ">= 10" } }, + "node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dependencies": { + "node-fetch": "2.6.7" + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -1498,9 +1506,9 @@ } }, "node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { "ms": "2.1.2" }, @@ -1592,9 +1600,9 @@ } }, "node_modules/devtools-protocol": { - "version": "0.0.901419", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.901419.tgz", - "integrity": "sha512-4INMPwNm9XRpBukhNbF7OB6fNTTCaI8pzy/fXg0xQzAy5h3zL1P8xT3QazgKqBrb/hAYwIBizqDBZ7GtJE74QQ==" + "version": "0.0.1011705", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1011705.tgz", + "integrity": "sha512-OKvTvu9n3swmgYshvsyVHYX0+aPzCoYUnyXUacfQMmFtBtBKewV/gT4I9jkAbpTqtTi2E4S9MXLlvzBDUlqg0Q==" }, "node_modules/diff": { "version": "5.0.0", @@ -1702,7 +1710,6 @@ "version": "0.1.13", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, "optional": true, "dependencies": { "iconv-lite": "^0.6.2" @@ -3037,9 +3044,9 @@ } }, "node_modules/https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dependencies": { "agent-base": "6", "debug": "4" @@ -3061,7 +3068,6 @@ "version": "0.6.2", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", - "dev": true, "optional": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -4319,14 +4325,22 @@ } }, "node_modules/node-fetch": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz", - "integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==", + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "dependencies": { "whatwg-url": "^5.0.0" }, "engines": { "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, "node_modules/node-gyp": { @@ -5459,27 +5473,26 @@ } }, "node_modules/puppeteer": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-11.0.0.tgz", - "integrity": "sha512-6rPFqN1ABjn4shgOICGDBITTRV09EjXVqhDERBDKwCLz0UyBxeeBH6Ay0vQUJ84VACmlxwzOIzVEJXThcF3aNg==", - "deprecated": "Version no longer supported. Upgrade to @latest", + "version": "15.4.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-15.4.0.tgz", + "integrity": "sha512-wxJRbofjaycCaQ9fhABlToJobrjxlABiFi6NvdkOPVJMYFblxDlDTjkg+b6bZYi7xN+lEXn84GBZsA5DYb3wfw==", "hasInstallScript": true, "dependencies": { - "debug": "4.3.2", - "devtools-protocol": "0.0.901419", + "cross-fetch": "3.1.5", + "debug": "4.3.4", + "devtools-protocol": "0.0.1011705", "extract-zip": "2.0.1", - "https-proxy-agent": "5.0.0", - "node-fetch": "2.6.5", + "https-proxy-agent": "5.0.1", "pkg-dir": "4.2.0", "progress": "2.0.3", "proxy-from-env": "1.1.0", "rimraf": "3.0.2", "tar-fs": "2.1.1", "unbzip2-stream": "1.4.3", - "ws": "8.2.3" + "ws": "8.8.0" }, "engines": { - "node": ">=10.18.1" + "node": ">=14.1.0" } }, "node_modules/puppeteer/node_modules/find-up": { @@ -5816,7 +5829,6 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, "optional": true }, "node_modules/semver": { @@ -6752,9 +6764,9 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "node_modules/ws": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.0.tgz", + "integrity": "sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ==", "engines": { "node": ">=10.0.0" }, @@ -8012,6 +8024,14 @@ "readable-stream": "^3.4.0" } }, + "cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "requires": { + "node-fetch": "2.6.7" + } + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -8052,9 +8072,9 @@ "dev": true }, "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { "ms": "2.1.2" } @@ -8117,9 +8137,9 @@ "dev": true }, "devtools-protocol": { - "version": "0.0.901419", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.901419.tgz", - "integrity": "sha512-4INMPwNm9XRpBukhNbF7OB6fNTTCaI8pzy/fXg0xQzAy5h3zL1P8xT3QazgKqBrb/hAYwIBizqDBZ7GtJE74QQ==" + "version": "0.0.1011705", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1011705.tgz", + "integrity": "sha512-OKvTvu9n3swmgYshvsyVHYX0+aPzCoYUnyXUacfQMmFtBtBKewV/gT4I9jkAbpTqtTi2E4S9MXLlvzBDUlqg0Q==" }, "diff": { "version": "5.0.0", @@ -8198,7 +8218,6 @@ "version": "0.1.13", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, "optional": true, "requires": { "iconv-lite": "^0.6.2" @@ -9209,9 +9228,9 @@ } }, "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "requires": { "agent-base": "6", "debug": "4" @@ -9230,7 +9249,6 @@ "version": "0.6.2", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", - "dev": true, "optional": true, "requires": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -10182,9 +10200,9 @@ } }, "node-fetch": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz", - "integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==", + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "requires": { "whatwg-url": "^5.0.0" } @@ -11072,22 +11090,22 @@ "dev": true }, "puppeteer": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-11.0.0.tgz", - "integrity": "sha512-6rPFqN1ABjn4shgOICGDBITTRV09EjXVqhDERBDKwCLz0UyBxeeBH6Ay0vQUJ84VACmlxwzOIzVEJXThcF3aNg==", + "version": "15.4.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-15.4.0.tgz", + "integrity": "sha512-wxJRbofjaycCaQ9fhABlToJobrjxlABiFi6NvdkOPVJMYFblxDlDTjkg+b6bZYi7xN+lEXn84GBZsA5DYb3wfw==", "requires": { - "debug": "4.3.2", - "devtools-protocol": "0.0.901419", + "cross-fetch": "3.1.5", + "debug": "4.3.4", + "devtools-protocol": "0.0.1011705", "extract-zip": "2.0.1", - "https-proxy-agent": "5.0.0", - "node-fetch": "2.6.5", + "https-proxy-agent": "5.0.1", "pkg-dir": "4.2.0", "progress": "2.0.3", "proxy-from-env": "1.1.0", "rimraf": "3.0.2", "tar-fs": "2.1.1", "unbzip2-stream": "1.4.3", - "ws": "8.2.3" + "ws": "8.8.0" }, "dependencies": { "find-up": { @@ -11326,7 +11344,6 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, "optional": true }, "semver": { @@ -12059,9 +12076,9 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "ws": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.0.tgz", + "integrity": "sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ==", "requires": {} }, "xdg-basedir": { diff --git a/package.json b/package.json index 68c411cf..9a80a787 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,8 @@ "test:smoke": "./bin/asciidoctor-pdf --version", "test:js": "mocha test/**_test.js", "lint": "standard lib/**.js test/**.js tasks/**js", - "publish": "node tasks/publish.js" + "publish": "node tasks/publish.js", + "test:update-reference": "docker build -f test/Dockerfile -t asciidoctor-web-pdf/test . && docker run --name asciidoctorwebpdftest asciidoctor-web-pdf/test:latest && docker cp asciidoctorwebpdftest:/app/test/output ./test/reference/" }, "repository": { "type": "git", @@ -55,7 +56,7 @@ "html-entities": "^2.1.0", "mathjax": "3.2.0", "pdf-lib": "^1.2.1", - "puppeteer": "11.0.0", + "puppeteer": "15.4.0", "yargs": "17.3.1" }, "devDependencies": { diff --git a/tasks/prepare-binaries.js b/tasks/prepare-binaries.js index 4d96b8df..3259f85f 100644 --- a/tasks/prepare-binaries.js +++ b/tasks/prepare-binaries.js @@ -41,7 +41,7 @@ async function getBrowsers (platforms, showProgress) { platform: puppeteerPlatform, // one of: linux, mac, win32 or win64 path: path.resolve(path.join(buildDirPath, name, 'chromium')) }) - .download(puppeteer._preferredRevision, function (downloadBytes, totalBytes) { + .download(puppeteer.default._preferredRevision, function (downloadBytes, totalBytes) { if (showProgress) { downloadProgress[name] = Math.round(downloadBytes / totalBytes * 100) const entries = Object.entries(downloadProgress) diff --git a/test/Dockerfile b/test/Dockerfile new file mode 100644 index 00000000..22755998 --- /dev/null +++ b/test/Dockerfile @@ -0,0 +1,22 @@ +FROM node:16.16.0-bullseye-slim + +RUN addgroup --gid 1001 asciidoc && adduser --disabled-password --ingroup asciidoc -u 1001 asciidoc + +RUN apt-get update \ + && apt-get install -y gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libgbm-dev libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libnss3 lsb-release xdg-utils poppler-utils wget \ + && rm -rf /var/lib/apt/lists/* + +USER asciidoc +WORKDIR /app + +COPY --chown=asciidoc:asciidoc lib ./lib +COPY --chown=asciidoc:asciidoc bin ./bin +COPY --chown=asciidoc:asciidoc css ./css +COPY --chown=asciidoc:asciidoc fonts ./fonts +COPY --chown=asciidoc:asciidoc test ./test + +COPY --chown=asciidoc:asciidoc package.json package-lock.json ./ +RUN npm ci + +ENV DEBUG=1 +CMD npm t diff --git a/test/reference/document-with-counters.pdf b/test/reference/document-with-counters.pdf index a20d157f..0d2e9f55 100644 Binary files a/test/reference/document-with-counters.pdf and b/test/reference/document-with-counters.pdf differ diff --git a/test/reference/document-with-left-toc.pdf b/test/reference/document-with-left-toc.pdf index a178410f..6e5123d5 100644 Binary files a/test/reference/document-with-left-toc.pdf and b/test/reference/document-with-left-toc.pdf differ diff --git a/test/reference/document-with-stem.pdf b/test/reference/document-with-stem.pdf index 171f1a63..a5d6e9eb 100644 Binary files a/test/reference/document-with-stem.pdf and b/test/reference/document-with-stem.pdf differ diff --git a/test/reference/list.pdf b/test/reference/list.pdf index 805e1962..e89fc14a 100644 Binary files a/test/reference/list.pdf and b/test/reference/list.pdf differ diff --git a/test/reference/page-break-article-preamble_false-section_false-toc_false-title-page-attribute_false.pdf b/test/reference/page-break-article-preamble_false-section_false-toc_false-title-page-attribute_false.pdf index 1c5e87c2..f02bf51d 100644 Binary files a/test/reference/page-break-article-preamble_false-section_false-toc_false-title-page-attribute_false.pdf and b/test/reference/page-break-article-preamble_false-section_false-toc_false-title-page-attribute_false.pdf differ diff --git a/test/reference/page-break-article-preamble_false-section_true-toc_auto-title-page-attribute_false.pdf b/test/reference/page-break-article-preamble_false-section_true-toc_auto-title-page-attribute_false.pdf index a178410f..6e5123d5 100644 Binary files a/test/reference/page-break-article-preamble_false-section_true-toc_auto-title-page-attribute_false.pdf and b/test/reference/page-break-article-preamble_false-section_true-toc_auto-title-page-attribute_false.pdf differ diff --git a/test/reference/page-break-article-preamble_false-section_true-toc_auto-title-page-attribute_true.pdf b/test/reference/page-break-article-preamble_false-section_true-toc_auto-title-page-attribute_true.pdf index e7494913..1f56dc80 100644 Binary files a/test/reference/page-break-article-preamble_false-section_true-toc_auto-title-page-attribute_true.pdf and b/test/reference/page-break-article-preamble_false-section_true-toc_auto-title-page-attribute_true.pdf differ diff --git a/test/reference/page-break-article-preamble_false-section_true-toc_false-title-page-attribute_false.pdf b/test/reference/page-break-article-preamble_false-section_true-toc_false-title-page-attribute_false.pdf index 6723307b..dae4e54f 100644 Binary files a/test/reference/page-break-article-preamble_false-section_true-toc_false-title-page-attribute_false.pdf and b/test/reference/page-break-article-preamble_false-section_true-toc_false-title-page-attribute_false.pdf differ diff --git a/test/reference/page-break-article-preamble_false-section_true-toc_false-title-page-attribute_true.pdf b/test/reference/page-break-article-preamble_false-section_true-toc_false-title-page-attribute_true.pdf index e3597d47..532bf513 100644 Binary files a/test/reference/page-break-article-preamble_false-section_true-toc_false-title-page-attribute_true.pdf and b/test/reference/page-break-article-preamble_false-section_true-toc_false-title-page-attribute_true.pdf differ diff --git a/test/reference/page-break-article-preamble_true-section_true-toc_auto-title-page-attribute_false.pdf b/test/reference/page-break-article-preamble_true-section_true-toc_auto-title-page-attribute_false.pdf index 75332219..e16e1568 100644 Binary files a/test/reference/page-break-article-preamble_true-section_true-toc_auto-title-page-attribute_false.pdf and b/test/reference/page-break-article-preamble_true-section_true-toc_auto-title-page-attribute_false.pdf differ diff --git a/test/reference/page-break-article-preamble_true-section_true-toc_auto-title-page-attribute_true.pdf b/test/reference/page-break-article-preamble_true-section_true-toc_auto-title-page-attribute_true.pdf index b429dd0d..2452fef7 100644 Binary files a/test/reference/page-break-article-preamble_true-section_true-toc_auto-title-page-attribute_true.pdf and b/test/reference/page-break-article-preamble_true-section_true-toc_auto-title-page-attribute_true.pdf differ diff --git a/test/reference/page-break-article-preamble_true-section_true-toc_false-title-page-attribute_false.pdf b/test/reference/page-break-article-preamble_true-section_true-toc_false-title-page-attribute_false.pdf index b97314ac..ab73cffa 100644 Binary files a/test/reference/page-break-article-preamble_true-section_true-toc_false-title-page-attribute_false.pdf and b/test/reference/page-break-article-preamble_true-section_true-toc_false-title-page-attribute_false.pdf differ diff --git a/test/reference/page-break-article-preamble_true-section_true-toc_false-title-page-attribute_true.pdf b/test/reference/page-break-article-preamble_true-section_true-toc_false-title-page-attribute_true.pdf index 0f250723..f2766958 100644 Binary files a/test/reference/page-break-article-preamble_true-section_true-toc_false-title-page-attribute_true.pdf and b/test/reference/page-break-article-preamble_true-section_true-toc_false-title-page-attribute_true.pdf differ diff --git a/test/reference/page-break-article-preamble_true-section_true-toc_preamble-title-page-attribute_false.pdf b/test/reference/page-break-article-preamble_true-section_true-toc_preamble-title-page-attribute_false.pdf index afce4e89..09c06ba4 100644 Binary files a/test/reference/page-break-article-preamble_true-section_true-toc_preamble-title-page-attribute_false.pdf and b/test/reference/page-break-article-preamble_true-section_true-toc_preamble-title-page-attribute_false.pdf differ diff --git a/test/reference/page-break-article-preamble_true-section_true-toc_preamble-title-page-attribute_true.pdf b/test/reference/page-break-article-preamble_true-section_true-toc_preamble-title-page-attribute_true.pdf index b429dd0d..2452fef7 100644 Binary files a/test/reference/page-break-article-preamble_true-section_true-toc_preamble-title-page-attribute_true.pdf and b/test/reference/page-break-article-preamble_true-section_true-toc_preamble-title-page-attribute_true.pdf differ diff --git a/test/reference/page-break-book-preamble_false-section_false-toc_false-title-page-attribute_false.pdf b/test/reference/page-break-book-preamble_false-section_false-toc_false-title-page-attribute_false.pdf index 1516193a..d66f327b 100644 Binary files a/test/reference/page-break-book-preamble_false-section_false-toc_false-title-page-attribute_false.pdf and b/test/reference/page-break-book-preamble_false-section_false-toc_false-title-page-attribute_false.pdf differ diff --git a/test/reference/page-break-book-preamble_false-section_true-toc_auto-title-page-attribute_false.pdf b/test/reference/page-break-book-preamble_false-section_true-toc_auto-title-page-attribute_false.pdf index e7494913..1f56dc80 100644 Binary files a/test/reference/page-break-book-preamble_false-section_true-toc_auto-title-page-attribute_false.pdf and b/test/reference/page-break-book-preamble_false-section_true-toc_auto-title-page-attribute_false.pdf differ diff --git a/test/reference/page-break-book-preamble_false-section_true-toc_false-title-page-attribute_false.pdf b/test/reference/page-break-book-preamble_false-section_true-toc_false-title-page-attribute_false.pdf index e3597d47..532bf513 100644 Binary files a/test/reference/page-break-book-preamble_false-section_true-toc_false-title-page-attribute_false.pdf and b/test/reference/page-break-book-preamble_false-section_true-toc_false-title-page-attribute_false.pdf differ diff --git a/test/reference/page-break-book-preamble_true-section_true-toc_auto-title-page-attribute_false.pdf b/test/reference/page-break-book-preamble_true-section_true-toc_auto-title-page-attribute_false.pdf index 35c5c5b3..a0d837dc 100644 Binary files a/test/reference/page-break-book-preamble_true-section_true-toc_auto-title-page-attribute_false.pdf and b/test/reference/page-break-book-preamble_true-section_true-toc_auto-title-page-attribute_false.pdf differ diff --git a/test/reference/page-break-book-preamble_true-section_true-toc_false-title-page-attribute_false.pdf b/test/reference/page-break-book-preamble_true-section_true-toc_false-title-page-attribute_false.pdf index 1f6a5669..edd455ff 100644 Binary files a/test/reference/page-break-book-preamble_true-section_true-toc_false-title-page-attribute_false.pdf and b/test/reference/page-break-book-preamble_true-section_true-toc_false-title-page-attribute_false.pdf differ diff --git a/test/reference/page-break-book-preamble_true-section_true-toc_preamble-title-page-attribute_false.pdf b/test/reference/page-break-book-preamble_true-section_true-toc_preamble-title-page-attribute_false.pdf index 35c5c5b3..90ae318a 100644 Binary files a/test/reference/page-break-book-preamble_true-section_true-toc_preamble-title-page-attribute_false.pdf and b/test/reference/page-break-book-preamble_true-section_true-toc_preamble-title-page-attribute_false.pdf differ diff --git a/test/reference/repeat-table-elements.pdf b/test/reference/repeat-table-elements.pdf index e600d7b3..19ab5b07 100644 Binary files a/test/reference/repeat-table-elements.pdf and b/test/reference/repeat-table-elements.pdf differ diff --git a/test/reference/title-page-background-color.pdf b/test/reference/title-page-background-color.pdf index ea240153..e321ebb9 100644 Binary files a/test/reference/title-page-background-color.pdf and b/test/reference/title-page-background-color.pdf differ