| 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-2017 eyeo GmbH |    3  * Copyright (C) 2006-2017 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 20 matching lines...) Expand all  Loading... | 
|   31       source.replace(pos, find.size(), replace); |   31       source.replace(pos, find.size(), replace); | 
|   32   } |   32   } | 
|   33  |   33  | 
|   34   class UpdateCheckTest : public ::testing::Test |   34   class UpdateCheckTest : public ::testing::Test | 
|   35   { |   35   { | 
|   36   protected: |   36   protected: | 
|   37     AdblockPlus::AppInfo appInfo; |   37     AdblockPlus::AppInfo appInfo; | 
|   38     AdblockPlus::ServerResponse webRequestResponse; |   38     AdblockPlus::ServerResponse webRequestResponse; | 
|   39     DelayedWebRequest::SharedTasks webRequestTasks; |   39     DelayedWebRequest::SharedTasks webRequestTasks; | 
|   40     DelayedTimer::SharedTasks timerTasks; |   40     DelayedTimer::SharedTasks timerTasks; | 
 |   41     std::unique_ptr<Platform> platform; | 
|   41     FilterEnginePtr filterEngine; |   42     FilterEnginePtr filterEngine; | 
|   42  |   43  | 
|   43     bool eventCallbackCalled; |   44     bool eventCallbackCalled; | 
|   44     AdblockPlus::JsValueList eventCallbackParams; |   45     AdblockPlus::JsValueList eventCallbackParams; | 
|   45     bool updateCallbackCalled; |   46     bool updateCallbackCalled; | 
|   46     std::string updateError; |   47     std::string updateError; | 
|   47  |   48  | 
|   48     void SetUp() |   49     void SetUp() | 
|   49     { |   50     { | 
|   50       eventCallbackCalled = false; |   51       eventCallbackCalled = false; | 
|   51       updateCallbackCalled = false; |   52       updateCallbackCalled = false; | 
|   52     } |   53     } | 
|   53  |   54  | 
|   54     void CreateFilterEngine() |   55     void CreateFilterEngine() | 
|   55     { |   56     { | 
|   56       JsEngineCreationParameters jsEngineParams; |  | 
|   57       jsEngineParams.appInfo = appInfo; |  | 
|   58       LazyFileSystem* fileSystem; |   57       LazyFileSystem* fileSystem; | 
|   59       jsEngineParams.logSystem.reset(new LazyLogSystem()); |   58       ThrowingPlatformCreationParameters platformParams; | 
|   60       jsEngineParams.fileSystem.reset(fileSystem = new LazyFileSystem()); |   59       platformParams.logSystem.reset(new LazyLogSystem()); | 
|   61       jsEngineParams.timer = DelayedTimer::New(timerTasks); |   60       platformParams.timer = DelayedTimer::New(timerTasks); | 
|   62       jsEngineParams.webRequest = DelayedWebRequest::New(webRequestTasks); |   61       platformParams.fileSystem.reset(fileSystem = new LazyFileSystem()); | 
|   63       auto jsEngine = CreateJsEngine(std::move(jsEngineParams)); |   62       platformParams.webRequest = DelayedWebRequest::New(webRequestTasks); | 
|   64       jsEngine->SetEventCallback("updateAvailable", [this](JsValueList&& params) |   63       platform.reset(new Platform(std::move(platformParams))); | 
 |   64       platform->SetUpJsEngine(appInfo); | 
 |   65       platform->GetJsEngine()->SetEventCallback("updateAvailable", [this](JsValu
     eList&& params) | 
|   65       { |   66       { | 
|   66         eventCallbackCalled = true; |   67         eventCallbackCalled = true; | 
|   67         eventCallbackParams = std::move(params); |   68         eventCallbackParams = std::move(params); | 
|   68       }); |   69       }); | 
|   69  |   70  | 
|   70       filterEngine = ::CreateFilterEngine(*fileSystem, jsEngine); |   71       filterEngine = ::CreateFilterEngine(*fileSystem, platform->GetJsEngine()); | 
|   71     } |   72     } | 
|   72  |   73  | 
|   73     // Returns a URL or the empty string if there is no such request. |   74     // Returns a URL or the empty string if there is no such request. | 
|   74     std::string ProcessPendingUpdateWebRequest() |   75     std::string ProcessPendingUpdateWebRequest() | 
|   75     { |   76     { | 
|   76       auto ii = webRequestTasks->begin(); |   77       auto ii = webRequestTasks->begin(); | 
|   77       while (ii != webRequestTasks->end()) |   78       while (ii != webRequestTasks->end()) | 
|   78       { |   79       { | 
|   79         if (ii->url.find("update.json") != std::string::npos) |   80         if (ii->url.find("update.json") != std::string::npos) | 
|   80         { |   81         { | 
| (...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  299   ForceUpdateCheck(); |  300   ForceUpdateCheck(); | 
|  300  |  301  | 
|  301   // ensure that the was the corresponding request |  302   // ensure that the was the corresponding request | 
|  302   EXPECT_FALSE(ProcessPendingUpdateWebRequest().empty()); |  303   EXPECT_FALSE(ProcessPendingUpdateWebRequest().empty()); | 
|  303  |  304  | 
|  304   EXPECT_FALSE(eventCallbackCalled); |  305   EXPECT_FALSE(eventCallbackCalled); | 
|  305   EXPECT_EQ(1, timesCalled); |  306   EXPECT_EQ(1, timesCalled); | 
|  306  |  307  | 
|  307   // previous handler is not restored |  308   // previous handler is not restored | 
|  308   EXPECT_FALSE(eventCallbackCalled); |  309   EXPECT_FALSE(eventCallbackCalled); | 
|  309 } |  310 } | 
| OLD | NEW |