From 8c508e4cc14eeab2a62c8597451062bab23c4f10 Mon Sep 17 00:00:00 2001 From: Maxim Topciu Date: Thu, 6 May 2021 14:34:13 +0300 Subject: [PATCH] AG-7790 do not remove equality sign if value is empty --- Extension/lib/utils/url.js | 7 ++++--- Extension/tests/url-filter/test-url-filter.js | 5 ++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Extension/lib/utils/url.js b/Extension/lib/utils/url.js index 311966b1de..12064cabc7 100644 --- a/Extension/lib/utils/url.js +++ b/Extension/lib/utils/url.js @@ -323,9 +323,10 @@ urlPieces[1] = urlPieces[1] .split('&') .filter(x => x) - .map(x => (x.includes('=') ? x : `${x}=`)) - .filter(x => x && !x.match(regExp)) - .map(x => (x.endsWith('=') ? x.substring(0, x.length - 1) : x)) + .filter((x) => { + const test = x.includes('=') ? x : `${x}=`; + return !test.match(regExp); + }) .join('&'); } diff --git a/Extension/tests/url-filter/test-url-filter.js b/Extension/tests/url-filter/test-url-filter.js index 51d14afd7d..1ac21a3a72 100644 --- a/Extension/tests/url-filter/test-url-filter.js +++ b/Extension/tests/url-filter/test-url-filter.js @@ -649,7 +649,10 @@ QUnit.module('$removeparam', () => { QUnit.test('$removeparam does not remove redundant url parts', (assert) => { const rule = new adguard.rules.UrlFilterRule('$removeparam=p1'); - const url = 'https://l-stat.livejournal.net/js/??.comments.js?v=1619510974'; + let url = 'https://l-stat.livejournal.net/js/??.comments.js?v=1619510974'; + assert.equal(rule.getRemoveparam().apply(`${url}`), `${url}`); + + url = 'http://example.com?stay=&stay2=2'; assert.equal(rule.getRemoveparam().apply(`${url}`), `${url}`); });