LEFT | RIGHT |
1 #include <AdblockPlus.h> | 1 #include <AdblockPlus.h> |
2 #include <gtest/gtest.h> | 2 #include <gtest/gtest.h> |
3 | 3 |
4 TEST(FilterEngineStubsTest, FilterCreation) | 4 TEST(FilterEngineStubsTest, FilterCreation) |
5 { | 5 { |
6 AdblockPlus::JsEngine jsEngine(0, 0, 0); | 6 AdblockPlus::JsEngine jsEngine(0, 0, 0); |
7 AdblockPlus::FilterEngine filterEngine(jsEngine); | 7 AdblockPlus::FilterEngine filterEngine(jsEngine); |
8 | 8 |
9 AdblockPlus::Filter& filter1 = filterEngine.GetFilter("foo"); | 9 AdblockPlus::FilterPtr filter1 = filterEngine.GetFilter("foo"); |
10 ASSERT_EQ(filter1.GetProperty("type", -1), AdblockPlus::Filter::TYPE_BLOCKING)
; | 10 ASSERT_EQ(filter1->GetProperty("type", -1), AdblockPlus::Filter::TYPE_BLOCKING
); |
11 AdblockPlus::Filter& filter2 = filterEngine.GetFilter("@@foo"); | 11 AdblockPlus::FilterPtr filter2 = filterEngine.GetFilter("@@foo"); |
12 ASSERT_EQ(filter2.GetProperty("type", -1), AdblockPlus::Filter::TYPE_EXCEPTION
); | 12 ASSERT_EQ(filter2->GetProperty("type", -1), AdblockPlus::Filter::TYPE_EXCEPTIO
N); |
13 AdblockPlus::Filter& filter3 = filterEngine.GetFilter("example.com##foo"); | 13 AdblockPlus::FilterPtr filter3 = filterEngine.GetFilter("example.com##foo"); |
14 ASSERT_EQ(filter3.GetProperty("type", -1), AdblockPlus::Filter::TYPE_ELEMHIDE)
; | 14 ASSERT_EQ(filter3->GetProperty("type", -1), AdblockPlus::Filter::TYPE_ELEMHIDE
); |
15 AdblockPlus::Filter& filter4 = filterEngine.GetFilter("example.com#@#foo"); | 15 AdblockPlus::FilterPtr filter4 = filterEngine.GetFilter("example.com#@#foo"); |
16 ASSERT_EQ(filter4.GetProperty("type", -1), AdblockPlus::Filter::TYPE_ELEMHIDE_
EXCEPTION); | 16 ASSERT_EQ(filter4->GetProperty("type", -1), AdblockPlus::Filter::TYPE_ELEMHIDE
_EXCEPTION); |
17 AdblockPlus::Filter& filter5 = filterEngine.GetFilter(" foo "); | 17 AdblockPlus::FilterPtr filter5 = filterEngine.GetFilter(" foo "); |
18 ASSERT_EQ(&filter5, &filter1); | 18 ASSERT_EQ(filter5, filter1); |
19 } | 19 } |
20 | 20 |
21 TEST(FilterEngineStubsTest, FilterProperties) | 21 TEST(FilterEngineStubsTest, FilterProperties) |
22 { | 22 { |
23 AdblockPlus::JsEngine jsEngine(0, 0, 0); | 23 AdblockPlus::JsEngine jsEngine(0, 0, 0); |
24 AdblockPlus::FilterEngine filterEngine(jsEngine); | 24 AdblockPlus::FilterEngine filterEngine(jsEngine); |
25 AdblockPlus::Filter& filter = filterEngine.GetFilter("foo"); | 25 AdblockPlus::FilterPtr filter = filterEngine.GetFilter("foo"); |
26 | 26 |
27 ASSERT_EQ(filter.GetProperty("stringFoo", "x"), "x"); | 27 ASSERT_EQ(filter->GetProperty("stringFoo", "x"), "x"); |
28 ASSERT_EQ(filter.GetProperty("intFoo", 42), 42); | 28 ASSERT_EQ(filter->GetProperty("intFoo", 42), 42); |
29 ASSERT_EQ(filter.GetProperty("boolFoo", false), false); | 29 ASSERT_EQ(filter->GetProperty("boolFoo", false), false); |
30 | 30 |
31 filter.SetProperty("stringFoo", "y"); | 31 filter->SetProperty("stringFoo", "y"); |
32 filter.SetProperty("intFoo", 24); | 32 filter->SetProperty("intFoo", 24); |
33 filter.SetProperty("boolFoo", true); | 33 filter->SetProperty("boolFoo", true); |
34 ASSERT_EQ(filter.GetProperty("stringFoo", "x"), "y"); | 34 ASSERT_EQ(filter->GetProperty("stringFoo", "x"), "y"); |
35 ASSERT_EQ(filter.GetProperty("intFoo", 42), 24); | 35 ASSERT_EQ(filter->GetProperty("intFoo", 42), 24); |
36 ASSERT_EQ(filter.GetProperty("boolFoo", false), true); | 36 ASSERT_EQ(filter->GetProperty("boolFoo", false), true); |
37 } | 37 } |
38 | 38 |
39 TEST(FilterEngineStubsTest, AddRemoveFilters) | 39 TEST(FilterEngineStubsTest, AddRemoveFilters) |
40 { | 40 { |
41 AdblockPlus::JsEngine jsEngine(0, 0, 0); | 41 AdblockPlus::JsEngine jsEngine(0, 0, 0); |
42 AdblockPlus::FilterEngine filterEngine(jsEngine); | 42 AdblockPlus::FilterEngine filterEngine(jsEngine); |
43 ASSERT_EQ(filterEngine.GetListedFilters().size(), 0u); | 43 ASSERT_EQ(filterEngine.GetListedFilters().size(), 0u); |
44 AdblockPlus::Filter& filter = filterEngine.GetFilter("foo"); | 44 AdblockPlus::FilterPtr filter = filterEngine.GetFilter("foo"); |
45 ASSERT_EQ(filterEngine.GetListedFilters().size(), 0u); | 45 ASSERT_EQ(filterEngine.GetListedFilters().size(), 0u); |
46 filter.AddToList(); | 46 filter->AddToList(); |
47 ASSERT_EQ(filterEngine.GetListedFilters().size(), 1u); | 47 ASSERT_EQ(filterEngine.GetListedFilters().size(), 1u); |
48 ASSERT_EQ(filterEngine.GetListedFilters()[0].get(), &filter); | 48 ASSERT_EQ(filterEngine.GetListedFilters()[0], filter); |
49 filter.AddToList(); | 49 filter->AddToList(); |
50 ASSERT_EQ(filterEngine.GetListedFilters().size(), 1u); | 50 ASSERT_EQ(filterEngine.GetListedFilters().size(), 1u); |
51 ASSERT_EQ(filterEngine.GetListedFilters()[0].get(), &filter); | 51 ASSERT_EQ(filterEngine.GetListedFilters()[0], filter); |
52 filter.RemoveFromList(); | 52 filter->RemoveFromList(); |
53 ASSERT_EQ(filterEngine.GetListedFilters().size(), 0u); | 53 ASSERT_EQ(filterEngine.GetListedFilters().size(), 0u); |
54 filter.RemoveFromList(); | 54 filter->RemoveFromList(); |
55 ASSERT_EQ(filterEngine.GetListedFilters().size(), 0u); | 55 ASSERT_EQ(filterEngine.GetListedFilters().size(), 0u); |
56 } | 56 } |
57 | 57 |
58 TEST(FilterEngineStubsTest, SubscriptionProperties) | 58 TEST(FilterEngineStubsTest, SubscriptionProperties) |
59 { | 59 { |
60 AdblockPlus::JsEngine jsEngine(0, 0, 0); | 60 AdblockPlus::JsEngine jsEngine(0, 0, 0); |
61 AdblockPlus::FilterEngine filterEngine(jsEngine); | 61 AdblockPlus::FilterEngine filterEngine(jsEngine); |
62 AdblockPlus::Subscription& subscription = filterEngine.GetSubscription("foo"); | 62 AdblockPlus::SubscriptionPtr subscription = filterEngine.GetSubscription("foo"
); |
63 | 63 |
64 ASSERT_EQ(subscription.GetProperty("stringFoo", "x"), "x"); | 64 ASSERT_EQ(subscription->GetProperty("stringFoo", "x"), "x"); |
65 ASSERT_EQ(subscription.GetProperty("intFoo", 42), 42); | 65 ASSERT_EQ(subscription->GetProperty("intFoo", 42), 42); |
66 ASSERT_EQ(subscription.GetProperty("boolFoo", false), false); | 66 ASSERT_EQ(subscription->GetProperty("boolFoo", false), false); |
67 | 67 |
68 subscription.SetProperty("stringFoo", "y"); | 68 subscription->SetProperty("stringFoo", "y"); |
69 subscription.SetProperty("intFoo", 24); | 69 subscription->SetProperty("intFoo", 24); |
70 subscription.SetProperty("boolFoo", true); | 70 subscription->SetProperty("boolFoo", true); |
71 ASSERT_EQ(subscription.GetProperty("stringFoo", "x"), "y"); | 71 ASSERT_EQ(subscription->GetProperty("stringFoo", "x"), "y"); |
72 ASSERT_EQ(subscription.GetProperty("intFoo", 42), 24); | 72 ASSERT_EQ(subscription->GetProperty("intFoo", 42), 24); |
73 ASSERT_EQ(subscription.GetProperty("boolFoo", false), true); | 73 ASSERT_EQ(subscription->GetProperty("boolFoo", false), true); |
74 } | 74 } |
75 | 75 |
76 TEST(FilterEngineStubsTest, AddRemoveSubscriptions) | 76 TEST(FilterEngineStubsTest, AddRemoveSubscriptions) |
77 { | 77 { |
78 AdblockPlus::JsEngine jsEngine(0, 0, 0); | 78 AdblockPlus::JsEngine jsEngine(0, 0, 0); |
79 AdblockPlus::FilterEngine filterEngine(jsEngine); | 79 AdblockPlus::FilterEngine filterEngine(jsEngine); |
80 ASSERT_EQ(filterEngine.GetListedSubscriptions().size(), 0u); | 80 ASSERT_EQ(filterEngine.GetListedSubscriptions().size(), 0u); |
81 AdblockPlus::Subscription& subscription = filterEngine.GetSubscription("foo"); | 81 AdblockPlus::SubscriptionPtr subscription = filterEngine.GetSubscription("foo"
); |
82 ASSERT_EQ(filterEngine.GetListedSubscriptions().size(), 0u); | 82 ASSERT_EQ(filterEngine.GetListedSubscriptions().size(), 0u); |
83 subscription.AddToList(); | 83 subscription->AddToList(); |
84 ASSERT_EQ(filterEngine.GetListedSubscriptions().size(), 1u); | 84 ASSERT_EQ(filterEngine.GetListedSubscriptions().size(), 1u); |
85 ASSERT_EQ(filterEngine.GetListedSubscriptions()[0].get(), &subscription); | 85 ASSERT_EQ(filterEngine.GetListedSubscriptions()[0], subscription); |
86 subscription.AddToList(); | 86 subscription->AddToList(); |
87 ASSERT_EQ(filterEngine.GetListedSubscriptions().size(), 1u); | 87 ASSERT_EQ(filterEngine.GetListedSubscriptions().size(), 1u); |
88 ASSERT_EQ(filterEngine.GetListedSubscriptions()[0].get(), &subscription); | 88 ASSERT_EQ(filterEngine.GetListedSubscriptions()[0], subscription); |
89 subscription.RemoveFromList(); | 89 subscription->RemoveFromList(); |
90 ASSERT_EQ(filterEngine.GetListedSubscriptions().size(), 0u); | 90 ASSERT_EQ(filterEngine.GetListedSubscriptions().size(), 0u); |
91 subscription.RemoveFromList(); | 91 subscription->RemoveFromList(); |
92 ASSERT_EQ(filterEngine.GetListedSubscriptions().size(), 0u); | 92 ASSERT_EQ(filterEngine.GetListedSubscriptions().size(), 0u); |
93 } | 93 } |
94 | 94 |
95 TEST(FilterEngineStubsTest, Matches) | 95 TEST(FilterEngineStubsTest, Matches) |
96 { | 96 { |
97 AdblockPlus::JsEngine jsEngine(0, 0, 0); | 97 AdblockPlus::JsEngine jsEngine(0, 0, 0); |
98 AdblockPlus::FilterEngine filterEngine(jsEngine); | 98 AdblockPlus::FilterEngine filterEngine(jsEngine); |
99 AdblockPlus::Subscription& subscription = filterEngine.GetSubscription("foo"); | 99 AdblockPlus::SubscriptionPtr subscription = filterEngine.GetSubscription("foo"
); |
100 subscription.AddToList(); | 100 subscription->AddToList(); |
101 | 101 |
102 AdblockPlus::FilterPtr match1 = filterEngine.Matches("http://example.org", "",
""); | 102 AdblockPlus::FilterPtr match1 = filterEngine.Matches("http://example.org", "",
""); |
103 ASSERT_FALSE(match1); | 103 ASSERT_FALSE(match1); |
104 | 104 |
105 AdblockPlus::FilterPtr match2 = filterEngine.Matches("http://example.org/adban
ner.gif", "", ""); | 105 AdblockPlus::FilterPtr match2 = filterEngine.Matches("http://example.org/adban
ner.gif", "", ""); |
106 ASSERT_TRUE(match2); | 106 ASSERT_TRUE(match2); |
107 ASSERT_EQ(match2->GetProperty("type", -1), AdblockPlus::Filter::TYPE_BLOCKING)
; | 107 ASSERT_EQ(match2->GetProperty("type", -1), AdblockPlus::Filter::TYPE_BLOCKING)
; |
108 | 108 |
109 AdblockPlus::FilterPtr match3 = filterEngine.Matches("http://example.org/notba
nner.gif", "", ""); | 109 AdblockPlus::FilterPtr match3 = filterEngine.Matches("http://example.org/notba
nner.gif", "", ""); |
110 ASSERT_TRUE(match3); | 110 ASSERT_TRUE(match3); |
111 ASSERT_EQ(match3->GetProperty("type", -1), AdblockPlus::Filter::TYPE_EXCEPTION
); | 111 ASSERT_EQ(match3->GetProperty("type", -1), AdblockPlus::Filter::TYPE_EXCEPTION
); |
112 | 112 |
113 AdblockPlus::FilterPtr match4 = filterEngine.Matches("http://example.org/notba
nner.gif", "", ""); | 113 AdblockPlus::FilterPtr match4 = filterEngine.Matches("http://example.org/notba
nner.gif", "", ""); |
114 ASSERT_TRUE(match4); | 114 ASSERT_TRUE(match4); |
115 ASSERT_EQ(match4->GetProperty("type", -1), AdblockPlus::Filter::TYPE_EXCEPTION
); | 115 ASSERT_EQ(match4->GetProperty("type", -1), AdblockPlus::Filter::TYPE_EXCEPTION
); |
116 } | 116 } |
LEFT | RIGHT |