Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: test/regexpFilters_matching.js

Issue 29375915: Issue 4878 - Start using ESLint for adblockpluscore (Closed)
Patch Set: Rebased. Created Feb. 28, 2017, 3:55 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * This file is part of Adblock Plus <https://adblockplus.org/>, 2 * This file is part of Adblock Plus <https://adblockplus.org/>,
3 * Copyright (C) 2006-2016 Eyeo GmbH 3 * Copyright (C) 2006-2016 Eyeo GmbH
4 * 4 *
5 * Adblock Plus is free software: you can redistribute it and/or modify 5 * Adblock Plus is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 3 as 6 * it under the terms of the GNU General Public License version 3 as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
8 * 8 *
9 * Adblock Plus is distributed in the hope that it will be useful, 9 * Adblock Plus is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details. 12 * GNU General Public License for more details.
13 * 13 *
14 * You should have received a copy of the GNU General Public License 14 * You should have received a copy of the GNU General Public License
15 * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. 15 * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>.
16 */ 16 */
17 17
18 "use strict"; 18 "use strict";
19 19
20 let {createSandbox} = require("./_common"); 20 const {createSandbox} = require("./_common");
21 21
22 let Filter = null; 22 let Filter = null;
23 let RegExpFilter = null; 23 let RegExpFilter = null;
24 24
25 exports.setUp = function(callback) 25 exports.setUp = function(callback)
26 { 26 {
27 let sandboxedRequire = createSandbox(); 27 let sandboxedRequire = createSandbox();
28 ( 28 (
29 {Filter, RegExpFilter} = sandboxedRequire("../lib/filterClasses") 29 {Filter, RegExpFilter} = sandboxedRequire("../lib/filterClasses")
30 ); 30 );
31 31
32 callback(); 32 callback();
33 }; 33 };
34 34
35 35
36 36
37 function testMatchInternal(test, text, location, contentType, docDomain, thirdPa rty, sitekey, expected)
38 {
39 let filter = Filter.fromText(text);
40 let result = filter.matches(location, RegExpFilter.typeMap[contentType], docDo main, thirdParty, sitekey);
41 test.equal(!!result, expected, '"' + text + '".matches(' + location + ", " + c ontentType + ", " + docDomain + ", " + (thirdParty ? "third-party" : "first-part y") + ", " + (sitekey || "no-sitekey") + ")");
42 }
Wladimir Palant 2017/03/02 14:07:08 Why move an internal function outside the function
kzar 2017/03/08 12:33:56 I did this since we were violating no-shadow for t
43
37 function testMatch(test, text, location, contentType, docDomain, thirdParty, sit ekey, expected) 44 function testMatch(test, text, location, contentType, docDomain, thirdParty, sit ekey, expected)
38 { 45 {
39 function testMatch_internal(text, location, contentType, docDomain, thirdParty , sitekey, expected) 46 testMatchInternal(test, text, location, contentType, docDomain, thirdParty, si tekey, expected);
40 {
41 let filter = Filter.fromText(text);
42 let result = filter.matches(location, RegExpFilter.typeMap[contentType], doc Domain, thirdParty, sitekey);
43 test.equal(!!result, expected, '"' + text + '".matches(' + location + ", " + contentType + ", " + docDomain + ", " + (thirdParty ? "third-party" : "first-pa rty") + ", " + (sitekey || "no-sitekey") + ")");
44 }
45 testMatch_internal(text, location, contentType, docDomain, thirdParty, sitekey , expected);
46 if (!/^@@/.test(text)) 47 if (!/^@@/.test(text))
47 testMatch_internal("@@" + text, location, contentType, docDomain, thirdParty , sitekey, expected); 48 testMatchInternal(test, "@@" + text, location, contentType, docDomain, third Party, sitekey, expected);
48 } 49 }
49 50
50 exports.testBasicFilters = function(test) 51 exports.testBasicFilters = function(test)
51 { 52 {
52 testMatch(test, "abc", "http://abc/adf", "IMAGE", null, false, null, true); 53 testMatch(test, "abc", "http://abc/adf", "IMAGE", null, false, null, true);
53 testMatch(test, "abc", "http://ABC/adf", "IMAGE", null, false, null, true); 54 testMatch(test, "abc", "http://ABC/adf", "IMAGE", null, false, null, true);
54 testMatch(test, "abc", "http://abd/adf", "IMAGE", null, false, null, false); 55 testMatch(test, "abc", "http://abd/adf", "IMAGE", null, false, null, false);
55 testMatch(test, "|abc", "http://abc/adf", "IMAGE", null, false, null, false); 56 testMatch(test, "|abc", "http://abc/adf", "IMAGE", null, false, null, false);
56 testMatch(test, "|http://abc", "http://abc/adf", "IMAGE", null, false, null, t rue); 57 testMatch(test, "|http://abc", "http://abc/adf", "IMAGE", null, false, null, t rue);
57 testMatch(test, "abc|", "http://abc/adf", "IMAGE", null, false, null, false); 58 testMatch(test, "abc|", "http://abc/adf", "IMAGE", null, false, null, false);
(...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 testMatch(test, "@@test$document,~image", "http://test/", "DOCUMENT", null, fa lse, null, true); 355 testMatch(test, "@@test$document,~image", "http://test/", "DOCUMENT", null, fa lse, null, true);
355 testMatch(test, "@@test$document,domain=foo.com", "http://test/", "DOCUMENT", "foo.com", false, null, true); 356 testMatch(test, "@@test$document,domain=foo.com", "http://test/", "DOCUMENT", "foo.com", false, null, true);
356 testMatch(test, "@@test$document,domain=foo.com", "http://test/", "DOCUMENT", "bar.com", false, null, false); 357 testMatch(test, "@@test$document,domain=foo.com", "http://test/", "DOCUMENT", "bar.com", false, null, false);
357 testMatch(test, "@@test$document,domain=~foo.com", "http://test/", "DOCUMENT", "foo.com", false, null, false); 358 testMatch(test, "@@test$document,domain=~foo.com", "http://test/", "DOCUMENT", "foo.com", false, null, false);
358 testMatch(test, "@@test$document,domain=~foo.com", "http://test/", "DOCUMENT", "bar.com", false, null, true); 359 testMatch(test, "@@test$document,domain=~foo.com", "http://test/", "DOCUMENT", "bar.com", false, null, true);
359 testMatch(test, "@@test$document,sitekey=foo-publickey", "http://test/", "DOCU MENT", "foo.com", false, "foo-publickey", true); 360 testMatch(test, "@@test$document,sitekey=foo-publickey", "http://test/", "DOCU MENT", "foo.com", false, "foo-publickey", true);
360 testMatch(test, "@@test$document,sitekey=foo-publickey", "http://test/", "DOCU MENT", "foo.com", false, null, false); 361 testMatch(test, "@@test$document,sitekey=foo-publickey", "http://test/", "DOCU MENT", "foo.com", false, null, false);
361 362
362 test.done(); 363 test.done();
363 }; 364 };
OLDNEW

Powered by Google App Engine
This is Rietveld