UNPKG

@happysanta/router

Version:
52 lines (44 loc) 1.5 kB
"use strict"; var _History = require("./History"); var _Route = require("./Route"); var _State = require("./State"); var _Page = require("./Page"); var _react = require("@testing-library/react"); function getRoute() { return new _Route.Route(new _Page.Page('main', 'main'), '/', {}); } function getState() { return (0, _State.stateFromLocation)(0); } describe('History', function () { afterEach(function () { (0, _react.cleanup)(); window.history.replaceState({}, '', '/#'); }); it('check', function () { var h = new _History.History(); expect(h.getCurrentIndex()).toEqual(0); expect(h.getLength()).toEqual(0); h.push(getRoute(), getState()); expect(h.getCurrentIndex()).toEqual(0); expect(h.getLength()).toEqual(1); h.push(getRoute(), getState()); expect(h.getCurrentIndex()).toEqual(1); expect(h.getLength()).toEqual(2); h.push(getRoute(), getState()); expect(h.getCurrentIndex()).toEqual(2); expect(h.getLength()).toEqual(3); h.replace(getRoute(), getState()); expect(h.getCurrentIndex()).toEqual(2); expect(h.getLength()).toEqual(3); h.push(getRoute(), getState()); expect(h.getCurrentIndex()).toEqual(3); expect(h.getLength()).toEqual(4); h.setCurrentIndex(h.getCurrentIndex() - 2); expect(h.getCurrentIndex()).toEqual(1); expect(h.getLength()).toEqual(4); h.push(getRoute(), getState()); expect(h.getCurrentIndex()).toEqual(2); expect(h.getLength()).toEqual(3); }); });