Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(585)

Side by Side Diff: chrome/browser/component_updater/test/crx_downloader_unittest.cc

Issue 118703008: Merge 241734 "Added support for multiple urls in the component u..." (Closed) Base URL: svn://svn.chromium.org/chrome/branches/1750/src/
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/bind.h" 5 #include "base/bind.h"
6 #include "base/file_util.h" 6 #include "base/file_util.h"
7 #include "base/files/file_path.h" 7 #include "base/files/file_path.h"
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 blocking_task_runner_, 97 blocking_task_runner_,
98 base::Bind(&CrxDownloaderTest::DownloadComplete, 98 base::Bind(&CrxDownloaderTest::DownloadComplete,
99 base::Unretained(this), 99 base::Unretained(this),
100 kExpectedContext))); 100 kExpectedContext)));
101 } 101 }
102 102
103 void CrxDownloaderTest::TearDown() { 103 void CrxDownloaderTest::TearDown() {
104 } 104 }
105 105
106 void CrxDownloaderTest::Quit() { 106 void CrxDownloaderTest::Quit() {
107 quit_closure_.Run(); 107 if (!quit_closure_.is_null())
108 quit_closure_.Run();
108 } 109 }
109 110
110 void CrxDownloaderTest::DownloadComplete( 111 void CrxDownloaderTest::DownloadComplete(
111 int crx_context, 112 int crx_context,
112 const CrxDownloader::Result& result) { 113 const CrxDownloader::Result& result) {
113 ++num_calls_; 114 ++num_calls_;
114 crx_context_ = crx_context; 115 crx_context_ = crx_context;
115 error_ = result.error; 116 error_ = result.error;
116 response_ = result.response; 117 response_ = result.response;
117 Quit(); 118 Quit();
118 } 119 }
119 120
120 void CrxDownloaderTest::RunThreads() { 121 void CrxDownloaderTest::RunThreads() {
121 base::RunLoop runloop; 122 base::RunLoop runloop;
122 quit_closure_ = runloop.QuitClosure(); 123 quit_closure_ = runloop.QuitClosure();
123 runloop.Run(); 124 runloop.Run();
124 125
125 // Since some tests need to drain currently enqueued tasks such as network 126 // Since some tests need to drain currently enqueued tasks such as network
126 // intercepts on the IO thread, run the threads until they are 127 // intercepts on the IO thread, run the threads until they are
127 // idle. The component updater service won't loop again until the loop count 128 // idle. The component updater service won't loop again until the loop count
128 // is set and the service is started. 129 // is set and the service is started.
129 RunThreadsUntilIdle(); 130 RunThreadsUntilIdle();
130 } 131 }
131 132
132 void CrxDownloaderTest::RunThreadsUntilIdle() { 133 void CrxDownloaderTest::RunThreadsUntilIdle() {
133 base::RunLoop().RunUntilIdle(); 134 base::RunLoop().RunUntilIdle();
134 } 135 }
135 136
137 // Tests that starting a download without a url results in an error.
138 TEST_F(CrxDownloaderTest, NoUrl) {
139 std::vector<GURL> urls;
140 crx_downloader_->StartDownload(urls);
141
142 RunThreadsUntilIdle();
143 EXPECT_EQ(-1, error_);
144 EXPECT_EQ(kExpectedContext, crx_context_);
145
146 EXPECT_EQ(1, num_calls_);
147 }
148
136 // Tests that downloading from one url is successful. 149 // Tests that downloading from one url is successful.
137 TEST_F(CrxDownloaderTest, OneUrl) { 150 TEST_F(CrxDownloaderTest, OneUrl) {
138 const GURL expected_crx_url = 151 const GURL expected_crx_url =
139 GURL("http://localhost/download/jebgalgnebhfojomionfpkfelancnnkf.crx"); 152 GURL("http://localhost/download/jebgalgnebhfojomionfpkfelancnnkf.crx");
140 153
141 GetInterceptor interceptor; 154 GetInterceptor interceptor;
142 interceptor.SetResponse( 155 interceptor.SetResponse(
143 expected_crx_url, 156 expected_crx_url,
144 test_file("jebgalgnebhfojomionfpkfelancnnkf.crx")); 157 test_file("jebgalgnebhfojomionfpkfelancnnkf.crx"));
145 158
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 RunThreads(); 302 RunThreads();
290 EXPECT_EQ(0, interceptor.GetHitCount()); 303 EXPECT_EQ(0, interceptor.GetHitCount());
291 EXPECT_NE(0, error_); 304 EXPECT_NE(0, error_);
292 EXPECT_EQ(kExpectedContext, crx_context_); 305 EXPECT_EQ(kExpectedContext, crx_context_);
293 306
294 EXPECT_EQ(1, num_calls_); 307 EXPECT_EQ(1, num_calls_);
295 } 308 }
296 309
297 } // namespace component_updater 310 } // namespace component_updater
298 311
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698