From a7968d5c616de754b29ed3495df8c431c47996e7 Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Wed, 6 Jun 2018 15:36:29 +0200 Subject: [PATCH] fix #49628 --- src/vs/base/common/uri.ts | 2 +- src/vs/base/test/common/uri.test.ts | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/vs/base/common/uri.ts b/src/vs/base/common/uri.ts index a84bfc7338e..412efc17388 100644 --- a/src/vs/base/common/uri.ts +++ b/src/vs/base/common/uri.ts @@ -565,7 +565,7 @@ function _asFormatted(uri: URI, skipEncoding: boolean): string { } if (fragment) { res += '#'; - res += encoder(fragment, false); + res += !skipEncoding ? encodeURIComponentFast(fragment, false) : fragment; } return res; } diff --git a/src/vs/base/test/common/uri.test.ts b/src/vs/base/test/common/uri.test.ts index 597ffe35e61..618a56a1493 100644 --- a/src/vs/base/test/common/uri.test.ts +++ b/src/vs/base/test/common/uri.test.ts @@ -451,6 +451,16 @@ suite('URI', () => { assert.equal(fileUri2.authority, ''); }); + test('Ctrl click to follow hash query param url gets urlencoded #49628', function () { + let input = 'http://localhost:3000/#/foo?bar=baz'; + let uri = URI.parse(input); + assert.equal(uri.toString(true), input); + + input = 'http://localhost:3000/foo?bar=baz'; + uri = URI.parse(input); + assert.equal(uri.toString(true), input); + }); + test('URI - (de)serialize', function () { var values = [ -- GitLab