-
-
Notifications
You must be signed in to change notification settings - Fork 43
/
Copy pathbasic.test.ts
74 lines (69 loc) · 1.41 KB
/
basic.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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import { ref } from 'vue'
import { createHead } from '../src'
describe('basic', () => {
test('removing head works', async () => {
const head = createHead()
head.push({
title: 'old',
link: [
{
href: '/',
},
],
})
const { dispose } = head.push({
title: 'test',
})
dispose()
expect(head.headEntries().length).toBe(1)
expect(head.headEntries()).toMatchInlineSnapshot(`
[
{
"_i": 0,
"input": {
"link": [
{
"href": "/",
},
],
"title": "old",
},
},
]
`)
})
test('computed getter', async () => {
const colour = ref('yellow')
const head = createHead()
head.push(
() => ({
bodyAttrs: {
style: () => `background: ${colour.value}`,
class: () => `bg-${colour.value}-500`,
},
}),
)
expect(head.headEntries()).toMatchInlineSnapshot(`
[
{
"_i": 0,
"input": [Function],
},
]
`)
expect(await head.resolveTags()).toMatchInlineSnapshot(`
[
{
"_d": "bodyAttrs",
"_e": 0,
"_p": 0,
"props": {
"class": "bg-yellow-500",
"style": "background: yellow",
},
"tag": "bodyAttrs",
},
]
`)
})
})