Press n or j to go to the next uncovered block, b, p or k for the previous block.
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 79 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | import { assert } from 'chai'; 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'); assert.deepEqual(stateActual.value, { A: 'C' }); }); }); |