diff options
author | frankiebee <frankie.diamond@gmail.com> | 2017-10-03 04:44:15 +0800 |
---|---|---|
committer | frankiebee <frankie.diamond@gmail.com> | 2017-10-03 04:44:15 +0800 |
commit | e08a727d449fb35a1cc5eeed8510e615f8fecb20 (patch) | |
tree | 9006bc7956eef2f1fbbeff99e95d940214c14fb9 /test/unit/tx-state-history-helper.js | |
parent | 833da191c37db5b5b470c69a6d4d438ff4719fec (diff) | |
parent | bf390bd63d7642d5a4975c572eb928252122a79b (diff) | |
download | tangerine-wallet-browser-e08a727d449fb35a1cc5eeed8510e615f8fecb20.tar tangerine-wallet-browser-e08a727d449fb35a1cc5eeed8510e615f8fecb20.tar.gz tangerine-wallet-browser-e08a727d449fb35a1cc5eeed8510e615f8fecb20.tar.bz2 tangerine-wallet-browser-e08a727d449fb35a1cc5eeed8510e615f8fecb20.tar.lz tangerine-wallet-browser-e08a727d449fb35a1cc5eeed8510e615f8fecb20.tar.xz tangerine-wallet-browser-e08a727d449fb35a1cc5eeed8510e615f8fecb20.tar.zst tangerine-wallet-browser-e08a727d449fb35a1cc5eeed8510e615f8fecb20.zip |
Merge branch 'master' into history-notes
Diffstat (limited to 'test/unit/tx-state-history-helper.js')
-rw-r--r-- | test/unit/tx-state-history-helper.js | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/unit/tx-state-history-helper.js b/test/unit/tx-state-history-helper.js index 5bb6c9bee..e5075af88 100644 --- a/test/unit/tx-state-history-helper.js +++ b/test/unit/tx-state-history-helper.js @@ -20,4 +20,26 @@ describe('tx-state-history-helper', function () { }) }) }) + + it('replaying history does not mutate the original obj', function () { + const initialState = { test: true, message: 'hello', value: 1 } + const diff1 = { + "op": "replace", + "path": "/message", + "value": "haay", + } + const diff2 = { + "op": "replace", + "path": "/value", + "value": 2, + } + const history = [initialState, diff1, diff2] + + const beforeStateSnapshot = JSON.stringify(initialState) + const latestState = txStateHistoryHelper.replayHistory(history) + const afterStateSnapshot = JSON.stringify(initialState) + + assert.notEqual(initialState, latestState, 'initial state is not the same obj as the latest state') + assert.equal(beforeStateSnapshot, afterStateSnapshot, 'initial state is not modified during run') + }) }) |