diff --git a/index.js b/index.js index e020629..20f6a57 100644 --- a/index.js +++ b/index.js @@ -119,7 +119,7 @@ function choo (opts) { // create a new router with a custom `createRoute()` function // (str?, obj, fn?) -> null function createRouter (defaultRoute, routes, createSend) { - var prev = {} + var prev = { params: {} } return sheetRouter(defaultRoute, routes, createRoute) function createRoute (routeFn) { diff --git a/tests/browser/routing.js b/tests/browser/routing.js index 6bf0f36..074d11a 100644 --- a/tests/browser/routing.js +++ b/tests/browser/routing.js @@ -163,4 +163,21 @@ test('routing', function (t) { app.start() }) + + t.test('prev.params always exists', function (t) { + t.plan(1) + + const choo = require('../..') + const app = choo() + + app.router('/users/123', (route) => [ + route('/users', [ + route('/:user', function (state, prev) { + t.ok(prev.params) + }) + ]) + ]) + + app.start() + }) })