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

Unified Diff: test/elemHide.js

Issue 29349187: Issue 4167 - getSelectorsForDomain criteria + keys (Closed)
Patch Set: Remove unrelated changes Created Sept. 20, 2016, 7:56 a.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« lib/elemHide.js ('K') | « lib/elemHide.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/elemHide.js
diff --git a/test/elemHide.js b/test/elemHide.js
index b93baa4e4400ec3a923fb6ad515e874206128154..76d3827c3fe209c243ac9163898a10c6fe3e7a05 100644
--- a/test/elemHide.js
+++ b/test/elemHide.js
@@ -41,10 +41,13 @@ exports.testGetSelectorsForDomain = function(test)
return index == 0 || selector != selectors[index - 1];
});
}
- function selectorsEqual(domain, expectedSelectors, specificOnly)
+ function selectorsEqual(domain, expectedSelectors, specificOnly,
+ noUnconditional, provideFilterKeys)
{
test.deepEqual(
- normalizeSelectors(ElemHide.getSelectorsForDomain(domain, specificOnly)),
+ normalizeSelectors(ElemHide.getSelectorsForDomain(
+ domain, specificOnly, noUnconditional, provideFilterKeys
+ )),
normalizeSelectors(expectedSelectors)
);
}
@@ -159,7 +162,37 @@ exports.testGetSelectorsForDomain = function(test)
selectorsEqual("example.com", ["foo"]);
selectorsEqual("com", ["foo"]);
selectorsEqual("", ["foo"]);
- removeFilter("example.org##foo");
+ removeFilter("~example.org##foo");
+
+ // Test specificOnly and noUnconditional
+ addFilter("~example.com##foo");
Wladimir Palant 2016/09/20 10:36:07 Please add at least one unconditional filter, othe
kzar 2016/09/20 14:23:48 Done.
+ selectorsEqual("foo.com", [], true, false);
+ selectorsEqual("foo.com", ["foo"], false, true);
Wladimir Palant 2016/09/20 10:36:08 You are not testing the scenario where both specif
kzar 2016/09/20 14:23:49 Done. (I use slightly different logic for the chec
+ addFilter("foo.com##foo");
+ selectorsEqual("foo.com", ["foo"], true, false);
+ selectorsEqual("foo.com", ["foo"], false, true);
+ removeFilter("foo.com##foo");
+ removeFilter("~example.org##foo");
+
+ // Test provideFilterKeys
+ addFilter("~foo.com##nope");
+ addFilter("##foo");
+ addFilter("##bar");
+ addFilter("##hello");
+ addFilter("##world");
+ let selectorsWithKeys = ElemHide.getSelectorsForDomain("foo.com", false,
Wladimir Palant 2016/09/20 10:36:08 How about: let [selectors, filterKeys] = ...
kzar 2016/09/20 14:23:48 Done.
+ false, true);
+ let selectors = selectorsWithKeys[0];
+ let filterKeys = selectorsWithKeys[1];
+ test.deepEqual(filterKeys.map(k => ElemHide.getFilterByKey(k).selector),
+ selectors);
+ test.deepEqual(normalizeSelectors(selectors),
+ normalizeSelectors(["bar", "foo", "hello", "world"]));
Wladimir Palant 2016/09/20 10:36:08 One-time correctness test is definitely not suffic
kzar 2016/09/20 14:23:48 I've made it so the filter keys are tested for all
+ removeFilter("##world");
+ removeFilter("##hello");
+ removeFilter("##bar");
+ removeFilter("##foo");
+ removeFilter("~foo.com##nope");
test.done();
};
« lib/elemHide.js ('K') | « lib/elemHide.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld