use implicit callback if none provided

This commit is contained in:
Brad Dunbar
2012-01-17 12:12:20 -05:00
parent 7ba0275613
commit 57ef21839b
2 changed files with 12 additions and 0 deletions

View File

@@ -697,6 +697,7 @@
route : function(route, name, callback) {
Backbone.history || (Backbone.history = new Backbone.History);
if (!_.isRegExp(route)) route = this._routeToRegExp(route);
if (!callback) callback = this[name];
Backbone.history.route(route, _.bind(function(fragment) {
var args = this._extractParameters(route, fragment);
callback && callback.apply(this, args);

View File

@@ -19,12 +19,17 @@ $(document).ready(function() {
initialize : function(options) {
this.testing = options.testing;
this.route('implicit', 'implicit');
},
counter: function() {
this.count++;
},
implicit: function() {
this.count++;
},
search : function(query, page) {
this.query = query;
this.page = page;
@@ -114,6 +119,12 @@ $(document).ready(function() {
equals(router.count, 2);
});
test("Router: use implicit callback if none provided", function() {
router.count = 0;
router.navigate('implicit', {trigger: true})
equals(router.count, 1);
});
asyncTest("Router: routes via navigate with {replace: true}", function() {
var historyLength = window.history.length;
router.navigate('search/manhattan/start_here');