Index: test/FilterEngine.cpp |
diff --git a/test/FilterEngine.cpp b/test/FilterEngine.cpp |
index e10d804716db3d84aa3b70a143b279f8a45a9414..fc4a789826699f0f7e2ab2d49fb01e3d20db8c27 100644 |
--- a/test/FilterEngine.cpp |
+++ b/test/FilterEngine.cpp |
@@ -63,7 +63,7 @@ namespace |
platformParams.fileSystem.reset(fileSystem = new LazyFileSystemT()); |
platformParams.webRequest.reset(new NoopWebRequest()); |
platform.reset(new Platform(std::move(platformParams))); |
- filterEngine = CreateFilterEngine(*fileSystem, platform->GetJsEngine()); |
+ filterEngine = CreateFilterEngine(*fileSystem, *platform); |
} |
}; |
@@ -76,7 +76,6 @@ namespace |
std::unique_ptr<Platform> platform; |
FileSystemPtr fileSystem; |
std::list<SchedulerTask> fileSystemTasks; |
- std::weak_ptr<JsEngine> weakJsEngine; |
void SetUp() override |
{ |
@@ -89,7 +88,7 @@ namespace |
removeFileIfExists("patterns.ini"); |
removeFileIfExists("prefs.json"); |
} |
- JsEnginePtr CreateJsEngine(const AppInfo& appInfo = AppInfo()) |
+ void InitPlatformAndAppInfo(const AppInfo& appInfo = AppInfo()) |
{ |
ThrowingPlatformCreationParameters platformParams; |
platformParams.logSystem.reset(new LazyLogSystem()); |
@@ -98,19 +97,15 @@ namespace |
platformParams.webRequest.reset(new NoopWebRequest()); |
platform.reset(new Platform(std::move(platformParams))); |
platform->SetUpJsEngine(appInfo); |
- auto jsEngine = platform->GetJsEngine(); |
- weakJsEngine = jsEngine; |
- return jsEngine; |
} |
- FilterEnginePtr CreateFilterEngine(const JsEnginePtr& jsEngine, |
- const FilterEngine::CreationParameters& creationParams = FilterEngine::CreationParameters()) |
+ FilterEnginePtr CreateFilterEngine(const FilterEngine::CreationParameters& creationParams = FilterEngine::CreationParameters()) |
{ |
FilterEnginePtr retValue; |
- FilterEngine::CreateAsync(jsEngine, [&retValue](const FilterEnginePtr& filterEngine) |
+ platform->CreateFilterEngineAsync(creationParams, [&retValue](const FilterEnginePtr& filterEngine) |
{ |
retValue = filterEngine; |
- }, creationParams); |
+ }); |
while (!retValue && !fileSystemTasks.empty()) |
{ |
(*fileSystemTasks.begin())(); |
@@ -198,7 +193,7 @@ namespace |
bool isSubscriptionDownloadStatusReceived = false; |
if (!filterEngine) |
{ |
- filterEngine = CreateFilterEngine(*fileSystem, platform->GetJsEngine(), createParams); |
+ filterEngine = CreateFilterEngine(*fileSystem, *platform, createParams); |
filterEngine->SetFilterChangeCallback([&isSubscriptionDownloadStatusReceived, &subscriptionUrl](const std::string& action, JsValue&& item) |
{ |
if (action == "subscription.downloadStatus" && item.GetProperty("url").AsString() == subscriptionUrl) |
@@ -688,8 +683,8 @@ TEST_F(FilterEngineWithFreshFolder, LangAndAASubscriptionsAreChosenOnFirstRun) |
AppInfo appInfo; |
appInfo.locale = "zh"; |
const std::string langSubscriptionUrl = "https://easylist-downloads.adblockplus.org/easylistchina+easylist.txt"; |
- auto jsEngine = CreateJsEngine(appInfo); |
- auto filterEngine = CreateFilterEngine(jsEngine); |
+ InitPlatformAndAppInfo(appInfo); |
+ auto filterEngine = CreateFilterEngine(); |
const auto subscriptions = filterEngine->GetListedSubscriptions(); |
ASSERT_EQ(2u, subscriptions.size()); |
std::unique_ptr<Subscription> aaSubscription; |
@@ -712,10 +707,10 @@ TEST_F(FilterEngineWithFreshFolder, LangAndAASubscriptionsAreChosenOnFirstRun) |
TEST_F(FilterEngineWithFreshFolder, DisableSubscriptionsAutoSelectOnFirstRun) |
{ |
- auto jsEngine = CreateJsEngine(); |
+ InitPlatformAndAppInfo(); |
FilterEngine::CreationParameters createParams; |
- createParams.preconfiguredPrefs.emplace("first_run_subscription_auto_select", jsEngine->NewValue(false)); |
- auto filterEngine = CreateFilterEngine(jsEngine, createParams); |
+ createParams.preconfiguredPrefs.emplace("first_run_subscription_auto_select", platform->GetJsEngine()->NewValue(false)); |
+ auto filterEngine = CreateFilterEngine(createParams); |
const auto subscriptions = filterEngine->GetListedSubscriptions(); |
EXPECT_EQ(0u, subscriptions.size()); |
EXPECT_FALSE(filterEngine->IsAAEnabled()); |