| OLD | NEW |
| 1 /* | 1 /* |
| 2 * This file is part of Adblock Plus <https://adblockplus.org/>, | 2 * This file is part of Adblock Plus <https://adblockplus.org/>, |
| 3 * Copyright (C) 2006-2016 Eyeo GmbH | 3 * Copyright (C) 2006-2016 Eyeo GmbH |
| 4 * | 4 * |
| 5 * Adblock Plus is free software: you can redistribute it and/or modify | 5 * Adblock Plus is free software: you can redistribute it and/or modify |
| 6 * it under the terms of the GNU General Public License version 3 as | 6 * it under the terms of the GNU General Public License version 3 as |
| 7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
| 8 * | 8 * |
| 9 * Adblock Plus is distributed in the hope that it will be useful, | 9 * Adblock Plus is distributed in the hope that it will be useful, |
| 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 typedef std::shared_ptr<AdblockPlus::FilterEngine> FilterEnginePtr; | 25 typedef std::shared_ptr<AdblockPlus::FilterEngine> FilterEnginePtr; |
| 26 | 26 |
| 27 class TestFileSystem : public LazyFileSystem | 27 class TestFileSystem : public LazyFileSystem |
| 28 { | 28 { |
| 29 public: | 29 public: |
| 30 std::string prefsContents; | 30 std::string prefsContents; |
| 31 | 31 |
| 32 std::shared_ptr<std::istream> Read(const std::string& path) const | 32 std::shared_ptr<std::istream> Read(const std::string& path) const |
| 33 { | 33 { |
| 34 if (path == "prefs.json" && !prefsContents.empty()) | 34 if (path == "prefs.json" && !prefsContents.empty()) |
| 35 return std::shared_ptr<std::istream>(new std::istringstream(prefsContent
s)); | 35 return std::make_shared<std::istringstream>(prefsContents); |
| 36 | 36 |
| 37 return LazyFileSystem::Read(path); | 37 return LazyFileSystem::Read(path); |
| 38 } | 38 } |
| 39 | 39 |
| 40 void Write(const std::string& path, std::shared_ptr<std::istream> content) | 40 void Write(const std::string& path, std::shared_ptr<std::istream> content) |
| 41 { | 41 { |
| 42 if (path == "prefs.json") | 42 if (path == "prefs.json") |
| 43 { | 43 { |
| 44 std::stringstream ss; | 44 std::stringstream ss; |
| 45 ss << content->rdbuf(); | 45 ss << content->rdbuf(); |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 jsValuePrefs[entry->first] = jsEngine->NewValue(entry->second); | 108 jsValuePrefs[entry->first] = jsEngine->NewValue(entry->second); |
| 109 } | 109 } |
| 110 // Use a new filter engine | 110 // Use a new filter engine |
| 111 filterEngine = std::make_shared<AdblockPlus::FilterEngine>(jsEngine, jsVal
uePrefs); | 111 filterEngine = std::make_shared<AdblockPlus::FilterEngine>(jsEngine, jsVal
uePrefs); |
| 112 } | 112 } |
| 113 | 113 |
| 114 void Destroy() | 114 void Destroy() |
| 115 { | 115 { |
| 116 filterEngine.reset(); | 116 filterEngine.reset(); |
| 117 ToInternal(jsEngine)->WaitForQuietScheduler(); | 117 ToInternal(jsEngine)->WaitForQuietScheduler(); |
| 118 EXPECT_EQ(1, jsEngine.use_count()); |
| 118 jsEngine.reset(); | 119 jsEngine.reset(); |
| 119 EXPECT_EQ(0, jsEngine.use_count()); | |
| 120 } | 120 } |
| 121 }; | 121 }; |
| 122 } | 122 } |
| 123 | 123 |
| 124 TEST_F(PrefsTest, PrefsGetSet) | 124 TEST_F(PrefsTest, PrefsGetSet) |
| 125 { | 125 { |
| 126 ASSERT_EQ("patterns.ini", filterEngine->GetPref("patternsfile")->AsString()); | 126 ASSERT_EQ("patterns.ini", filterEngine->GetPref("patternsfile")->AsString()); |
| 127 ASSERT_EQ(24, filterEngine->GetPref("patternsbackupinterval")->AsInt()); | 127 ASSERT_EQ(24, filterEngine->GetPref("patternsbackupinterval")->AsInt()); |
| 128 ASSERT_TRUE(filterEngine->GetPref("subscriptions_autoupdate")->AsBool()); | 128 ASSERT_TRUE(filterEngine->GetPref("subscriptions_autoupdate")->AsBool()); |
| 129 ASSERT_TRUE(filterEngine->GetPref("foobar")->IsUndefined()); | 129 ASSERT_TRUE(filterEngine->GetPref("foobar")->IsUndefined()); |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 224 | 224 |
| 225 std::this_thread::sleep_for(std::chrono::milliseconds(100)); | 225 std::this_thread::sleep_for(std::chrono::milliseconds(100)); |
| 226 | 226 |
| 227 ASSERT_FALSE(fileSystem->prefsContents.empty()); | 227 ASSERT_FALSE(fileSystem->prefsContents.empty()); |
| 228 | 228 |
| 229 Reset(preconfiguredPrefs); | 229 Reset(preconfiguredPrefs); |
| 230 | 230 |
| 231 ASSERT_TRUE(filterEngine->GetPref("suppress_first_run_page")->IsBool()); | 231 ASSERT_TRUE(filterEngine->GetPref("suppress_first_run_page")->IsBool()); |
| 232 ASSERT_FALSE(filterEngine->GetPref("suppress_first_run_page")->AsBool()); | 232 ASSERT_FALSE(filterEngine->GetPref("suppress_first_run_page")->AsBool()); |
| 233 } | 233 } |
| OLD | NEW |