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

Unified Diff: test/subscriptionClasses.js

Issue 30025555: Issue 6820 - Move tests to mocha (Closed) Base URL: https://hg.adblockplus.org/adblockpluscore/
Patch Set: Rebased. Created April 5, 2019, 4:16 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 | « test/snippets.js ('k') | test/synchronizer.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/subscriptionClasses.js
===================================================================
--- a/test/subscriptionClasses.js
+++ b/test/subscriptionClasses.js
@@ -12,206 +12,202 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>.
*/
"use strict";
+const assert = require("assert");
const {createSandbox} = require("./_common");
let f$ = null;
let Subscription = null;
let SpecialSubscription = null;
let DownloadableSubscription = null;
let RegularSubscription = null;
let ExternalSubscription = null;
let Filter = null;
-exports.setUp = function(callback)
-{
- let sandboxedRequire = createSandbox();
- (
- {Subscription, SpecialSubscription,
- DownloadableSubscription, RegularSubscription,
- ExternalSubscription} = sandboxedRequire("../lib/subscriptionClasses"),
- {Filter} = sandboxedRequire("../lib/filterClasses")
- );
-
- f$ = Filter.fromText;
-
- callback();
-};
-
-function compareSubscription(test, url, expected, postInit)
+describe("Subscription Classes", () =>
{
- expected.push("[Subscription]");
- let subscription = Subscription.fromURL(url);
- if (postInit)
- postInit(subscription);
- let result = [...subscription.serialize()];
- test.equal(result.sort().join("\n"), expected.sort().join("\n"), url);
-
- let map = Object.create(null);
- for (let line of result.slice(1))
+ beforeEach(() =>
{
- if (/(.*?)=(.*)/.test(line))
- map[RegExp.$1] = RegExp.$2;
- }
- let subscription2 = Subscription.fromObject(map);
- test.equal(subscription.toString(), subscription2.toString(), url + " deserialization");
-}
+ let sandboxedRequire = createSandbox();
+ (
+ {Subscription, SpecialSubscription,
+ DownloadableSubscription, RegularSubscription,
+ ExternalSubscription} = sandboxedRequire("../lib/subscriptionClasses"),
+ {Filter} = sandboxedRequire("../lib/filterClasses")
+ );
-function compareSubscriptionFilters(test, subscription, expected)
-{
- test.deepEqual([...subscription.filterText()], expected);
-
- test.equal(subscription.filterCount, expected.length);
-
- for (let i = 0; i < subscription.filterCount; i++)
- test.equal(subscription.filterTextAt(i), expected[i]);
+ f$ = Filter.fromText;
+ });
- test.ok(!subscription.filterTextAt(subscription.filterCount));
- test.ok(!subscription.filterTextAt(-1));
-}
+ function compareSubscription(url, expected, postInit)
+ {
+ expected.push("[Subscription]");
+ let subscription = Subscription.fromURL(url);
+ if (postInit)
+ postInit(subscription);
+ let result = [...subscription.serialize()];
+ assert.equal(result.sort().join("\n"), expected.sort().join("\n"), url);
-exports.testSubscriptionClassDefinitions = function(test)
-{
- test.equal(typeof Subscription, "function", "typeof Subscription");
- test.equal(typeof SpecialSubscription, "function", "typeof SpecialSubscription");
- test.equal(typeof RegularSubscription, "function", "typeof RegularSubscription");
- test.equal(typeof ExternalSubscription, "function", "typeof ExternalSubscription");
- test.equal(typeof DownloadableSubscription, "function", "typeof DownloadableSubscription");
-
- test.done();
-};
-
-exports.testSubscriptionsWithState = function(test)
-{
- compareSubscription(test, "~fl~", ["url=~fl~"]);
- compareSubscription(test, "http://test/default", ["url=http://test/default", "title=http://test/default"]);
- compareSubscription(
- test, "http://test/default_titled", ["url=http://test/default_titled", "title=test"],
- subscription =>
+ let map = Object.create(null);
+ for (let line of result.slice(1))
{
- subscription.title = "test";
- }
- );
- compareSubscription(
- test, "http://test/non_default",
- [
- "url=http://test/non_default", "type=ads", "title=test", "disabled=true",
- "lastSuccess=8", "lastDownload=12", "lastCheck=16", "softExpiration=18",
- "expires=20", "downloadStatus=foo", "errors=3", "version=24",
- "requiredVersion=0.6"
- ],
- subscription =>
- {
- subscription.type = "ads";
- subscription.title = "test";
- subscription.disabled = true;
- subscription.lastSuccess = 8;
- subscription.lastDownload = 12;
- subscription.lastCheck = 16;
- subscription.softExpiration = 18;
- subscription.expires = 20;
- subscription.downloadStatus = "foo";
- subscription.errors = 3;
- subscription.version = 24;
- subscription.requiredVersion = "0.6";
+ if (/(.*?)=(.*)/.test(line))
+ map[RegExp.$1] = RegExp.$2;
}
- );
- compareSubscription(
- test, "~wl~", ["url=~wl~", "disabled=true", "title=Test group"],
- subscription =>
- {
- subscription.title = "Test group";
- subscription.disabled = true;
- }
- );
+ let subscription2 = Subscription.fromObject(map);
+ assert.equal(subscription.toString(), subscription2.toString(), url + " deserialization");
+ }
+
+ function compareSubscriptionFilters(subscription, expected)
+ {
+ assert.deepEqual([...subscription.filterText()], expected);
+
+ assert.equal(subscription.filterCount, expected.length);
+
+ for (let i = 0; i < subscription.filterCount; i++)
+ assert.equal(subscription.filterTextAt(i), expected[i]);
- test.done();
-};
+ assert.ok(!subscription.filterTextAt(subscription.filterCount));
+ assert.ok(!subscription.filterTextAt(-1));
+ }
-exports.testFilterManagement = function(test)
-{
- let subscription = Subscription.fromURL("https://example.com/");
-
- compareSubscriptionFilters(test, subscription, []);
-
- subscription.addFilter(f$("##.foo"));
- compareSubscriptionFilters(test, subscription, ["##.foo"]);
- test.equal(subscription.searchFilter(f$("##.foo")), 0);
+ it("Definitions", () =>
+ {
+ assert.equal(typeof Subscription, "function", "typeof Subscription");
+ assert.equal(typeof SpecialSubscription, "function", "typeof SpecialSubscription");
+ assert.equal(typeof RegularSubscription, "function", "typeof RegularSubscription");
+ assert.equal(typeof ExternalSubscription, "function", "typeof ExternalSubscription");
+ assert.equal(typeof DownloadableSubscription, "function", "typeof DownloadableSubscription");
+ });
- subscription.addFilter(f$("##.bar"));
- compareSubscriptionFilters(test, subscription, ["##.foo", "##.bar"]);
- test.equal(subscription.searchFilter(f$("##.bar")), 1);
-
- // Repeat filter.
- subscription.addFilter(f$("##.bar"));
- compareSubscriptionFilters(test, subscription, ["##.foo", "##.bar",
- "##.bar"]);
-
- // The first occurrence is found.
- test.equal(subscription.searchFilter(f$("##.bar")), 1);
+ it("Subscription with state", () =>
+ {
+ compareSubscription("~fl~", ["url=~fl~"]);
+ compareSubscription("http://test/default", ["url=http://test/default", "title=http://test/default"]);
+ compareSubscription(
+ "http://test/default_titled", ["url=http://test/default_titled", "title=test"],
+ subscription =>
+ {
+ subscription.title = "test";
+ }
+ );
+ compareSubscription(
+ "http://test/non_default",
+ [
+ "url=http://test/non_default", "type=ads", "title=test", "disabled=true",
+ "lastSuccess=8", "lastDownload=12", "lastCheck=16", "softExpiration=18",
+ "expires=20", "downloadStatus=foo", "errors=3", "version=24",
+ "requiredVersion=0.6"
+ ],
+ subscription =>
+ {
+ subscription.type = "ads";
+ subscription.title = "test";
+ subscription.disabled = true;
+ subscription.lastSuccess = 8;
+ subscription.lastDownload = 12;
+ subscription.lastCheck = 16;
+ subscription.softExpiration = 18;
+ subscription.expires = 20;
+ subscription.downloadStatus = "foo";
+ subscription.errors = 3;
+ subscription.version = 24;
+ subscription.requiredVersion = "0.6";
+ }
+ );
+ compareSubscription(
+ "~wl~", ["url=~wl~", "disabled=true", "title=Test group"],
+ subscription =>
+ {
+ subscription.title = "Test group";
+ subscription.disabled = true;
+ }
+ );
+ });
- subscription.deleteFilterAt(0);
- compareSubscriptionFilters(test, subscription, ["##.bar", "##.bar"]);
- test.equal(subscription.searchFilter(f$("##.bar")), 0);
-
- subscription.insertFilterAt(f$("##.foo"), 0);
- compareSubscriptionFilters(test, subscription, ["##.foo", "##.bar",
- "##.bar"]);
- test.equal(subscription.searchFilter(f$("##.bar")), 1);
-
- subscription.deleteFilterAt(1);
- compareSubscriptionFilters(test, subscription, ["##.foo", "##.bar"]);
- test.equal(subscription.searchFilter(f$("##.bar")), 1);
+ it("Filter Management", () =>
+ {
+ let subscription = Subscription.fromURL("https://example.com/");
- subscription.deleteFilterAt(1);
- compareSubscriptionFilters(test, subscription, ["##.foo"]);
- test.equal(subscription.searchFilter(f$("##.bar")), -1);
+ compareSubscriptionFilters(subscription, []);
+
+ subscription.addFilter(f$("##.foo"));
+ compareSubscriptionFilters(subscription, ["##.foo"]);
+ assert.equal(subscription.searchFilter(f$("##.foo")), 0);
- subscription.addFilter(f$("##.bar"));
- compareSubscriptionFilters(test, subscription, ["##.foo", "##.bar"]);
- test.equal(subscription.searchFilter(f$("##.bar")), 1);
+ subscription.addFilter(f$("##.bar"));
+ compareSubscriptionFilters(subscription, ["##.foo", "##.bar"]);
+ assert.equal(subscription.searchFilter(f$("##.bar")), 1);
+
+ // Repeat filter.
+ subscription.addFilter(f$("##.bar"));
+ compareSubscriptionFilters(subscription, ["##.foo", "##.bar",
+ "##.bar"]);
+
+ // The first occurrence is found.
+ assert.equal(subscription.searchFilter(f$("##.bar")), 1);
- subscription.clearFilters();
- compareSubscriptionFilters(test, subscription, []);
- test.equal(subscription.searchFilter(f$("##.foo")), -1);
- test.equal(subscription.searchFilter(f$("##.bar")), -1);
+ subscription.deleteFilterAt(0);
+ compareSubscriptionFilters(subscription, ["##.bar", "##.bar"]);
+ assert.equal(subscription.searchFilter(f$("##.bar")), 0);
+
+ subscription.insertFilterAt(f$("##.foo"), 0);
+ compareSubscriptionFilters(subscription, ["##.foo", "##.bar",
+ "##.bar"]);
+ assert.equal(subscription.searchFilter(f$("##.bar")), 1);
- subscription.addFilter(f$("##.bar"));
- compareSubscriptionFilters(test, subscription, ["##.bar"]);
+ subscription.deleteFilterAt(1);
+ compareSubscriptionFilters(subscription, ["##.foo", "##.bar"]);
+ assert.equal(subscription.searchFilter(f$("##.bar")), 1);
- subscription.addFilter(f$("##.foo"));
- compareSubscriptionFilters(test, subscription, ["##.bar", "##.foo"]);
- test.equal(subscription.searchFilter(f$("##.bar")), 0);
- test.equal(subscription.searchFilter(f$("##.foo")), 1);
+ subscription.deleteFilterAt(1);
+ compareSubscriptionFilters(subscription, ["##.foo"]);
+ assert.equal(subscription.searchFilter(f$("##.bar")), -1);
+
+ subscription.addFilter(f$("##.bar"));
+ compareSubscriptionFilters(subscription, ["##.foo", "##.bar"]);
+ assert.equal(subscription.searchFilter(f$("##.bar")), 1);
- // Insert outside of bounds.
- subscription.insertFilterAt(f$("##.lambda"), 1000);
- compareSubscriptionFilters(test, subscription, ["##.bar", "##.foo",
- "##.lambda"]);
- test.equal(subscription.searchFilter(f$("##.lambda")), 2);
+ subscription.clearFilters();
+ compareSubscriptionFilters(subscription, []);
+ assert.equal(subscription.searchFilter(f$("##.foo")), -1);
+ assert.equal(subscription.searchFilter(f$("##.bar")), -1);
+
+ subscription.addFilter(f$("##.bar"));
+ compareSubscriptionFilters(subscription, ["##.bar"]);
- // Delete outside of bounds.
- subscription.deleteFilterAt(1000);
- compareSubscriptionFilters(test, subscription, ["##.bar", "##.foo",
- "##.lambda"]);
- test.equal(subscription.searchFilter(f$("##.lambda")), 2);
+ subscription.addFilter(f$("##.foo"));
+ compareSubscriptionFilters(subscription, ["##.bar", "##.foo"]);
+ assert.equal(subscription.searchFilter(f$("##.bar")), 0);
+ assert.equal(subscription.searchFilter(f$("##.foo")), 1);
+
+ // Insert outside of bounds.
+ subscription.insertFilterAt(f$("##.lambda"), 1000);
+ compareSubscriptionFilters(subscription, ["##.bar", "##.foo",
+ "##.lambda"]);
+ assert.equal(subscription.searchFilter(f$("##.lambda")), 2);
- // Insert outside of bounds (negative).
- subscription.insertFilterAt(f$("##.lambda"), -1000);
- compareSubscriptionFilters(test, subscription, ["##.lambda", "##.bar",
- "##.foo", "##.lambda"]);
- test.equal(subscription.searchFilter(f$("##.lambda")), 0);
+ // Delete outside of bounds.
+ subscription.deleteFilterAt(1000);
+ compareSubscriptionFilters(subscription, ["##.bar", "##.foo",
+ "##.lambda"]);
+ assert.equal(subscription.searchFilter(f$("##.lambda")), 2);
- // Delete outside of bounds (negative).
- subscription.deleteFilterAt(-1000);
- compareSubscriptionFilters(test, subscription, ["##.lambda", "##.bar",
- "##.foo", "##.lambda"]);
- test.equal(subscription.searchFilter(f$("##.lambda")), 0);
+ // Insert outside of bounds (negative).
+ subscription.insertFilterAt(f$("##.lambda"), -1000);
+ compareSubscriptionFilters(subscription, ["##.lambda", "##.bar",
+ "##.foo", "##.lambda"]);
+ assert.equal(subscription.searchFilter(f$("##.lambda")), 0);
- test.done();
-};
+ // Delete outside of bounds (negative).
+ subscription.deleteFilterAt(-1000);
+ compareSubscriptionFilters(subscription, ["##.lambda", "##.bar",
+ "##.foo", "##.lambda"]);
+ assert.equal(subscription.searchFilter(f$("##.lambda")), 0);
+ });
+});
« no previous file with comments | « test/snippets.js ('k') | test/synchronizer.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld