diff --git a/modules/PathUtils.js b/modules/PathUtils.js index f911d96001..82f37c0cf3 100644 --- a/modules/PathUtils.js +++ b/modules/PathUtils.js @@ -5,7 +5,7 @@ var qs = require('qs'); var paramCompileMatcher = /:([a-zA-Z_$][a-zA-Z0-9_$]*)|[*.()\[\]\\+|{}^$]/g; var paramInjectMatcher = /:([a-zA-Z_$][a-zA-Z0-9_$?]*[?]?)|[*]/g; var paramInjectTrailingSlashMatcher = /\/\/\?|\/\?\/|\/\?/g; -var queryMatcher = /\?(.+)/; +var queryMatcher = /\?(.*)$/; var _compiledPatterns = {}; diff --git a/modules/__tests__/Router-test.js b/modules/__tests__/Router-test.js index 4465af305b..daac5f55bb 100644 --- a/modules/__tests__/Router-test.js +++ b/modules/__tests__/Router-test.js @@ -648,6 +648,15 @@ describe('Router', function () { }); }); + it('renders with empty query string', function (done) { + var routes = ; + Router.run(routes, '/?', function (Handler, state) { + var html = React.renderToString(); + expect(html).toMatch(/Foo/); + done(); + }); + }); + it('executes transition hooks when only the query changes', function (done) { var fromKnifeCalled = false; var fromSpoonCalled = false;