Left: | ||
Right: |
LEFT | RIGHT |
---|---|
1 /* | |
2 * This file is part of Adblock Plus <https://adblockplus.org/>, | |
3 * Copyright (C) 2006-present eyeo GmbH | |
4 * | |
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 | |
7 * published by the Free Software Foundation. | |
8 * | |
9 * Adblock Plus is distributed in the hope that it will be useful, | |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 * GNU General Public License for more details. | |
13 * | |
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/>. | |
16 */ | |
1 | 17 |
hub
2018/01/30 23:12:01
I have an update with the license header I forgot.
| |
2 | 18 #include <gtest/gtest.h> |
3 #include "gtest/gtest.h" | |
4 #include "compiled/String.h" | 19 #include "compiled/String.h" |
5 #include "compiled/filter/Filter.h" | 20 #include "compiled/filter/Filter.h" |
21 #include "compiled/filter/ElemHideBase.h" | |
22 | |
23 ABP_NS_USING | |
6 | 24 |
7 TEST(TestFilter, testFromText) | 25 TEST(TestFilter, testFromText) |
8 { | 26 { |
9 OwnedString t(u"www.example.com#@#:-abp-properties(foo)"_str); | 27 OwnedString t(u"www.example.com#?#:-abp-properties(foo)"_str); |
10 DependentString text(t); | 28 DependentString text(t); |
11 | 29 |
12 FilterPtr filter(Filter::FromText(text)); | 30 FilterPtr filter(Filter::FromText(text), false); |
31 EXPECT_EQ(filter->GetText(), u"www.example.com#?#:-abp-properties(foo)"_str); | |
32 } | |
33 | |
34 TEST(TestFilter, testFilterConversionText) | |
35 { | |
36 { | |
37 OwnedString t(u"www.example.com##[-abp-properties='foo']"_str); | |
38 DependentString text(t); | |
39 | |
40 FilterPtr filter(Filter::FromText(text), false); | |
41 EXPECT_EQ(filter->GetText(), u"www.example.com#?#:-abp-properties(foo)"_str) ; | |
42 } | |
43 { | |
44 OwnedString t(u"example.com##foo[-abp-properties='something']bar"_str); | |
45 DependentString text(t); | |
46 | |
47 FilterPtr filter(Filter::FromText(text), false); | |
48 EXPECT_EQ(filter->GetText(), u"example.com#?#foo:-abp-properties(something)b ar"_str); | |
49 } | |
50 { | |
51 OwnedString t(u"foo.com##[-abp-properties='/margin: [3-4]{2}/']"_str); | |
52 DependentString text(t); | |
53 | |
54 FilterPtr filter(Filter::FromText(text), false); | |
55 EXPECT_EQ(filter->GetText(), u"foo.com#?#:-abp-properties(/margin: [3-4]{2}/ )"_str); | |
56 ASSERT_TRUE(filter->As<ElemHideBase>()); | |
57 EXPECT_EQ(filter->As<ElemHideBase>()->GetSelector(), u":-abp-properties(/mar gin: [3-4]\\7B 2\\7D /)"_str); | |
58 } | |
59 } | |
60 | |
61 TEST(TestFilter, testFilterExceptionConversionText) | |
62 { | |
63 OwnedString t(u"www.example.com#@#[-abp-properties='foo']"_str); | |
64 DependentString text(t); | |
65 | |
66 FilterPtr filter(Filter::FromText(text), false); | |
13 EXPECT_EQ(filter->GetText(), u"www.example.com#@#:-abp-properties(foo)"_str); | 67 EXPECT_EQ(filter->GetText(), u"www.example.com#@#:-abp-properties(foo)"_str); |
14 } | 68 } |
hub
2018/01/30 23:12:01
and more comprehensive tests for this part. This w
| |
69 | |
70 TEST(TestFilter, testFilterSyntaxErrorConversion) | |
71 { | |
72 { | |
73 OwnedString t(u"www.example.com#@#[-abp-properties='foo'bar'baz']"_str); | |
74 DependentString text(t); | |
75 | |
76 FilterPtr filter(Filter::FromText(text), false); | |
77 EXPECT_FALSE(filter); | |
78 } | |
79 { | |
80 OwnedString t(u"www.example.com#@#[-abp-properties='foo'bar']"_str); | |
81 DependentString text(t); | |
82 | |
83 FilterPtr filter(Filter::FromText(text), false); | |
84 EXPECT_FALSE(filter); | |
85 } | |
86 { | |
87 OwnedString t(u"www.example.com#@#[-abp-properties='foo'bar]"_str); | |
88 DependentString text(t); | |
89 | |
90 FilterPtr filter(Filter::FromText(text), false); | |
91 EXPECT_FALSE(filter); | |
92 } | |
93 { | |
94 OwnedString t(u"www.example.com#@#[-abp-properties=bar'foo']"_str); | |
95 DependentString text(t); | |
96 | |
97 FilterPtr filter(Filter::FromText(text), false); | |
98 EXPECT_FALSE(filter); | |
99 } | |
100 } | |
LEFT | RIGHT |