/
json.spec.ts
46 lines (36 loc) · 1.21 KB
/
json.spec.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
35
36
37
38
39
40
41
42
43
44
45
46
import { isBuild } from '../../testUtils'
const json = require('../test.json')
const deepJson = require('vue/package.json')
const stringified = JSON.stringify(json)
const deepStringified = JSON.stringify(deepJson)
test('default import', async () => {
expect(await page.textContent('.full')).toBe(stringified)
})
test('named import', async () => {
expect(await page.textContent('.named')).toBe(json.hello)
})
test('deep import', async () => {
expect(await page.textContent('.deep-full')).toBe(deepStringified)
})
test('named deep import', async () => {
expect(await page.textContent('.deep-named')).toBe(deepJson.name)
})
test('dynamic import', async () => {
expect(await page.textContent('.dynamic')).toBe(stringified)
})
test('dynamic import, named', async () => {
expect(await page.textContent('.dynamic-named')).toBe(json.hello)
})
test('fetch', async () => {
expect(await page.textContent('.fetch')).toBe(stringified)
})
test('?url', async () => {
expect(await page.textContent('.url')).toMatch(
isBuild ? 'data:application/json' : '/test.json'
)
})
test('?raw', async () => {
expect(await page.textContent('.raw')).toBe(
require('fs').readFileSync(require.resolve('../test.json'), 'utf-8')
)
})