| 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()); |