exports.anythingMatchesAnyPathAndAddsRemainingPathToParameters = function(test) { var yearParameter = paths.parameters.regex(/[0-9]+/); var controller = function(year, remainingPath, callback) { callback(null, {year: year, remainingPath: remainingPath}); }; var navigator = paths.navigator( paths.then(yearParameter, paths.anything(paths.useController(controller, yearParameter, paths.parameters.remainingPath)) ) ); navigator.navigate("/2011/06/first-post", function(err, result) { test.ok(result.matched); result.value(function(err, value) { test.equal("2011", value.year); test.equal("06/first-post", value.remainingPath); test.done(); }); }); };
exports.usingControllerGivesValueThatCallsControllerWithSpecifiedParameterValues = function(test) { var yearParameter = paths.parameters.regex(/[0-9]+/); var monthParameter = paths.parameters.regex(/[0-9]+/); var controller = function(year, month, callback) { callback(null, {year: year, month: month}); }; var navigator = paths.navigator( paths.then(yearParameter, paths.then(monthParameter, paths.end(paths.useController(controller, yearParameter, monthParameter)) ) ) ); navigator.navigate("/2011/06", function(err, result) { test.ok(result.matched); result.value(function(err, value) { test.equal("2011", value.year); test.equal("06", value.month); test.done(); }); }); };