From e44f9619e9749f3f621a5bf0164b7d08eda294e4 Mon Sep 17 00:00:00 2001 From: Tim Wisniewski Date: Tue, 23 Aug 2016 05:45:53 -0400 Subject: [PATCH] prev.params should always exist (#227) --- index.js | 2 +- tests/browser/routing.js | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) 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() + }) })