Left: | ||
Right: |
LEFT | RIGHT |
---|---|
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-2017 eyeo GmbH | 3 * Copyright (C) 2006-2017 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 |
(...skipping 23 matching lines...) Expand all Loading... | |
34 ( | 34 ( |
35 {Filter} = sandboxedRequire("../lib/filterClasses"), | 35 {Filter} = sandboxedRequire("../lib/filterClasses"), |
36 {FilterNotifier} = sandboxedRequire("../lib/filterNotifier"), | 36 {FilterNotifier} = sandboxedRequire("../lib/filterNotifier"), |
37 {FilterStorage} = sandboxedRequire("../lib/filterStorage"), | 37 {FilterStorage} = sandboxedRequire("../lib/filterStorage"), |
38 {IO} = sandboxedRequire("./stub-modules/io"), | 38 {IO} = sandboxedRequire("./stub-modules/io"), |
39 {Prefs} = sandboxedRequire("./stub-modules/prefs"), | 39 {Prefs} = sandboxedRequire("./stub-modules/prefs"), |
40 {Subscription, ExternalSubscription} = sandboxedRequire("../lib/subscription Classes") | 40 {Subscription, ExternalSubscription} = sandboxedRequire("../lib/subscription Classes") |
41 ); | 41 ); |
42 | 42 |
43 Prefs.patternsfile = "patterns.ini"; | 43 Prefs.patternsfile = "patterns.ini"; |
44 dataFile = IO.resolveFilePath(Prefs.patternsfile); | 44 dataFile = IO.resolveFilePath(Prefs.patternsfile); |
kzar
2017/04/05 04:00:15
Shouldn't dataFile be assigned inside the setUp fu
Wladimir Palant
2017/04/05 07:14:24
Isn't it? We are still inside setUp.
kzar
2017/04/05 10:08:58
Argh sorry, so it is.
| |
45 | 45 |
46 FilterStorage.addFilter(Filter.fromText("foobar")); | 46 FilterStorage.addFilter(Filter.fromText("foobar")); |
Wladimir Palant
2017/04/04 12:11:16
Calling FilterStorage.addFilter() has essentially
kzar
2017/04/05 04:00:15
Acknowledged.
| |
47 callback(); | 47 callback(); |
48 }; | 48 }; |
49 | 49 |
50 let testData = new Promise((resolve, reject) => | 50 let testData = new Promise((resolve, reject) => |
51 { | 51 { |
52 const fs = require("fs"); | 52 const fs = require("fs"); |
53 const path = require("path"); | 53 const path = require("path"); |
54 let datapath = path.resolve(__dirname, "data", "patterns.ini"); | 54 let datapath = path.resolve(__dirname, "data", "patterns.ini"); |
55 | 55 |
56 fs.readFile(datapath, "utf-8", (error, data) => | 56 fs.readFile(datapath, "utf-8", (error, data) => |
(...skipping 10 matching lines...) Expand all Loading... | |
67 FilterStorage.loadFromDisk(); | 67 FilterStorage.loadFromDisk(); |
68 return FilterNotifier.once("load"); | 68 return FilterNotifier.once("load"); |
69 } | 69 } |
70 | 70 |
71 function saveFilters() | 71 function saveFilters() |
72 { | 72 { |
73 FilterStorage.saveToDisk(); | 73 FilterStorage.saveToDisk(); |
74 return FilterNotifier.once("save"); | 74 return FilterNotifier.once("save"); |
75 } | 75 } |
76 | 76 |
77 function canonize(data) | 77 function canonize(data) |
Wladimir Palant
2017/04/04 12:11:16
This function was merely moved so that it can be u
kzar
2017/04/05 04:00:15
Acknowledged.
| |
78 { | 78 { |
79 let curSection = null; | 79 let curSection = null; |
80 let sections = []; | 80 let sections = []; |
81 for (let line of (data + "\n[end]").split(/[\r\n]+/)) | 81 for (let line of (data + "\n[end]").split(/[\r\n]+/)) |
82 { | 82 { |
83 if (/^\[.*\]$/.test(line)) | 83 if (/^\[.*\]$/.test(line)) |
84 { | 84 { |
85 if (curSection) | 85 if (curSection) |
86 sections.push(curSection); | 86 sections.push(curSection); |
87 | 87 |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
300 | 300 |
301 test.ok(!backupFile3.exists(), "Third backup not created with patternsbackup s = 2"); | 301 test.ok(!backupFile3.exists(), "Third backup not created with patternsbackup s = 2"); |
302 }).catch(unexpectedError.bind(test)).then(() => test.done()); | 302 }).catch(unexpectedError.bind(test)).then(() => test.done()); |
303 }; | 303 }; |
304 | 304 |
305 exports.testRestoringBackup = function(test) | 305 exports.testRestoringBackup = function(test) |
306 { | 306 { |
307 Prefs.patternsbackups = 2; | 307 Prefs.patternsbackups = 2; |
308 Prefs.patternsbackupinterval = 24; | 308 Prefs.patternsbackupinterval = 24; |
309 | 309 |
310 let backupFile = dataFile.clone(); | |
311 backupFile.leafName = backupFile.leafName.replace(/\.ini$/, "-backup1.ini"); | |
Wladimir Palant
2017/04/04 12:11:16
This variable is unused - I already removed it loc
kzar
2017/04/05 04:00:15
If the variable's unused I don't mind it if you de
| |
312 | |
313 saveFilters().then(() => | 310 saveFilters().then(() => |
314 { | 311 { |
315 test.equal(FilterStorage.subscriptions.length, 1, "Initial subscription coun t"); | 312 test.equal(FilterStorage.subscriptions.length, 1, "Initial subscription coun t"); |
316 FilterStorage.removeSubscription(FilterStorage.subscriptions[0]); | 313 FilterStorage.removeSubscription(FilterStorage.subscriptions[0]); |
317 return saveFilters(); | 314 return saveFilters(); |
318 }).then(() => | 315 }).then(() => |
319 { | 316 { |
320 return loadFilters(); | 317 return loadFilters(); |
321 }).then(() => | 318 }).then(() => |
322 { | 319 { |
323 test.equal(FilterStorage.subscriptions.length, 0, "Subscription count after removing subscriptions and reloading"); | 320 test.equal(FilterStorage.subscriptions.length, 0, "Subscription count after removing subscriptions and reloading"); |
324 return FilterStorage.restoreBackup(1); | 321 return FilterStorage.restoreBackup(1); |
325 }).then(() => | 322 }).then(() => |
326 { | 323 { |
327 test.equal(FilterStorage.subscriptions.length, 1, "Subscription count after restoring backup"); | 324 test.equal(FilterStorage.subscriptions.length, 1, "Subscription count after restoring backup"); |
328 return loadFilters(); | 325 return loadFilters(); |
329 }).then(() => | 326 }).then(() => |
330 { | 327 { |
331 test.equal(FilterStorage.subscriptions.length, 1, "Subscription count after reloading"); | 328 test.equal(FilterStorage.subscriptions.length, 1, "Subscription count after reloading"); |
332 }).catch(unexpectedError.bind(test)).then(() => test.done()); | 329 }).catch(unexpectedError.bind(test)).then(() => test.done()); |
333 }; | 330 }; |
LEFT | RIGHT |