-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Expand file tree
/
Copy pathvitest.config.usvg.ts
More file actions
36 lines (33 loc) · 1.21 KB
/
vitest.config.usvg.ts
File metadata and controls
36 lines (33 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import {basename} from 'path';
import {readFileSync, globSync} from 'fs';
import virtual from '@rollup/plugin-virtual';
import {playwright} from '@vitest/browser-playwright';
import {mergeConfig, defineConfig} from 'vitest/config';
import baseConfig from './vitest.config.base';
const isCI = process.env.CI === 'true';
// base64 encoded PNG fixtures
const fixtures = globSync(['./test/usvg/test-suite/*.png', './test/usvg/mapbox_usvg_pb_test_suite/*.png']).reduce((acc, pngPath) => {
const name = basename(pngPath, '.png');
const base64Data = readFileSync(pngPath, 'base64');
acc[name] = base64Data;
return acc;
}, {});
export default mergeConfig(baseConfig, defineConfig({
test: {
browser: {
provider: playwright({launchOptions: {channel: isCI ? 'chromium' : 'chrome'}}),
instances: [
{browser: 'chromium'},
],
},
retry: 0,
include: ['./test/usvg/*.test.ts'],
setupFiles: ['./test/usvg/setup.ts'],
reporters: isCI ? [['verbose', {summary: false}]] : [['default']],
},
plugins: [
virtual({
'virtual:usvg-fixtures': `export const fixtures = ${JSON.stringify(fixtures)};`
})
]
}));