Skip to content
This repository has been archived by the owner on Sep 20, 2020. It is now read-only.

Commit

Permalink
feat(previous): forget can now forget the previous state
Browse files Browse the repository at this point in the history
 - Prior to this, forget only forgot memos. Now, calling it with no parameter will forget the previous state.

 Closes #145
  • Loading branch information
christopherthielen committed Feb 1, 2015
1 parent 20fade7 commit 992b88b
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 1 deletion.
6 changes: 5 additions & 1 deletion src/previous.js
Expand Up @@ -30,7 +30,11 @@ angular.module('ct.ui.router.extras.previous', [ 'ct.ui.router.extras.core', 'ct
memos[memoName] = previous || { state: $state.get(defaultStateName), params: defaultStateParams };
},
forget: function (memoName) {
delete memos[memoName];
if (memoName) {
delete memos[memoName];
} else {
previous = undefined;
}
}
};

Expand Down
18 changes: 18 additions & 0 deletions test/previousSpec.js
Expand Up @@ -137,4 +137,22 @@ describe("$previousState", function () {
expect($previousState.get('foo').params).toEqual({ id: 5 });
});
});

describe('.forget()', function () {
it("should forget previous state", function () {
testGo("top.people.managerlist", { entered: pathFrom('top', 'top.people.managerlist') });
testGo("top.inv.storelist", { entered: pathFrom('top.inv', 'top.inv.storelist'), exited: pathFrom('top.people.managerlist', 'top.people') });
$previousState.forget();
expect($previousState.get()).toBeFalsy();
});

it("should forget previous state for specific memo", function () {
testGo("top.people.managerlist", { entered: pathFrom('top', 'top.people.managerlist') });
testGo("top.inv.storelist", { entered: pathFrom('top.inv', 'top.inv.storelist'), exited: pathFrom('top.people.managerlist', 'top.people') });
$previousState.memo('foo');
expect($previousState.get('foo').state.name).toBe("top.people.managerlist");
$previousState.forget('foo');
expect($previousState.get('foo')).toBeFalsy();
});
});
});

0 comments on commit 992b88b

Please sign in to comment.