Merge pull request #1011 from wookiehangover/issue996

adding test coverage for route precedence as per issue #996
This commit is contained in:
Jeremy Ashkenas
2012-02-15 09:04:30 -08:00

View File

@@ -37,6 +37,9 @@ $(document).ready(function() {
"counter": "counter",
"search/:query": "search",
"search/:query/p:page": "search",
"contacts": "contacts",
"contacts/new": "newContact",
"contacts/:id": "loadContact",
"splat/*args/end": "splat",
"*first/complex-:part/*rest": "complex",
":entity?*args": "query",
@@ -61,6 +64,18 @@ $(document).ready(function() {
this.page = page;
},
contacts: function(){
this.contact = 'index';
},
newContact: function(){
this.contact = 'new';
},
loadContact: function(){
this.contact = 'load';
},
splat : function(args) {
this.args = args;
},
@@ -120,6 +135,18 @@ $(document).ready(function() {
equal(router.page, '20');
});
test("Router: route precedence via navigate", 6, function(){
// check both 0.9.x and backwards-compatibility options
_.each([ { trigger: true }, true ], function( options ){
Backbone.history.navigate('contacts', options);
equal(router.contact, 'index');
Backbone.history.navigate('contacts/new', options);
equal(router.contact, 'new');
Backbone.history.navigate('contacts/foo', options);
equal(router.contact, 'load');
});
});
test("Router: doesn't fire routes to the same place twice", function() {
equal(router.count, 0);
router.navigate('counter', {trigger: true});