-
Notifications
You must be signed in to change notification settings - Fork 3
/
index.test.ts
31 lines (26 loc) · 910 Bytes
/
index.test.ts
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
import { createRequire } from 'node:module'
import { expect, it, describe } from 'vitest'
// ESM
import * as libESM from '../dist/index.mjs'
import defaultESM from '../dist/index.mjs'
// CJS
const require = createRequire(import.meta.url)
const libCJS = require('../lib/index.cjs')
const expectedExports = ['fetch', 'Blob', 'FormData', 'Headers', 'Request', 'Response', 'AbortController']
const suites = [
{ name: 'cjs', defaultExport: libCJS, exports: libCJS },
{ name: 'esm', defaultExport: defaultESM, exports: libESM }
]
for (const s of suites) {
describe('node-fetch-native:' + s.name, () => {
it('default export', () => {
expect(s.defaultExport).toBeDefined()
expect(typeof s.defaultExport).toBe('function')
})
for (const exportName of expectedExports) {
it('export:' + exportName, () => {
expect(s.exports[exportName]).toBeDefined()
})
}
})
}