Skip to content

Commit b382e5f

Browse files
committed
Adding some tests
1 parent 361b444 commit b382e5f

File tree

6 files changed

+994
-378
lines changed

6 files changed

+994
-378
lines changed

packages/react-pdf-js/package.json

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@
2929
},
3030
"scripts": {
3131
"build": "tsup src/index.tsx --dts --format esm,cjs",
32-
"lint": "eslint"
32+
"lint": "eslint",
33+
"test": "vitest"
3334
},
3435
"prettier": {
3536
"printWidth": 80,
@@ -38,15 +39,18 @@
3839
"trailingComma": "es5"
3940
},
4041
"devDependencies": {
42+
"@testing-library/jest-dom": "^6.6.3",
4143
"@testing-library/react": "^16.2.0",
42-
"@types/jest": "^29.5.14",
4344
"@types/react": "^19.0.12",
4445
"@types/react-dom": "^19.0.4",
4546
"@vitejs/plugin-react": "^4.3.4",
46-
"jest-canvas-mock": "^2.5.2",
47+
"jsdom": "^26.0.0",
4748
"pdfjs-dist": "^5.0.375",
49+
"react": "^19.0.0",
50+
"react-dom": "^19.0.0",
4851
"tsup": "^8.4.0",
49-
"typescript": "^5.8.2"
52+
"typescript": "^5.8.2",
53+
"vitest": "^3.2.0"
5054
},
5155
"peerDependencies": {
5256
"pdfjs-dist": "^5",

packages/react-pdf-js/test/index.test.tsx

Lines changed: 0 additions & 153 deletions
This file was deleted.

packages/react-pdf-js/test/setup.ts

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import { vi, expect } from 'vitest';
2+
import { DocumentInitParameters } from 'pdfjs-dist/types/src/display/api';
3+
import * as matchers from '@testing-library/jest-dom/matchers';
4+
5+
expect.extend(matchers);
6+
7+
// Mock canvas context
8+
HTMLCanvasElement.prototype.getContext = vi.fn((contextType: string) => {
9+
if (contextType === '2d') {
10+
return {
11+
scale: vi.fn(),
12+
};
13+
}
14+
return null;
15+
});
16+
17+
// Mock devicePixelRatio
18+
Object.defineProperty(window, 'devicePixelRatio', {
19+
writable: true,
20+
value: 1,
21+
});
22+
23+
// Mock pdfjs-dist
24+
vi.mock('pdfjs-dist', () => ({
25+
version: '1.0',
26+
GlobalWorkerOptions: {
27+
workerSrc: '',
28+
},
29+
getDocument: vi.fn((config: DocumentInitParameters) => ({
30+
promise: config.url?.includes('fail_document')
31+
? Promise.reject(new Error('Document load failed'))
32+
: Promise.resolve({
33+
getPage: vi.fn((pageNum: number) =>
34+
config.url?.includes('fail_page')
35+
? Promise.reject(new Error('Page load failed'))
36+
: Promise.resolve({
37+
rotate: 0,
38+
getViewport: vi.fn(() => ({ width: 100, height: 100 })),
39+
render: vi.fn(() => ({
40+
promise: config.url?.includes('fail_render')
41+
? Promise.reject(new Error('Render failed'))
42+
: Promise.resolve(),
43+
cancel: vi.fn(),
44+
})),
45+
})
46+
),
47+
}),
48+
})),
49+
}));

0 commit comments

Comments
 (0)