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

Side by Side Diff: adblock-android-tests/src/org/adblockplus/libadblockplus/tests/FilterEngineTest.java

Issue 29819555: Fix libadblockplus-android tests
Patch Set: Added missing files, removed a whitespace Created Aug. 16, 2018, 12:27 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-present eyeo GmbH 3 * Copyright (C) 2006-present 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 package org.adblockplus.libadblockplus.tests; 18 package org.adblockplus.libadblockplus.tests;
19 19
20 import android.util.Log;
21
22 import org.adblockplus.libadblockplus.BaseFilterEngineTest;
20 import org.adblockplus.libadblockplus.Filter; 23 import org.adblockplus.libadblockplus.Filter;
21 import org.adblockplus.libadblockplus.FilterEngine; 24 import org.adblockplus.libadblockplus.FilterEngine;
22 import org.adblockplus.libadblockplus.MockFilterChangeCallback; 25 import org.adblockplus.libadblockplus.MockFilterChangeCallback;
23 import org.adblockplus.libadblockplus.Subscription; 26 import org.adblockplus.libadblockplus.Subscription;
24 27
25 import org.junit.Test; 28 import org.junit.Test;
26 29
27 import java.util.List; 30 import java.util.List;
28 31
29 public class FilterEngineTest extends BaseFilterEngineTest 32 public class FilterEngineTest extends BaseFilterEngineTest
30 { 33 {
34 private static final String TAG = FilterEngineTest.class.getSimpleName();
35
31 @Test 36 @Test
32 public void testFilterCreation() 37 public void testFilterCreation()
33 { 38 {
34 Filter filter1 = filterEngine.getFilter("foo"); 39 Filter filter1 = filterEngine.getFilter("foo");
35 assertEquals(Filter.Type.BLOCKING, filter1.getType()); 40 assertEquals(Filter.Type.BLOCKING, filter1.getType());
36 Filter filter2 = filterEngine.getFilter("@@foo"); 41 Filter filter2 = filterEngine.getFilter("@@foo");
37 assertEquals(Filter.Type.EXCEPTION, filter2.getType()); 42 assertEquals(Filter.Type.EXCEPTION, filter2.getType());
38 Filter filter3 = filterEngine.getFilter("example.com##foo"); 43 Filter filter3 = filterEngine.getFilter("example.com##foo");
39 assertEquals(Filter.Type.ELEMHIDE, filter3.getType()); 44 assertEquals(Filter.Type.ELEMHIDE, filter3.getType());
40 Filter filter4 = filterEngine.getFilter("example.com#@#foo"); 45 Filter filter4 = filterEngine.getFilter("example.com#@#foo");
41 assertEquals(Filter.Type.ELEMHIDE_EXCEPTION, filter4.getType()); 46 assertEquals(Filter.Type.ELEMHIDE_EXCEPTION, filter4.getType());
42 Filter filter5 = filterEngine.getFilter(" foo "); 47 Filter filter5 = filterEngine.getFilter(" foo ");
43 assertEquals(filter1, filter5); 48 assertEquals(filter1, filter5);
44 } 49 }
45 50
46 @Test 51 @Test
47 public void testAddRemoveFilters() 52 public void testAddRemoveFilters()
48 { 53 {
49 while (filterEngine.getListedFilters().size() > 0) 54 while (filterEngine.getListedFilters().size() > 0)
50 { 55 {
56 int prev = filterEngine.getListedFilters().size();
anton 2018/08/24 12:25:04 Can you please explain what's happening here? Is i
René Jeschke 2018/08/27 20:02:15 There was a change in the way subscriptions work i
51 filterEngine.getListedFilters().get(0).removeFromList(); 57 filterEngine.getListedFilters().get(0).removeFromList();
58 if (prev == filterEngine.getListedFilters().size())
59 {
60 Log.e(TAG, "Failed to clear listed filters.");
61 }
52 } 62 }
53 63
54 assertEquals(0, filterEngine.getListedFilters().size()); 64 assertEquals(0, filterEngine.getListedFilters().size());
55 Filter filter = filterEngine.getFilter("foo"); 65 Filter filter = filterEngine.getFilter("foo");
56 assertEquals(0, filterEngine.getListedFilters().size()); 66 assertEquals(0, filterEngine.getListedFilters().size());
57 assertFalse(filter.isListed()); 67 assertFalse(filter.isListed());
58 68
59 filter.addToList(); 69 filter.addToList();
60 assertEquals(1, filterEngine.getListedFilters().size()); 70 assertEquals(1, filterEngine.getListedFilters().size());
61 assertEquals(filter, filterEngine.getListedFilters().get(0)); 71 assertEquals(filter, filterEngine.getListedFilters().get(0));
62 assertTrue(filter.isListed()); 72 assertTrue(filter.isListed());
63 73
64 filter.addToList(); 74 filter.addToList();
65 assertEquals(1, filterEngine.getListedFilters().size()); 75 assertEquals(1, filterEngine.getListedFilters().size());
66 assertEquals(filter, filterEngine.getListedFilters().get(0)); 76 assertEquals(filter, filterEngine.getListedFilters().get(0));
67 assertTrue(filter.isListed()); 77 assertTrue(filter.isListed());
68 78
69 filter.removeFromList(); 79 filter.removeFromList();
70 assertEquals(0, filterEngine.getListedFilters().size()); 80 assertEquals(0, filterEngine.getListedFilters().size());
71 assertFalse(filter.isListed()); 81 assertFalse(filter.isListed());
72 82
73 filter.removeFromList(); 83 filter.removeFromList();
74 assertEquals(0, filterEngine.getListedFilters().size()); 84 assertEquals(0, filterEngine.getListedFilters().size());
75 assertFalse(filter.isListed()); 85 assertFalse(filter.isListed());
76 } 86 }
77 87
78 @Test 88 @Test
89 public void testAddedSubscriptionIsEnabled()
90 {
91 Subscription subscription = filterEngine.getSubscription("foo");
92 assertFalse(subscription.isDisabled());
93 }
94
95 @Test
96 public void testDisablingSubscriptionDisablesItAndFiresEvent()
97 {
98 Subscription subscription = filterEngine.getSubscription("foo");
99 MockFilterChangeCallback callback = new MockFilterChangeCallback("subscripti on.disabled", "url","foo");
100 filterEngine.setFilterChangeCallback(callback);
101 assertFalse(subscription.isDisabled());
102 subscription.setDisabled(true);
103 assertEquals(1, callback.getTimesCalled());
104 assertTrue(subscription.isDisabled());
105 filterEngine.removeFilterChangeCallback();
106 }
107
108 @Test
109 public void testEnablingSubscriptionEnablesItAndFiresEvent()
110 {
111 Subscription subscription = filterEngine.getSubscription("foo");
112 assertFalse(subscription.isDisabled());
113 subscription.setDisabled(true);
114 assertTrue(subscription.isDisabled());
115
116 MockFilterChangeCallback callback = new MockFilterChangeCallback("subscripti on.disabled", "url", "foo");
117 filterEngine.setFilterChangeCallback(callback);
118 subscription.setDisabled(false);
119 assertEquals(1, callback.getTimesCalled());
120 assertFalse(subscription.isDisabled());
121 filterEngine.removeFilterChangeCallback();
122 }
123
124 @Test
79 public void testAddRemoveSubscriptions() 125 public void testAddRemoveSubscriptions()
80 { 126 {
81 while (filterEngine.getListedSubscriptions().size() > 0) 127 while (filterEngine.getListedSubscriptions().size() > 0)
anton 2018/08/24 12:25:04 copy-paste from above. Can you create separate fun
René Jeschke 2018/08/27 20:02:15 Done.
82 { 128 {
129 int prev = filterEngine.getListedSubscriptions().size();
83 filterEngine.getListedSubscriptions().get(0).removeFromList(); 130 filterEngine.getListedSubscriptions().get(0).removeFromList();
131 if (prev == filterEngine.getListedSubscriptions().size())
132 {
133 Log.e(TAG, "Failed to clear listed subscriptions.");
134 break;
135 }
84 } 136 }
85 137
86 assertEquals(0, filterEngine.getListedSubscriptions().size()); 138 assertEquals(0, filterEngine.getListedSubscriptions().size());
87 Subscription subscription = filterEngine.getSubscription("foo"); 139 Subscription subscription = filterEngine.getSubscription("foo");
88 assertEquals(0, filterEngine.getListedSubscriptions().size()); 140 assertEquals(0, filterEngine.getListedSubscriptions().size());
89 assertFalse(subscription.isListed()); 141 assertFalse(subscription.isListed());
90 subscription.addToList(); 142 subscription.addToList();
91 assertEquals(1, filterEngine.getListedSubscriptions().size()); 143 assertEquals(1, filterEngine.getListedSubscriptions().size());
92 assertEquals(subscription, filterEngine.getListedSubscriptions().get(0)); 144 assertEquals(subscription, filterEngine.getListedSubscriptions().get(0));
93 assertTrue(subscription.isListed()); 145 assertTrue(subscription.isListed());
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
317 { 369 {
318 "http://ads.com/frame/", 370 "http://ads.com/frame/",
319 "http://example.org/", 371 "http://example.org/",
320 "http://example.com/" 372 "http://example.com/"
321 }); 373 });
322 assertNotNull(match5); 374 assertNotNull(match5);
323 assertEquals(Filter.Type.EXCEPTION, match5.getType()); 375 assertEquals(Filter.Type.EXCEPTION, match5.getType());
324 } 376 }
325 377
326 @Test 378 @Test
327 public void testFirstRunFlag()
328 {
329 assertFalse(filterEngine.isFirstRun());
330 }
331
332 @Test
333 public void testSetRemoveFilterChangeCallback() 379 public void testSetRemoveFilterChangeCallback()
334 { 380 {
335 MockFilterChangeCallback mockFilterChangeCallback = new MockFilterChangeCall back(0); 381 MockFilterChangeCallback callback = new MockFilterChangeCallback("subscripti on.added", "defaults", "blocking");
336 382
337 filterEngine.setFilterChangeCallback(mockFilterChangeCallback); 383 filterEngine.setFilterChangeCallback(callback);
338 filterEngine.getFilter("foo").addToList(); 384 Filter filter = filterEngine.getFilter("foo");
339 assertEquals(1, mockFilterChangeCallback.getTimesCalled()); 385 assertFalse(filter.isListed());
386 filter.addToList();
387 assertEquals(1, callback.getTimesCalled());
340 388
341 filterEngine.removeFilterChangeCallback(); 389 filterEngine.removeFilterChangeCallback();
342 filterEngine.getFilter("foo").removeFromList(); 390 callback.clearCheckValues();
343 assertEquals(1, mockFilterChangeCallback.getTimesCalled()); 391 filter.removeFromList();
392 assertFalse(filter.isListed());
393 assertEquals(1, callback.getTimesCalled());
344 } 394 }
345 395
346 @Test 396 @Test
347 public void testDocumentWhitelisting() 397 public void testDocumentWhitelisting()
348 { 398 {
349 filterEngine.getFilter("@@||example.org^$document").addToList(); 399 filterEngine.getFilter("@@||example.org^$document").addToList();
350 filterEngine.getFilter("@@||example.com^$document,domain=example.de").addToL ist(); 400 filterEngine.getFilter("@@||example.com^$document,domain=example.de").addToL ist();
351 401
352 String[] emptyArray = new String[] 402 String[] emptyArray = new String[]
353 { 403 {
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
478 listedSubscriptions = filterEngine.getListedSubscriptions(); 528 listedSubscriptions = filterEngine.getListedSubscriptions();
479 for (Subscription eachSubscription : listedSubscriptions) 529 for (Subscription eachSubscription : listedSubscriptions)
480 { 530 {
481 if (eachSubscription.isAcceptableAds()) 531 if (eachSubscription.isAcceptableAds())
482 { 532 {
483 assertFalse(eachSubscription.isDisabled()); 533 assertFalse(eachSubscription.isDisabled());
484 } 534 }
485 } 535 }
486 } 536 }
487 } 537 }
OLDNEW

Powered by Google App Engine
This is Rietveld