Do not encode "," when redirecting /projects/ -> /repos/ Bug: Issue 11096 Change-Id: Id3eb92254f25e8e86568be50c11e60d1a6835af9
diff --git a/polygerrit-ui/app/elements/core/gr-router/gr-router.js b/polygerrit-ui/app/elements/core/gr-router/gr-router.js index b534a76..72566cc 100644 --- a/polygerrit-ui/app/elements/core/gr-router/gr-router.js +++ b/polygerrit-ui/app/elements/core/gr-router/gr-router.js
@@ -1092,11 +1092,16 @@ }, _handleProjectsOldRoute(data) { + let params = ''; if (data.params[1]) { - this._redirect('/admin/repos/' + encodeURIComponent(data.params[1])); - } else { - this._redirect('/admin/repos'); + params = encodeURIComponent(data.params[1]); + if (data.params[1].includes(',')) { + params = + encodeURIComponent(data.params[1]).replace('%2C', ','); + } } + + this._redirect(`/admin/repos/${params}`); }, _handleRepoCommandsRoute(data) {
diff --git a/polygerrit-ui/app/elements/core/gr-router/gr-router_test.html b/polygerrit-ui/app/elements/core/gr-router/gr-router_test.html index 43bd384..b4b8f59 100644 --- a/polygerrit-ui/app/elements/core/gr-router/gr-router_test.html +++ b/polygerrit-ui/app/elements/core/gr-router/gr-router_test.html
@@ -1100,6 +1100,28 @@ }); suite('repo routes', () => { + test('_handleProjectsOldRoute', () => { + const data = {params: {}}; + element._handleProjectsOldRoute(data); + assert.isTrue(redirectStub.calledOnce); + assert.equal(redirectStub.lastCall.args[0], '/admin/repos/'); + }); + + test('_handleProjectsOldRoute test', () => { + const data = {params: {1: 'test'}}; + element._handleProjectsOldRoute(data); + assert.isTrue(redirectStub.calledOnce); + assert.equal(redirectStub.lastCall.args[0], '/admin/repos/test'); + }); + + test('_handleProjectsOldRoute test,branches', () => { + const data = {params: {1: 'test,branches'}}; + element._handleProjectsOldRoute(data); + assert.isTrue(redirectStub.calledOnce); + assert.equal( + redirectStub.lastCall.args[0], '/admin/repos/test,branches'); + }); + test('_handleRepoRoute', () => { const data = {params: {0: 4321}}; assertDataToParams(data, '_handleRepoRoute', {