deno.land / x / xstate@xstate@4.33.6 / test / examples / 6.8.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
75
76
77
78
import { Machine } from '../../src/index';import { testAll } from '../utils';
describe('Example 6.8', () => { const machine = Machine({ initial: 'A', states: { A: { on: { 6: 'F' }, initial: 'B', states: { B: { on: { 1: 'C' } }, C: { on: { 2: 'E' } }, D: { on: { 3: 'B' } }, E: { on: { 4: 'B', 5: 'D' } }, hist: { history: true } } }, F: { on: { 5: 'A.hist' } } } });
const expected = { A: { 1: 'A.C', 6: 'F' }, 'A.B': { 1: 'A.C', 6: 'F', FAKE: undefined }, 'A.C': { 2: 'A.E', 6: 'F', FAKE: undefined }, 'A.D': { 3: 'A.B', 6: 'F', FAKE: undefined }, 'A.E': { 4: 'A.B', 5: 'A.D', 6: 'F', FAKE: undefined }, F: { 5: 'A.B' } };
testAll(machine, expected);
it('should respect the history mechanism', () => { const stateC = machine.transition('A.B', '1'); const stateF = machine.transition(stateC, '6'); const stateActual = machine.transition(stateF, '5');
expect(stateActual.value).toEqual({ A: 'C' }); });});
xstate

Version Info

Tagged at
2 years ago