Index: test/Prefs.cpp
===================================================================
--- a/test/Prefs.cpp
+++ b/test/Prefs.cpp
@@ -24,34 +24,30 @@
 
 namespace
 {
   typedef std::shared_ptr<AdblockPlus::FilterEngine> FilterEnginePtr;
 
   class TestFileSystem : public LazyFileSystem
   {
   public:
-    std::string prefsContents;
+    IOBuffer prefsContents;
 
-    std::shared_ptr<std::istream> Read(const std::string& path) const
+    IOBuffer Read(const std::string& path) const
     {
       if (path == "prefs.json" && !prefsContents.empty())
-        return std::shared_ptr<std::istream>(new std::istringstream(prefsContents));
+        return prefsContents;
 
       return LazyFileSystem::Read(path);
     }
 
-    void Write(const std::string& path, std::istream& content)
+    void Write(const std::string& path, const IOBuffer& content)
     {
       if (path == "prefs.json")
-      {
-        std::stringstream ss;
-        ss << content.rdbuf();
-        prefsContents = ss.str();
-      }
+        prefsContents = content;
       else
         LazyFileSystem::Write(path, content);
     }
 
     StatResult Stat(const std::string& path) const
     {
       if (path == "prefs.json")
       {
@@ -139,25 +135,29 @@
     ASSERT_EQ("filters.ini", filterEngine->GetPref("patternsfile").AsString());
     ASSERT_EQ(48, filterEngine->GetPref("patternsbackupinterval").AsInt());
     ASSERT_FALSE(filterEngine->GetPref("subscriptions_autoupdate").AsBool());
   }
 }
 
 TEST_F(PrefsTest, UnknownPrefs)
 {
-  fileSystem->prefsContents = "{\"foobar\":2, \"patternsbackupinterval\": 12}";
+  using IOBuffer = AdblockPlus::FileSystem::IOBuffer;
+  std::string content = "{\"foobar\":2, \"patternsbackupinterval\": 12}";
+  fileSystem->prefsContents = IOBuffer(content.cbegin(), content.cend());
   auto filterEngine = CreateFilterEngine();
   ASSERT_TRUE(filterEngine->GetPref("foobar").IsUndefined());
   ASSERT_EQ(12, filterEngine->GetPref("patternsbackupinterval").AsInt());
 }
 
 TEST_F(PrefsTest, SyntaxFailure)
 {
-  fileSystem->prefsContents = "{\"patternsbackupinterval\": 6, \"foo\"}";
+  using IOBuffer = AdblockPlus::FileSystem::IOBuffer;
+  std::string content = "{\"patternsbackupinterval\": 6, \"foo\"}";
+  fileSystem->prefsContents = IOBuffer(content.cbegin(), content.cend());
   auto filterEngine = CreateFilterEngine();
 
   ASSERT_EQ(24, filterEngine->GetPref("patternsbackupinterval").AsInt());
 }
 
 TEST_F(PrefsTest, PreconfiguredPrefsPreconfigured)
 {
   AdblockPlus::FilterEngine::Prefs preconfiguredPrefs;
