mirror of
https://github.com/jashkenas/backbone.git
synced 2026-04-30 03:00:06 -04:00
adding a test to ensure that routes aren't triggered multiple times. #849
This commit is contained in:
@@ -4,8 +4,11 @@ $(document).ready(function() {
|
||||
|
||||
var Router = Backbone.Router.extend({
|
||||
|
||||
count: 0,
|
||||
|
||||
routes: {
|
||||
"noCallback": "noCallback",
|
||||
"counter": "counter",
|
||||
"search/:query": "search",
|
||||
"search/:query/p:page": "search",
|
||||
"splat/*args/end": "splat",
|
||||
@@ -18,6 +21,10 @@ $(document).ready(function() {
|
||||
this.testing = options.testing;
|
||||
},
|
||||
|
||||
counter: function() {
|
||||
this.count++;
|
||||
},
|
||||
|
||||
search : function(query, page) {
|
||||
this.query = query;
|
||||
this.page = page;
|
||||
@@ -86,6 +93,18 @@ $(document).ready(function() {
|
||||
equals(router.page, '20');
|
||||
});
|
||||
|
||||
test("Router: doesn't fire routes to the same place twice", function() {
|
||||
equals(router.count, 0);
|
||||
router.navigate('counter', {trigger: true});
|
||||
equals(router.count, 1);
|
||||
router.navigate('counter', {trigger: true});
|
||||
router.navigate('counter', {trigger: true});
|
||||
equals(router.count, 1);
|
||||
router.navigate('search/counter', {trigger: true});
|
||||
router.navigate('counter', {trigger: true});
|
||||
equals(router.count, 2);
|
||||
});
|
||||
|
||||
asyncTest("Router: routes via navigate with {replace: true}", function() {
|
||||
var historyLength = window.history.length;
|
||||
router.navigate('search/manhattan/start_here');
|
||||
|
||||
Reference in New Issue
Block a user