From 765bd788a92dda3c01d6811c9670870f5ab55c52 Mon Sep 17 00:00:00 2001 From: Wojciech Maj Date: Mon, 12 Feb 2024 10:16:21 +0100 Subject: [PATCH] chore: add separate reference files for different platforms Turns out, generated PDFs differ slightly from platform to platform. As the previous reference file I generated comes from macOS, it fails when E2E is ran on linux. This fixes that by introducing platform-specific reference files. Note: without #2633, E2E will error, and without #2635, CJS E2E will still fail. --- e2e/node-cjs/index.js | 5 ++++- e2e/node-esm/index.js | 5 ++++- e2e/{reference.pdf => reference-darwin.pdf} | Bin e2e/reference-linux.pdf | Bin 0 -> 1507 bytes 4 files changed, 8 insertions(+), 2 deletions(-) rename e2e/{reference.pdf => reference-darwin.pdf} (100%) create mode 100644 e2e/reference-linux.pdf diff --git a/e2e/node-cjs/index.js b/e2e/node-cjs/index.js index 6fae909d4..d9522a7b8 100644 --- a/e2e/node-cjs/index.js +++ b/e2e/node-cjs/index.js @@ -1,9 +1,12 @@ const fs = require('node:fs/promises'); +const os = require('node:os'); const assert = require('node:assert'); const { test } = require('node:test'); const { jsx } = require('react/jsx-runtime'); const { Document, Page, Text, renderToBuffer } = require('@react-pdf/renderer'); +const platform = os.platform(); + const MyDocument = () => jsx(Document, { children: jsx(Page, { @@ -28,7 +31,7 @@ function removeMovingParts(buffer) { test('rendering a PDF', async () => { const bufferPromise = renderToBuffer(jsx(MyDocument, {})); - const referenceBufferPromise = fs.readFile('../reference.pdf'); + const referenceBufferPromise = fs.readFile(`../reference-${platform}.pdf`); const [buffer, referenceBuffer] = await Promise.all([ bufferPromise, diff --git a/e2e/node-esm/index.js b/e2e/node-esm/index.js index 54c487f83..de7a916d6 100644 --- a/e2e/node-esm/index.js +++ b/e2e/node-esm/index.js @@ -1,9 +1,12 @@ import fs from 'node:fs/promises'; +import os from 'node:os'; import assert from 'node:assert'; import { test } from 'node:test'; import { jsx } from 'react/jsx-runtime'; import { Document, Page, Text, renderToBuffer } from '@react-pdf/renderer'; +const platform = os.platform(); + const MyDocument = () => jsx(Document, { children: jsx(Page, { @@ -28,7 +31,7 @@ function removeMovingParts(buffer) { test('rendering a PDF', async () => { const bufferPromise = renderToBuffer(jsx(MyDocument, {})); - const referenceBufferPromise = fs.readFile('../reference.pdf'); + const referenceBufferPromise = fs.readFile(`../reference-${platform}.pdf`); const [buffer, referenceBuffer] = await Promise.all([ bufferPromise, diff --git a/e2e/reference.pdf b/e2e/reference-darwin.pdf similarity index 100% rename from e2e/reference.pdf rename to e2e/reference-darwin.pdf diff --git a/e2e/reference-linux.pdf b/e2e/reference-linux.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3dcca17ab1afce4e5699c82266e0bd21830faead GIT binary patch literal 1507 zcmah}O^6gn6ea-;Rs;hg1P}3n4j5s#s=BAAdzN*&JWz(#lOZ{A)qj^PzkF^Pftu)bFkD zoA`2ry>VdItv_=wZ~x*oruMJ>eP!+9#<%V2-b>3%C+ClUa{1qfm+$9)-1f)M7tX(H zZTrEzy%7KYc=zGoN)KN;dF<{S>^-yg`1Z=(L+$Thztz3@-CsKoJo>6|@Y;WOe)(YE z*C(bLS2uP%_~_2mXP;jEW@h(4`2}s^w8hjweUyVR`GK$$~mJ!T$P=OK5F~;+82XE|19J8K-@$r0ldmJ;1<7Z8Vf0&UPCbA#H z3PU_pB>awyl3(bee-1CEMQA+?6{NSe8ni;-=`E<1p)uWTiKgL*renL7-E^B~!R2nz g6T