diff options
author | Sebastian <sebasjm@gmail.com> | 2021-08-23 16:46:06 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2021-08-23 16:48:30 -0300 |
commit | 38acabfa6089ab8ac469c12b5f55022fb96935e5 (patch) | |
tree | 453dbf70000cc5e338b06201af1eaca8343f8f73 /history/modules/__tests__/TestSequences/ReplaceStateWarning.js | |
parent | f26125e039143b92dc0d84e7775f508ab0cdcaa8 (diff) | |
download | node-vendor-38acabfa6089ab8ac469c12b5f55022fb96935e5.tar.gz node-vendor-38acabfa6089ab8ac469c12b5f55022fb96935e5.tar.bz2 node-vendor-38acabfa6089ab8ac469c12b5f55022fb96935e5.zip |
Diffstat (limited to 'history/modules/__tests__/TestSequences/ReplaceStateWarning.js')
-rw-r--r-- | history/modules/__tests__/TestSequences/ReplaceStateWarning.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/history/modules/__tests__/TestSequences/ReplaceStateWarning.js b/history/modules/__tests__/TestSequences/ReplaceStateWarning.js new file mode 100644 index 0000000..a2804ab --- /dev/null +++ b/history/modules/__tests__/TestSequences/ReplaceStateWarning.js @@ -0,0 +1,40 @@ +import expect from 'expect'; + +import execSteps from './execSteps.js'; + +export default function(history, done) { + const steps = [ + location => { + expect(location).toMatchObject({ + pathname: '/' + }); + + history.replace('/home', { the: 'state' }); + }, + (location, action) => { + expect(action).toBe('REPLACE'); + expect(location).toMatchObject({ + pathname: '/home', + state: undefined + }); + + // We should see a warning message. + expect(warningMessage).toMatch( + 'Hash history cannot replace state; it is ignored' + ); + } + ]; + + let consoleWarn = console.warn; // eslint-disable-line no-console + let warningMessage; + + // eslint-disable-next-line no-console + console.warn = message => { + warningMessage = message; + }; + + execSteps(steps, history, (...args) => { + console.warn = consoleWarn; // eslint-disable-line no-console + done(...args); + }); +} |