Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: test/UpdateCheck.cpp

Issue 29442626: Noissue - remove JsEngine as a member of UpdateCheckTest (Closed) Base URL: https://github.com/adblockplus/libadblockplus.git
Patch Set: Created May 19, 2017, 4:50 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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 AdblockPlus::JsEnginePtr jsEngine;
42 FilterEnginePtr filterEngine; 41 FilterEnginePtr filterEngine;
43 42
44 bool eventCallbackCalled; 43 bool eventCallbackCalled;
45 AdblockPlus::JsValueList eventCallbackParams; 44 AdblockPlus::JsValueList eventCallbackParams;
46 bool updateCallbackCalled; 45 bool updateCallbackCalled;
47 std::string updateError; 46 std::string updateError;
48 47
49 void SetUp() 48 void SetUp()
50 { 49 {
51 eventCallbackCalled = false; 50 eventCallbackCalled = false;
52 updateCallbackCalled = false; 51 updateCallbackCalled = false;
53 } 52 }
54 53
55 void CreateFilterEngine() 54 void CreateFilterEngine()
56 { 55 {
57 JsEngineCreationParameters jsEngineParams; 56 JsEngineCreationParameters jsEngineParams;
58 jsEngineParams.appInfo = appInfo; 57 jsEngineParams.appInfo = appInfo;
59 jsEngineParams.logSystem.reset(new LazyLogSystem()); 58 jsEngineParams.logSystem.reset(new LazyLogSystem());
60 jsEngineParams.fileSystem.reset(new LazyFileSystem()); 59 jsEngineParams.fileSystem.reset(new LazyFileSystem());
61 jsEngineParams.timer = DelayedTimer::New(timerTasks); 60 jsEngineParams.timer = DelayedTimer::New(timerTasks);
62 jsEngineParams.webRequest = DelayedWebRequest::New(webRequestTasks); 61 jsEngineParams.webRequest = DelayedWebRequest::New(webRequestTasks);
63 jsEngine = CreateJsEngine(std::move(jsEngineParams)); 62 auto jsEngine = CreateJsEngine(std::move(jsEngineParams));
64 jsEngine->SetEventCallback("updateAvailable", [this](JsValueList&& params) 63 jsEngine->SetEventCallback("updateAvailable", [this](JsValueList&& params)
65 { 64 {
66 eventCallbackCalled = true; 65 eventCallbackCalled = true;
67 eventCallbackParams = std::move(params); 66 eventCallbackParams = std::move(params);
68 }); 67 });
69 68
70 filterEngine = AdblockPlus::FilterEngine::Create(jsEngine); 69 filterEngine = AdblockPlus::FilterEngine::Create(jsEngine);
71 } 70 }
72 71
73 // Returns a URL or the empty string if there is no such request. 72 // Returns a URL or the empty string if there is no such request.
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 CreateFilterEngine(); 112 CreateFilterEngine();
114 ForceUpdateCheck(); 113 ForceUpdateCheck();
115 114
116 auto requestUrl = ProcessPendingUpdateWebRequest(); 115 auto requestUrl = ProcessPendingUpdateWebRequest();
117 116
118 ASSERT_FALSE(eventCallbackCalled); 117 ASSERT_FALSE(eventCallbackCalled);
119 ASSERT_TRUE(updateCallbackCalled); 118 ASSERT_TRUE(updateCallbackCalled);
120 ASSERT_FALSE(updateError.empty()); 119 ASSERT_FALSE(updateError.empty());
121 120
122 std::string expectedUrl(filterEngine->GetPref("update_url_release").AsString() ); 121 std::string expectedUrl(filterEngine->GetPref("update_url_release").AsString() );
123 std::string platform = jsEngine->Evaluate("require('info').platform").AsString (); 122 std::string platform = filterEngine->GetJsEngine()->Evaluate("require('info'). platform").AsString();
124 std::string platformVersion = jsEngine->Evaluate("require('info').platformVers ion").AsString(); 123 std::string platformVersion = filterEngine->GetJsEngine()->Evaluate("require(' info').platformVersion").AsString();
125 124
126 FindAndReplace(expectedUrl, "%NAME%", appInfo.name); 125 FindAndReplace(expectedUrl, "%NAME%", appInfo.name);
127 FindAndReplace(expectedUrl, "%TYPE%", "1"); // manual update 126 FindAndReplace(expectedUrl, "%TYPE%", "1"); // manual update
128 expectedUrl += "&addonName=" + appInfo.name + 127 expectedUrl += "&addonName=" + appInfo.name +
129 "&addonVersion=" + appInfo.version + 128 "&addonVersion=" + appInfo.version +
130 "&application=" + appInfo.application + 129 "&application=" + appInfo.application +
131 "&applicationVersion=" + appInfo.applicationVersion + 130 "&applicationVersion=" + appInfo.applicationVersion +
132 "&platform=" + platform + 131 "&platform=" + platform +
133 "&platformVersion=" + platformVersion + 132 "&platformVersion=" + platformVersion +
134 "&lastVersion=0&downloadCount=0"; 133 "&lastVersion=0&downloadCount=0";
(...skipping 17 matching lines...) Expand all
152 151
153 auto requestUrl = ProcessPendingUpdateWebRequest(); 152 auto requestUrl = ProcessPendingUpdateWebRequest();
154 153
155 ASSERT_TRUE(eventCallbackCalled); 154 ASSERT_TRUE(eventCallbackCalled);
156 ASSERT_EQ(1u, eventCallbackParams.size()); 155 ASSERT_EQ(1u, eventCallbackParams.size());
157 ASSERT_EQ("https://foo.bar/", eventCallbackParams[0].AsString()); 156 ASSERT_EQ("https://foo.bar/", eventCallbackParams[0].AsString());
158 ASSERT_TRUE(updateCallbackCalled); 157 ASSERT_TRUE(updateCallbackCalled);
159 ASSERT_TRUE(updateError.empty()); 158 ASSERT_TRUE(updateError.empty());
160 159
161 std::string expectedUrl(filterEngine->GetPref("update_url_devbuild").AsString( )); 160 std::string expectedUrl(filterEngine->GetPref("update_url_devbuild").AsString( ));
162 std::string platform = jsEngine->Evaluate("require('info').platform").AsString (); 161 std::string platform = filterEngine->GetJsEngine()->Evaluate("require('info'). platform").AsString();
163 std::string platformVersion = jsEngine->Evaluate("require('info').platformVers ion").AsString(); 162 std::string platformVersion = filterEngine->GetJsEngine()->Evaluate("require(' info').platformVersion").AsString();
164 163
165 FindAndReplace(expectedUrl, "%NAME%", appInfo.name); 164 FindAndReplace(expectedUrl, "%NAME%", appInfo.name);
166 FindAndReplace(expectedUrl, "%TYPE%", "1"); // manual update 165 FindAndReplace(expectedUrl, "%TYPE%", "1"); // manual update
167 expectedUrl += "&addonName=" + appInfo.name + 166 expectedUrl += "&addonName=" + appInfo.name +
168 "&addonVersion=" + appInfo.version + 167 "&addonVersion=" + appInfo.version +
169 "&application=" + appInfo.application + 168 "&application=" + appInfo.application +
170 "&applicationVersion=" + appInfo.applicationVersion + 169 "&applicationVersion=" + appInfo.applicationVersion +
171 "&platform=" + platform + 170 "&platform=" + platform +
172 "&platformVersion=" + platformVersion + 171 "&platformVersion=" + platformVersion +
173 "&lastVersion=0&downloadCount=0"; 172 "&lastVersion=0&downloadCount=0";
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 299
301 // ensure that the was the corresponding request 300 // ensure that the was the corresponding request
302 EXPECT_FALSE(ProcessPendingUpdateWebRequest().empty()); 301 EXPECT_FALSE(ProcessPendingUpdateWebRequest().empty());
303 302
304 EXPECT_FALSE(eventCallbackCalled); 303 EXPECT_FALSE(eventCallbackCalled);
305 EXPECT_EQ(1, timesCalled); 304 EXPECT_EQ(1, timesCalled);
306 305
307 // previous handler is not restored 306 // previous handler is not restored
308 EXPECT_FALSE(eventCallbackCalled); 307 EXPECT_FALSE(eventCallbackCalled);
309 } 308 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld