Skip to content

Commit

Permalink
update aliases and compatibility table
Browse files Browse the repository at this point in the history
Squashed commit of the following:

commit 94ac7ab
Author: Slava Leleka <v.leleka@adguard.com>
Date:   Fri Sep 13 13:21:15 2024 +0300

    fix tests due to no aliases

commit 48d209b
Author: Slava Leleka <v.leleka@adguard.com>
Date:   Fri Sep 13 13:14:41 2024 +0300

    update aliases for prevent-adfly

commit 3c29417
Author: Slava Leleka <v.leleka@adguard.com>
Date:   Fri Sep 13 01:22:08 2024 +0300

    fix test

commit 0a0d590
Author: Slava Leleka <v.leleka@adguard.com>
Date:   Fri Sep 13 01:19:41 2024 +0300

    update aliases for prevent-fetch

commit 3b074a8
Author: Slava Leleka <v.leleka@adguard.com>
Date:   Fri Sep 13 01:15:46 2024 +0300

    no ubo alias support for trusted-replace-node-text

commit ff22189
Author: Slava Leleka <v.leleka@adguard.com>
Date:   Fri Sep 13 01:10:15 2024 +0300

    fix newline

commit 8bda13a
Merge: a403bb2 39ae8a6
Author: Slava Leleka <v.leleka@adguard.com>
Date:   Fri Sep 13 01:09:17 2024 +0300

    Merge branch 'master' into fix/compatibility-table-03

commit a403bb2
Merge: e992735 d8d25ec
Author: Slava Leleka <v.leleka@adguard.com>
Date:   Thu Aug 8 17:36:40 2024 +0300

    Merge branch 'master' into fix/compatibility-table-03

commit e992735
Author: Slava Leleka <v.leleka@adguard.com>
Date:   Wed Apr 24 16:45:50 2024 +0400

    cleanup compatibility table
  • Loading branch information
slavaleleka committed Sep 13, 2024
1 parent 39ae8a6 commit fea05dc
Show file tree
Hide file tree
Showing 10 changed files with 15 additions and 118 deletions.
24 changes: 2 additions & 22 deletions scripts/compatibility-table.json
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,7 @@
"abp": "log"
},
{
"adg": "log-addEventListener",
"ubo": "addEventListener-logger.js (aell.js) (removed)"
"adg": "log-addEventListener"
},
{
"adg": "log-eval"
Expand Down Expand Up @@ -145,8 +144,7 @@
"abp": "prevent-listener"
},
{
"adg": "prevent-adfly",
"ubo": "adfly-defuser.js (removed)"
"adg": "prevent-adfly"
},
{
"adg": "prevent-bab"
Expand Down Expand Up @@ -257,9 +255,6 @@
{
"ubo": "alert-buster.js"
},
{
"ubo": "golem.de.js (removed)"
},
{
"adg": "href-sanitizer",
"ubo": "href-sanitizer.js"
Expand Down Expand Up @@ -556,9 +551,6 @@
"adg": "set-popads-dummy",
"ubo": "popads-dummy.js"
},
{
"ubo": "addthis_widget.js (removed)"
},
{
"ubo": "amazon_ads.js"
},
Expand All @@ -584,24 +576,12 @@
{
"ubo": "hd-main.js"
},
{
"ubo": "ligatus_angular-tag.js (removed)"
},
{
"ubo": "monkeybroker.js (removed)"
},
{
"ubo": "outbrain-widget.js"
},
{
"ubo": "window.open-defuser.js (removed)"
},
{
"ubo": "noeval.js"
},
{
"ubo": "mxpnl_mixpanel.js (removed)"
},
{
"ubo": "noop-0.5s.mp3"
}
Expand Down
1 change: 1 addition & 0 deletions src/redirects/prevent-bab.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import { preventBab as preventBabScriptlet } from '../scriptlets/prevent-bab';
* @added v1.3.19.
*/
const preventBab = preventBabScriptlet;

preventBab.names = [
'prevent-bab',
// list of prevent-bab redirect aliases
Expand Down
5 changes: 1 addition & 4 deletions src/scriptlets/prevent-adfly.js
Original file line number Diff line number Diff line change
Expand Up @@ -90,10 +90,7 @@ export function preventAdfly(source) {

preventAdfly.names = [
'prevent-adfly',
// aliases are needed for matching the related scriptlet converted into our syntax
'adfly-defuser.js',
'ubo-adfly-defuser.js',
'ubo-adfly-defuser',
// there are no aliases for this scriptlet
];

preventAdfly.injections = [
Expand Down
2 changes: 1 addition & 1 deletion src/scriptlets/prevent-bab.js
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ export function preventBab(source) {

preventBab.names = [
'prevent-bab',
// there is no aliases for this scriptlet
// there are no aliases for this scriptlet
];

preventBab.injections = [hit];
3 changes: 3 additions & 0 deletions src/scriptlets/prevent-fetch.js
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,9 @@ export function preventFetch(source, propsToMatch, responseBody = 'emptyObj', re
preventFetch.names = [
'prevent-fetch',
// aliases are needed for matching the related scriptlet converted into our syntax
'prevent-fetch.js',
'ubo-prevent-fetch.js',
'ubo-prevent-fetch',
'no-fetch-if.js',
'ubo-no-fetch-if.js',
'ubo-no-fetch-if',
Expand Down
29 changes: 2 additions & 27 deletions src/scriptlets/trusted-replace-node-text.js
Original file line number Diff line number Diff line change
Expand Up @@ -85,40 +85,15 @@ import {
*/
/* eslint-enable max-len */
export function trustedReplaceNodeText(source, nodeName, textMatch, pattern, replacement, ...extraArgs) {
const uboAliases = [
'replace-node-text.js',
'rpnt.js',
'sed.js',
];

/**
* UBO replaceNodeText scriptlet has different signature:
* function replaceNodeText(nodeName, pattern, replacement, ...extraArgs) {...}
*
* with extra params being passed as ['paramname', paramvalue]
*/
if (uboAliases.includes(source.name)) {
replacement = pattern;
pattern = textMatch;
// eslint-disable-next-line prefer-destructuring, prefer-rest-params
for (let i = 0; i < extraArgs.length; i += 1) {
const arg = extraArgs[i];
if (arg === 'condition') {
textMatch = extraArgs[i + 1];
break;
}
}
}

const shouldLog = extraArgs.includes('verbose');

const {
selector,
nodeNameMatch,
textContentMatch,
patternMatch,
} = parseNodeTextParams(nodeName, textMatch, pattern);

const shouldLog = extraArgs.includes('verbose');

/**
* Handles nodes by removing text content of matched nodes
*
Expand Down
6 changes: 3 additions & 3 deletions tests/api/index.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -293,8 +293,8 @@ describe('Test scriptlet api methods', () => {
},
{
// scriptlet with no parameters
actual: 'example.com#%#//scriptlet("prevent-adfly")',
expected: 'example.com##+js(adfly-defuser)',
actual: 'example.com#%#//scriptlet("prevent-fab-3.2.0")',
expected: 'example.com##+js(nofab)',
},
{
actual: 'example.org#@%#//scriptlet(\'prevent-setTimeout\', \'[native code]\', \'8000\')',
Expand All @@ -310,7 +310,7 @@ describe('Test scriptlet api methods', () => {
},
{
actual: 'example.com#%#//scriptlet(\'prevent-fetch\', \'*\')',
expected: 'example.com##+js(no-fetch-if, /^/)',
expected: 'example.com##+js(prevent-fetch, /^/)',
},
{
actual: 'example.com#%#//scriptlet(\'close-window\')',
Expand Down
18 changes: 0 additions & 18 deletions tests/scriptlets/prevent-adfly.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,24 +16,6 @@ const afterEach = () => {

module(name, { beforeEach, afterEach });

test('Checking if alias name works', (assert) => {
const adgParams = {
name,
engine: 'test',
verbose: true,
};
const uboParams = {
name: 'ubo-adfly-defuser.js',
engine: 'test',
verbose: true,
};

const codeByAdgParams = window.scriptlets.invoke(adgParams);
const codeByUboParams = window.scriptlets.invoke(uboParams);

assert.strictEqual(codeByAdgParams, codeByUboParams, 'ubo name - ok');
});

test('ag works', (assert) => {
assert.expect(2);
const nativeDefineProperty = Object.defineProperty;
Expand Down
35 changes: 0 additions & 35 deletions tests/scriptlets/trusted-replace-node-text.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -90,41 +90,6 @@ test('using matchers as regexes', (assert) => {
}, 1);
});

test('arguments correctly reorganizing for ubo replace-node-text.js', (assert) => {
const done = assert.async();
const uboAlias = 'rpnt.js';

const nodeName = 'div';
const textMatch = 'content!';
const pattern = 'content';
const replacement = 'replaced';

const text = 'content!1';
const expectedText = 'replaced!1';

const nodeBefore = addNode('div', text);
const safeNodeBefore = addNode('a', text);

/**
* UBO replaceNodeText scriptlet has different signature:
* function replaceNodeText(nodeName, pattern, replacement, ...extraArgs) {...}
*/
runScriptlet(uboAlias, [nodeName, pattern, replacement, 'condition', textMatch]);

const nodeAfter = addNode('div', text);
const safeNodeAfter = addNode('span', text);
setTimeout(() => {
assert.strictEqual(nodeAfter.textContent, expectedText, 'text content should be modified');
assert.strictEqual(nodeBefore.textContent, expectedText, 'text content should be modified');

assert.strictEqual(safeNodeAfter.textContent, text, 'non-matched node should not be affected');
assert.strictEqual(safeNodeBefore.textContent, text, 'non-matched node should not be affected');

assert.strictEqual(window.hit, 'FIRED', 'hit function should fire');
done();
}, 1);
});

test('Log content', (assert) => {
// There are 7 "asserts" in test but node is modified two times
// so it's logged twice, that's why 9 is expected
Expand Down
10 changes: 2 additions & 8 deletions wiki/compatibility-table.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
| [googletagservices-gpt](../wiki/about-scriptlets.md#googletagservices-gpt) | | |
| [json-prune](../wiki/about-scriptlets.md#json-prune) | json-prune.js | json-prune |
| [log](../wiki/about-scriptlets.md#log) | | log |
| [log-addEventListener](../wiki/about-scriptlets.md#log-addEventListener) | addEventListener-logger.js (aell.js) (removed) | |
| [log-addEventListener](../wiki/about-scriptlets.md#log-addEventListener) | | |
| [log-eval](../wiki/about-scriptlets.md#log-eval) | | |
| [log-on-stack-trace](../wiki/about-scriptlets.md#log-on-stack-trace) | | |
| [m3u-prune](../wiki/about-scriptlets.md#m3u-prune) | m3u-prune.js | |
Expand All @@ -49,7 +49,7 @@
| [pardot-1.0](../wiki/about-scriptlets.md#pardot-1.0) | | |
| [prebid](../wiki/about-scriptlets.md#prebid) | | |
| [prevent-addEventListener](../wiki/about-scriptlets.md#prevent-addEventListener) | addEventListener-defuser.js (aeld.js, prevent-addEventListener.js) | prevent-listener |
| [prevent-adfly](../wiki/about-scriptlets.md#prevent-adfly) | adfly-defuser.js (removed) | |
| [prevent-adfly](../wiki/about-scriptlets.md#prevent-adfly) | | |
| [prevent-bab](../wiki/about-scriptlets.md#prevent-bab) | | |
| [prevent-element-src-loading](../wiki/about-scriptlets.md#prevent-element-src-loading) | | |
| [prevent-eval-if](../wiki/about-scriptlets.md#prevent-eval-if) | noeval-if.js (prevent-eval-if.js) | |
Expand Down Expand Up @@ -79,7 +79,6 @@
| | webrtc-if.js | |
| | overlay-buster.js | |
| | alert-buster.js | |
| | golem.de.js (removed) | |
| [href-sanitizer](../wiki/about-scriptlets.md#href-sanitizer) | href-sanitizer.js | |
| | | abort-on-iframe-property-read |
| | | abort-on-iframe-property-write |
Expand Down Expand Up @@ -169,7 +168,6 @@
| [prevent-popads-net](../wiki/about-redirects.md#prevent-popads-net) | popads.js | |
| [scorecardresearch-beacon](../wiki/about-redirects.md#scorecardresearch-beacon) | scorecardresearch_beacon.js | |
| [set-popads-dummy](../wiki/about-redirects.md#set-popads-dummy) | popads-dummy.js | |
| | addthis_widget.js (removed) | |
| | amazon_ads.js | |
| | ampproject_v0.js | |
| | chartbeat.js | |
Expand All @@ -178,10 +176,6 @@
| | google-analytics_cx_api.js | |
| | google-analytics_inpage_linkid.js | |
| | hd-main.js | |
| | ligatus_angular-tag.js (removed) | |
| | monkeybroker.js (removed) | |
| | outbrain-widget.js | |
| | window.open-defuser.js (removed) | |
| | noeval.js | |
| | mxpnl_mixpanel.js (removed) | |
| | noop-0.5s.mp3 | |

0 comments on commit fea05dc

Please sign in to comment.