Index: test/FilterEngine.cpp |
diff --git a/test/FilterEngine.cpp b/test/FilterEngine.cpp |
index 476799ff94411239c55db5ae955686cfe26da3e2..e10d804716db3d84aa3b70a143b279f8a45a9414 100644 |
--- a/test/FilterEngine.cpp |
+++ b/test/FilterEngine.cpp |
@@ -16,6 +16,7 @@ |
*/ |
#include "BaseJsTest.h" |
+#include <AdblockPlus/DefaultLogSystem.h> |
#include <thread> |
#include <condition_variable> |
@@ -50,18 +51,19 @@ namespace |
class FilterEngineTestGeneric : public ::testing::Test |
{ |
protected: |
+ std::unique_ptr<Platform> platform; |
FilterEnginePtr filterEngine; |
void SetUp() override |
{ |
LazyFileSystemT* fileSystem; |
- JsEngineCreationParameters jsEngineParams; |
- jsEngineParams.fileSystem.reset(fileSystem = new LazyFileSystemT()); |
- jsEngineParams.logSystem.reset(new LogSystem()); |
- jsEngineParams.timer.reset(new NoopTimer()); |
- jsEngineParams.webRequest.reset(new NoopWebRequest()); |
- auto jsEngine = CreateJsEngine(std::move(jsEngineParams)); |
- filterEngine = CreateFilterEngine(*fileSystem, jsEngine); |
+ ThrowingPlatformCreationParameters platformParams; |
+ platformParams.logSystem.reset(new LogSystem()); |
+ platformParams.timer.reset(new NoopTimer()); |
+ platformParams.fileSystem.reset(fileSystem = new LazyFileSystemT()); |
+ platformParams.webRequest.reset(new NoopWebRequest()); |
+ platform.reset(new Platform(std::move(platformParams))); |
+ filterEngine = CreateFilterEngine(*fileSystem, platform->GetJsEngine()); |
} |
}; |
@@ -71,6 +73,7 @@ namespace |
class FilterEngineWithFreshFolder : public ::testing::Test |
{ |
protected: |
+ std::unique_ptr<Platform> platform; |
FileSystemPtr fileSystem; |
std::list<SchedulerTask> fileSystemTasks; |
std::weak_ptr<JsEngine> weakJsEngine; |
@@ -88,13 +91,14 @@ namespace |
} |
JsEnginePtr CreateJsEngine(const AppInfo& appInfo = AppInfo()) |
{ |
- JsEngineCreationParameters jsEngineParams; |
- jsEngineParams.appInfo = appInfo; |
- jsEngineParams.fileSystem = fileSystem; |
- jsEngineParams.logSystem.reset(new LazyLogSystem()); |
- jsEngineParams.timer.reset(new NoopTimer()); |
- jsEngineParams.webRequest.reset(new NoopWebRequest()); |
- auto jsEngine = ::CreateJsEngine(std::move(jsEngineParams)); |
+ ThrowingPlatformCreationParameters platformParams; |
+ platformParams.logSystem.reset(new LazyLogSystem()); |
+ platformParams.timer.reset(new NoopTimer()); |
+ platformParams.fileSystem = fileSystem; |
+ platformParams.webRequest.reset(new NoopWebRequest()); |
+ platform.reset(new Platform(std::move(platformParams))); |
+ platform->SetUpJsEngine(appInfo); |
+ auto jsEngine = platform->GetJsEngine(); |
weakJsEngine = jsEngine; |
return jsEngine; |
} |
@@ -164,22 +168,22 @@ namespace |
ConnectionTypes capturedConnectionTypes; |
bool isConnectionAllowed; |
std::vector<std::function<void(bool)>> isSubscriptionDownloadAllowedCallbacks; |
+ std::unique_ptr<Platform> platform; |
FilterEnginePtr filterEngine; |
- JsEnginePtr jsEngine; |
LazyFileSystem* fileSystem; |
void SetUp() |
{ |
isConnectionAllowed = true; |
- JsEngineCreationParameters jsEngineParams; |
- jsEngineParams.logSystem.reset(new LazyLogSystem()); |
- jsEngineParams.fileSystem.reset(fileSystem = new LazyFileSystem()); |
- jsEngineParams.timer = DelayedTimer::New(timerTasks); |
- jsEngineParams.webRequest = DelayedWebRequest::New(webRequestTasks); |
- jsEngine = CreateJsEngine(std::move(jsEngineParams)); |
+ ThrowingPlatformCreationParameters platformParams; |
+ platformParams.logSystem.reset(new LazyLogSystem()); |
+ platformParams.timer = DelayedTimer::New(timerTasks); |
+ platformParams.fileSystem.reset(fileSystem = new LazyFileSystem()); |
+ platformParams.webRequest = DelayedWebRequest::New(webRequestTasks); |
+ platform.reset(new Platform(std::move(platformParams))); |
- createParams.preconfiguredPrefs.emplace("first_run_subscription_auto_select", jsEngine->NewValue(false)); |
+ createParams.preconfiguredPrefs.emplace("first_run_subscription_auto_select", platform->GetJsEngine()->NewValue(false)); |
createParams.isSubscriptionDownloadAllowedCallback = [this](const std::string* allowedConnectionType, |
const std::function<void(bool)>& isSubscriptionDownloadAllowedCallback){ |
@@ -194,7 +198,7 @@ namespace |
bool isSubscriptionDownloadStatusReceived = false; |
if (!filterEngine) |
{ |
- filterEngine = CreateFilterEngine(*fileSystem, jsEngine, createParams); |
+ filterEngine = CreateFilterEngine(*fileSystem, platform->GetJsEngine(), createParams); |
filterEngine->SetFilterChangeCallback([&isSubscriptionDownloadStatusReceived, &subscriptionUrl](const std::string& action, JsValue&& item) |
{ |
if (action == "subscription.downloadStatus" && item.GetProperty("url").AsString() == subscriptionUrl) |
@@ -999,7 +1003,7 @@ TEST_F(FilterEngineIsSubscriptionDownloadAllowedTest, PredefinedAllowedConnectio |
{ |
std::string predefinedAllowedConnectionType = "non-metered"; |
createParams.preconfiguredPrefs.insert(std::make_pair("allowed_connection_type", |
- jsEngine->NewValue(predefinedAllowedConnectionType))); |
+ platform->GetJsEngine()->NewValue(predefinedAllowedConnectionType))); |
auto subscription = EnsureExampleSubscriptionAndForceUpdate(); |
EXPECT_EQ("synchronize_ok", subscription.GetProperty("downloadStatus").AsString()); |
EXPECT_EQ(1u, subscription.GetProperty("filters").AsList().size()); |
@@ -1016,7 +1020,7 @@ TEST_F(FilterEngineIsSubscriptionDownloadAllowedTest, ConfiguredConnectionTypeIs |
{ |
std::string predefinedAllowedConnectionType = "non-metered"; |
createParams.preconfiguredPrefs.insert(std::make_pair( |
- "allowed_connection_type", jsEngine->NewValue(predefinedAllowedConnectionType))); |
+ "allowed_connection_type", platform->GetJsEngine()->NewValue(predefinedAllowedConnectionType))); |
auto subscription = EnsureExampleSubscriptionAndForceUpdate(); |
EXPECT_EQ("synchronize_ok", subscription.GetProperty("downloadStatus").AsString()); |
EXPECT_EQ(1u, subscription.GetProperty("filters").AsList().size()); |