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

Unified Diff: chrome/content/tests/elemhide.js

Issue 29355735: Issue 4223 - Remove tests migrated to adblockpluscore (Closed)
Patch Set: Created Oct. 4, 2016, 1:19 p.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
« no previous file with comments | « chrome/content/tests/domainRestrictions.js ('k') | chrome/content/tests/filterClasses.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/content/tests/elemhide.js
diff --git a/chrome/content/tests/elemhide.js b/chrome/content/tests/elemhide.js
deleted file mode 100644
index 4b38bc6c221e9b60e3b37dd1fb2b76e1e4ceda73..0000000000000000000000000000000000000000
--- a/chrome/content/tests/elemhide.js
+++ /dev/null
@@ -1,194 +0,0 @@
-(function()
Wladimir Palant 2016/10/04 13:53:18 This test wasn't migrated, elemhide.js in adblockp
kzar 2016/10/04 14:20:43 Shit you're right, sorry. Resurrected this now.
-{
- let server = null;
- let frame = null;
-
- module("Element hiding", {
- setup: function()
- {
- prepareFilterComponents.call(this);
- preparePrefs.call(this);
-
- server = new nsHttpServer();
- server.start(1234);
-
- server.registerPathHandler("/test", function(metadata, response)
- {
- let body =
- '<body onload="document.dispatchEvent(new CustomEvent(\'abp:frameready\', {bubbles: true}));">' +
- '<div id="test1" class="testClass">foo</div>' +
- '<p id="test2" class="testClass">bar</p>' +
- '</body>';
- response.setStatusLine("1.1", "200", "OK");
- response.setHeader("Content-Type", "text/html; charset=utf-8");
- response.bodyOutputStream.write(body, body.length);
- });
-
- frame = document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", "browser");
- frame.setAttribute("type", "content");
- frame.setAttribute("disablehistory", "true");
- frame.style.visibility = "collapse";
- document.body.appendChild(frame);
- },
- teardown: function()
- {
- restoreFilterComponents.call(this);
- restorePrefs.call(this);
-
- stop();
- server.stop(function()
- {
- frame.parentElement.removeChild(frame);
-
- server = null;
- frame = null;
- start();
- });
- }
- });
-
- let tests = [
- [[], ["visible", "visible"]],
- [["#div(test1)"], ["hidden", "visible"]],
- [["localhost#div(test1)"], ["hidden", "visible"]],
- [["localhost#div(test1)", "foo,foo2#p(test2)"], ["hidden", "visible"]],
- [["localhost,foo#div(test1)", "foo,localhost#p(test2)"], ["hidden", "hidden"]],
- [["localhost#div(test1)", "localhost#p(test2)"], ["hidden", "hidden"]],
- [["foo#div(test1)", "foo#p(test2)"], ["visible", "visible"]],
-
- [["localhost#div(testClass)"], ["hidden", "visible"]],
- [["localhost#p(testClass)"], ["visible", "hidden"]],
- [["localhost#*(testClass)"], ["hidden", "hidden"]],
- [["localhost#div(testClass)", "localhost#p(test2)"], ["hidden", "hidden"]],
- [["localhost#p(testClass)", "localhost#p(test2)"], ["visible", "hidden"]],
- [["localhost#p(testClass)(test2)"], ["visible", "visible"]], // this filter is invalid, must be ignored
-
- [["localhost#*(id^=test)"], ["hidden", "hidden"]],
- [["localhost#p(id^=test)"], ["visible", "hidden"]],
- [["localhost#*(id$=2)"], ["visible", "hidden"]],
- [["localhost#p(id$=2)"], ["visible", "hidden"]],
- [["localhost#div(id$=2)"], ["visible", "visible"]],
-
- [["localhost#*(test1)(id^=test)"], ["hidden", "visible"]],
- [["localhost#*(testClass)(id^=test)"], ["hidden", "hidden"]],
- [["localhost#p(testClass)(id^=test)"], ["visible", "hidden"]],
- [["localhost#*(test1)(id$=2)"], ["visible", "visible"]],
- [["localhost#*(testClass)(id$=2)"], ["visible", "hidden"]],
- [["localhost#p(testClass)(id$=2)"], ["visible", "hidden"]],
-
- [["localhost#*(test1)(id^=test)(id$=2)"], ["visible", "visible"]],
- [["localhost#*(test1)(id^=test)(id$=1)"], ["hidden", "visible"]],
- [["localhost#p(test1)(id^=test)(id$=1)"], ["visible", "visible"]],
- [["localhost#div(test1)(id^=test)(id$=1)"], ["hidden", "visible"]],
- [["localhost#*(id^=test)(id$=2)"], ["visible", "hidden"]],
- [["localhost#*(id^=test)(id$=1)"], ["hidden", "visible"]],
- [["localhost#p(id^=test)(id$=1)"], ["visible", "visible"]],
- [["localhost#div(id^=test)(id$=1)"], ["hidden", "visible"]],
-
- [["localhost##div#test1"], ["hidden", "visible"]],
- [["localhost##p.testClass"], ["visible", "hidden"]],
- [["localhost##div#test1, p.testClass"], ["hidden", "hidden"]],
- [["localhost##div#test1", "localhost##p.testClass"], ["hidden", "hidden"]],
- [["localhost##.testClass"], ["hidden", "hidden"]],
-
- [["~localhost##div#test1"], ["visible", "visible"]],
- [["foo,~localhost##div#test1"], ["visible", "visible"]],
- [["localhost,~foo##div#test1"], ["hidden", "visible"]],
-
- [["###test1", "localhost#@##test1"], ["visible", "visible"]],
- [["localhost###test1", "localhost#@##test1"], ["visible", "visible"]],
- [["localhost,~foo###test1", "localhost#@##test1"], ["visible", "visible"]],
- [["###test1", "foo#@##test1"], ["hidden", "visible"]],
- [["###test1", "~foo#@##test1"], ["visible", "visible"]],
- [["###test1", "~localhost#@##test1"], ["hidden", "visible"]],
- [["###test1", "#@##test1"], ["visible", "visible"]],
- [["localhost###test1", "#@##test1"], ["visible", "visible"]],
-
- [["localhost.###test1"], ["visible", "visible"]],
- [["localhost.,localhost###test1"], ["hidden", "visible"]],
- [["localhost.,foo.###test1"], ["visible", "visible"]],
-
- [["##div#test1", "@@localhost$generichide"], ["visible", "visible"]],
- [["##div#test1", "@@localhost$genericblock"], ["hidden", "visible"]],
- [["localhost##div#test1", "@@localhost$generichide"], ["hidden", "visible"]],
- [["~example.com##div#test1", "@@localhost$generichide"], ["visible", "visible"]],
- [["~example.com##div#test1", "@@localhost$genericblock"], ["hidden", "visible"]],
- [["~example.com,localhost##div#test1", "@@localhost$generichide"], ["hidden", "visible"]],
- ];
-
- function runTest([filters, expected], stage)
- {
- let listener = function(action)
- {
- if (action != "elemhideupdate")
- return;
- FilterNotifier.removeListener(listener);
-
- if (stage == 2)
- defaultMatcher.add(Filter.fromText("@@||localhost^$document"));
- else if (stage == 3)
- defaultMatcher.add(Filter.fromText("@@||localhost^$~document"));
- else if (stage == 4)
- defaultMatcher.add(Filter.fromText("@@||localhost^$elemhide"));
-
- if (stage == 2 || stage == 4)
- expected = ["visible", "visible"]; // Second and forth runs are whitelisted, nothing should be hidden
-
- frame.addEventListener("abp:frameready", function()
- {
- let frameScript = `
- // The "load" event doesn't mean XBL bindings are done, these will
- // take longer to load (async messaging). Only check visibility after
- // sending a message to parent and receiving response.
- addMessageListener("pong", function()
- {
- let visibility = [
- content.document.getElementById("test1").offsetHeight > 0 ? "visible" : "hidden",
- content.document.getElementById("test2").offsetHeight > 0 ? "visible" : "hidden"
- ];
- sendAsyncMessage("visibility", visibility);
- });
- sendAsyncMessage("ping");
- `;
- frame.messageManager.addMessageListener("ping", () => frame.messageManager.sendAsyncMessage("pong"));
- frame.messageManager.addMessageListener("visibility", (message) =>
- {
- let visibility = message.data;
- equal(visibility[0], expected[0], "First element visible");
- equal(visibility[1], expected[1], "Second element visible");
-
- start();
- });
- frame.messageManager.loadFrameScript("data:text/javascript," + encodeURIComponent(frameScript), false);
- }, false, true);
- frame.setAttribute("src", "http://localhost:1234/test");
- };
- FilterNotifier.addListener(listener);
-
- for (let filter_text of filters)
- {
- let filter = Filter.fromText(filter_text);
- if (filter instanceof WhitelistFilter)
- defaultMatcher.add(filter);
- else
- ElemHide.add(filter);
- }
-
- ElemHide.isDirty = true;
- ElemHide.apply();
- }
-
- let stageDescriptions = {
- 1: "running without exceptions",
- 2: "running with whitelisted document",
- 3: "running with exception not applying to documents",
- 4: "running with element hiding exception",
- };
-
- for (let test = 0; test < tests.length; test++)
- {
- let [filters, expected] = tests[test];
- for (let stage = 1; stage in stageDescriptions; stage++)
- asyncTest(filters.join(", ") + " (" + stageDescriptions[stage] + ")", runTest.bind(null, tests[test], stage));
- }
-})();
« no previous file with comments | « chrome/content/tests/domainRestrictions.js ('k') | chrome/content/tests/filterClasses.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld