LEFT | RIGHT |
1 #include "BaseJsTest.h" | 1 #include "BaseJsTest.h" |
2 #include "../src/Thread.h" | |
3 | 2 |
4 namespace | 3 namespace |
5 { | 4 { |
6 typedef std::tr1::shared_ptr<AdblockPlus::FilterEngine> FilterEnginePtr; | 5 typedef std::tr1::shared_ptr<AdblockPlus::FilterEngine> FilterEnginePtr; |
7 | |
8 // This file system implementation never does anything - makes sure | |
9 // FilterEngine doesn't do any I/O during test and the corresponding | |
10 // callbacks are never called. | |
11 class LazyFileSystem : public AdblockPlus::FileSystem | |
12 { | |
13 std::tr1::shared_ptr<std::istream> Read(const std::string& path) const | |
14 { | |
15 while (true) | |
16 AdblockPlus::Sleep(100000); | |
17 return std::tr1::shared_ptr<std::istream>(); | |
18 } | |
19 | |
20 void Write(const std::string& path, | |
21 std::tr1::shared_ptr<std::ostream> content) | |
22 { | |
23 while (true) | |
24 AdblockPlus::Sleep(100000); | |
25 } | |
26 | |
27 void Move(const std::string& fromPath, const std::string& toPath) | |
28 { | |
29 while (true) | |
30 AdblockPlus::Sleep(100000); | |
31 } | |
32 | |
33 void Remove(const std::string& path) | |
34 { | |
35 while (true) | |
36 AdblockPlus::Sleep(100000); | |
37 } | |
38 | |
39 StatResult Stat(const std::string& path) const | |
40 { | |
41 while (true) | |
42 AdblockPlus::Sleep(100000); | |
43 return StatResult(); | |
44 } | |
45 }; | |
46 | |
47 // This web request implementation never does anything - makes sure | |
48 // FilterEngine doesn't cause any net traffic during test and the | |
49 // corresponding callbacks are never called. | |
50 class LazyWebRequest : public AdblockPlus::WebRequest | |
51 { | |
52 AdblockPlus::ServerResponse GET(const std::string& url, const AdblockPlus::H
eaderList& requestHeaders) const | |
53 { | |
54 while (true) | |
55 AdblockPlus::Sleep(100000); | |
56 return AdblockPlus::ServerResponse(); | |
57 } | |
58 }; | |
59 | 6 |
60 class FilterEngineTest : public BaseJsTest | 7 class FilterEngineTest : public BaseJsTest |
61 { | 8 { |
62 protected: | 9 protected: |
63 FilterEnginePtr filterEngine; | 10 FilterEnginePtr filterEngine; |
64 | 11 |
65 void SetUp() | 12 void SetUp() |
66 { | 13 { |
67 BaseJsTest::SetUp(); | 14 BaseJsTest::SetUp(); |
68 jsEngine->SetFileSystem(AdblockPlus::FileSystemPtr(new LazyFileSystem)); | 15 jsEngine->SetFileSystem(AdblockPlus::FileSystemPtr(new LazyFileSystem)); |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 ASSERT_TRUE(match6); | 136 ASSERT_TRUE(match6); |
190 ASSERT_EQ(AdblockPlus::Filter::TYPE_BLOCKING, match6->GetType()); | 137 ASSERT_EQ(AdblockPlus::Filter::TYPE_BLOCKING, match6->GetType()); |
191 | 138 |
192 AdblockPlus::FilterPtr match7 = filterEngine->Matches("http://example.org/tpba
nner.gif", "IMAGE", "http://example.com/"); | 139 AdblockPlus::FilterPtr match7 = filterEngine->Matches("http://example.org/tpba
nner.gif", "IMAGE", "http://example.com/"); |
193 ASSERT_TRUE(match7); | 140 ASSERT_TRUE(match7); |
194 ASSERT_EQ(AdblockPlus::Filter::TYPE_BLOCKING, match6->GetType()); | 141 ASSERT_EQ(AdblockPlus::Filter::TYPE_BLOCKING, match6->GetType()); |
195 | 142 |
196 AdblockPlus::FilterPtr match8 = filterEngine->Matches("http://example.org/fpba
nner.gif", "IMAGE", "http://example.com/"); | 143 AdblockPlus::FilterPtr match8 = filterEngine->Matches("http://example.org/fpba
nner.gif", "IMAGE", "http://example.com/"); |
197 ASSERT_FALSE(match8); | 144 ASSERT_FALSE(match8); |
198 } | 145 } |
LEFT | RIGHT |