| Index: test/FilterEngine.cpp |
| diff --git a/test/FilterEngine.cpp b/test/FilterEngine.cpp |
| index 187f7262cddeced2fcbb1eb257b0732e56c0a8eb..eaf86b0fd323508fa31fd9f1c622ba0fa211cdd7 100644 |
| --- a/test/FilterEngine.cpp |
| +++ b/test/FilterEngine.cpp |
| @@ -72,29 +72,16 @@ namespace |
| typedef FilterEngineTestGeneric<LazyFileSystem, AdblockPlus::DefaultLogSystem> FilterEngineTest; |
| typedef FilterEngineTestGeneric<NoFilesFileSystem, LazyLogSystem> FilterEngineTestNoData; |
| - class FilterEngineWithFreshFolder : public BaseJsTest |
| + class FilterEngineWithInMemoryFS : public BaseJsTest |
| { |
| + LazyFileSystem* fileSystem; |
| protected: |
| - FileSystemPtr fileSystem; |
| - std::list<SchedulerTask> fileSystemTasks; |
| - |
| - void SetUp() override |
| - { |
| - fileSystem = CreateDefaultFileSystem([this](const SchedulerTask& task) |
| - { |
| - fileSystemTasks.emplace_back(task); |
| - }); |
| - // Since there is neither in memory FS nor functionality to work with |
| - // directories use the hack: manually clean the directory. |
| - removeFileIfExists("patterns.ini"); |
| - removeFileIfExists("prefs.json"); |
| - } |
| void InitPlatformAndAppInfo(const AppInfo& appInfo = AppInfo()) |
| { |
| ThrowingPlatformCreationParameters platformParams; |
| platformParams.logSystem.reset(new LazyLogSystem()); |
| platformParams.timer.reset(new NoopTimer()); |
| - platformParams.fileSystem = fileSystem; |
| + platformParams.fileSystem.reset(fileSystem = new InMemoryFileSystem()); |
| platformParams.webRequest.reset(new NoopWebRequest()); |
| platform.reset(new Platform(std::move(platformParams))); |
| platform->SetUpJsEngine(appInfo); |
| @@ -102,57 +89,9 @@ namespace |
| FilterEngine& CreateFilterEngine(const FilterEngine::CreationParameters& creationParams = FilterEngine::CreationParameters()) |
| { |
| - bool isFilterEngineReady = false; |
| - platform->CreateFilterEngineAsync(creationParams, [&isFilterEngineReady](const FilterEngine& filterEngine) |
| - { |
| - isFilterEngineReady = true; |
| - }); |
| - while (!isFilterEngineReady && !fileSystemTasks.empty()) |
| - { |
| - (*fileSystemTasks.begin())(); |
| - fileSystemTasks.pop_front(); |
| - } |
| + ::CreateFilterEngine(*fileSystem, *platform, creationParams); |
| return platform->GetFilterEngine(); |
| } |
| - |
| - void TearDown() override |
| - { |
| - removeFileIfExists("patterns.ini"); |
| - removeFileIfExists("prefs.json"); |
| - fileSystem.reset(); |
| - BaseJsTest::TearDown(); |
| - } |
| - void removeFileIfExists(const std::string& fileName) |
| - { |
| - bool hasStatRun = false; |
| - bool doesFileExists; |
| - fileSystem->Stat(fileName, [&hasStatRun, &doesFileExists](const IFileSystem::StatResult& stats, const std::string& error) |
| - { |
| - EXPECT_TRUE(error.empty()) << error; |
| - doesFileExists = stats.exists; |
| - hasStatRun = true; |
| - }); |
| - while (!hasStatRun && !fileSystemTasks.empty()) |
| - { |
| - (*fileSystemTasks.begin())(); |
| - fileSystemTasks.pop_front(); |
| - } |
| - |
| - if (!doesFileExists) |
| - return; |
| - |
| - bool hasRemoveRun = false; |
| - fileSystem->Remove(fileName, [&hasRemoveRun](const std::string& error) |
| - { |
| - EXPECT_TRUE(error.empty()) << error; |
| - hasRemoveRun = true; |
| - }); |
| - while (!hasStatRun && !fileSystemTasks.empty()) |
| - { |
| - (*fileSystemTasks.begin())(); |
| - fileSystemTasks.pop_front(); |
| - } |
| - } |
| }; |
| class FilterEngineIsSubscriptionDownloadAllowedTest : public BaseJsTest |
| @@ -699,7 +638,7 @@ TEST_F(FilterEngineTest, ElemhideWhitelisting) |
| documentUrls1)); |
| } |
| -TEST_F(FilterEngineWithFreshFolder, LangAndAASubscriptionsAreChosenOnFirstRun) |
| +TEST_F(FilterEngineWithInMemoryFS, LangAndAASubscriptionsAreChosenOnFirstRun) |
| { |
| AppInfo appInfo; |
| appInfo.locale = "zh"; |
| @@ -726,7 +665,7 @@ TEST_F(FilterEngineWithFreshFolder, LangAndAASubscriptionsAreChosenOnFirstRun) |
| EXPECT_TRUE(filterEngine.IsAAEnabled()); |
| } |
| -TEST_F(FilterEngineWithFreshFolder, DisableSubscriptionsAutoSelectOnFirstRun) |
| +TEST_F(FilterEngineWithInMemoryFS, DisableSubscriptionsAutoSelectOnFirstRun) |
| { |
| InitPlatformAndAppInfo(); |
| FilterEngine::CreationParameters createParams; |