/
imports.test.ts
34 lines (24 loc) · 997 Bytes
/
imports.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
32
33
34
import { expect, test } from 'vitest'
test('dynamic relative import works', async() => {
const { timeout } = await import('./../src/timeout')
const timeoutPath = './../src/timeout'
const { timeout: dynamicTimeout } = await import(timeoutPath)
expect(timeout).toBe(dynamicTimeout)
})
test('dynamic aliased import works', async() => {
const { timeout } = await import('./../src/timeout')
const timeoutPath = '@/timeout'
const { timeout: dynamicTimeout } = await import(timeoutPath)
expect(timeout).toBe(dynamicTimeout)
})
test('dynamic absolute import works', async() => {
const { timeout } = await import('./../src/timeout')
const timeoutPath = '/src/timeout'
const { timeout: dynamicTimeout } = await import(timeoutPath)
expect(timeout).toBe(dynamicTimeout)
})
test('data with dynamic import works', async() => {
const dataUri = 'data:text/javascript;charset=utf-8,export default "hi"'
const { default: hi } = await import(dataUri)
expect(hi).toBe('hi')
})