-
-
Notifications
You must be signed in to change notification settings - Fork 94
/
Copy pathreactiveTransform.spec.ts
65 lines (53 loc) · 1.46 KB
/
reactiveTransform.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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import { nextTick } from 'vue'
import { describe, expect, it } from 'vitest'
import { reactiveTransform } from '../src/reactiveTransform'
describe('reactiveTransform', () => {
it('generate transform from transformProperties', () => {
const { transform } = reactiveTransform(
{
rotateX: 90,
},
false,
)
expect(transform.value).toBe('rotateX(90deg)')
})
it('generate a reactive transform string', () => {
const { transform, state } = reactiveTransform(
{
rotateX: 90,
},
false,
)
expect(transform.value).toBe('rotateX(90deg)')
state.rotateX = 120
nextTick(() => expect(transform.value).toBe('rotateX(120deg)'))
})
it('concatenate the transform string correctly', () => {
const { transform } = reactiveTransform(
{
rotateX: 90,
translateY: 120,
},
false,
)
expect(transform.value).toBe('rotateX(90deg) translateY(120px)')
})
it('add the translateZ when hardware acceleration enabled', () => {
const { transform } = reactiveTransform(
{
rotateX: 90,
},
true, // it is true by default
)
expect(transform.value).toBe('rotateX(90deg) translateZ(0px)')
})
it('accepts relative units when hardware acceleration is enabled', () => {
const { transform } = reactiveTransform(
{
y: '100%',
},
true,
)
expect(transform.value).toBe('translate3d(0px,100%,0px)')
})
})