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

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

Issue 105853002: Implement a background downloader using BITS in Windows Chrome. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed error codes. 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 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 virtual ~CrxDownloaderTest(); 42 virtual ~CrxDownloaderTest();
43 43
44 // Overrides from testing::Test. 44 // Overrides from testing::Test.
45 virtual void SetUp() OVERRIDE; 45 virtual void SetUp() OVERRIDE;
46 virtual void TearDown() OVERRIDE; 46 virtual void TearDown() OVERRIDE;
47 47
48 void Quit(); 48 void Quit();
49 void RunThreads(); 49 void RunThreads();
50 void RunThreadsUntilIdle(); 50 void RunThreadsUntilIdle();
51 51
52 void DownloadComplete(int crx_context, 52 void DownloadComplete(int crx_context, const CrxDownloader::Result& result);
53 int error,
54 const base::FilePath& response);
55 53
56 protected: 54 protected:
57 scoped_ptr<CrxDownloader> crx_downloader_; 55 scoped_ptr<CrxDownloader> crx_downloader_;
58 56
59 int crx_context_; 57 int crx_context_;
60 int error_; 58 int error_;
59 base::FilePath response_;
61 60
62 int num_calls_; 61 int num_calls_;
63 62
64 // A magic value for the context to be used in the tests. 63 // A magic value for the context to be used in the tests.
65 static const int kExpectedContext = 0xaabb; 64 static const int kExpectedContext = 0xaabb;
66 65
67 private: 66 private:
68 scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_; 67 scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_;
69 scoped_refptr<net::TestURLRequestContextGetter> context_; 68 scoped_refptr<net::TestURLRequestContextGetter> context_;
70 content::TestBrowserThreadBundle thread_bundle_; 69 content::TestBrowserThreadBundle thread_bundle_;
(...skipping 15 matching lines...) Expand all
86 thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP) { 85 thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP) {
87 } 86 }
88 87
89 CrxDownloaderTest::~CrxDownloaderTest() { 88 CrxDownloaderTest::~CrxDownloaderTest() {
90 context_ = 0; 89 context_ = 0;
91 } 90 }
92 91
93 void CrxDownloaderTest::SetUp() { 92 void CrxDownloaderTest::SetUp() {
94 num_calls_ = 0; 93 num_calls_ = 0;
95 crx_downloader_.reset(CrxDownloader::Create( 94 crx_downloader_.reset(CrxDownloader::Create(
95 false, // Do not use the background downloader in these tests.
96 context_.get(), 96 context_.get(),
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 quit_closure_.Run();
108 } 108 }
109 109
110 void CrxDownloaderTest::DownloadComplete(int crx_context, 110 void CrxDownloaderTest::DownloadComplete(
111 int error, 111 int crx_context,
112 const base::FilePath& response) { 112 const CrxDownloader::Result& result) {
113 ++num_calls_; 113 ++num_calls_;
114 crx_context_ = crx_context; 114 crx_context_ = crx_context;
115 error_ = error; 115 error_ = result.error;
116 response_ = result.response;
116 Quit(); 117 Quit();
117 } 118 }
118 119
119 void CrxDownloaderTest::RunThreads() { 120 void CrxDownloaderTest::RunThreads() {
120 base::RunLoop runloop; 121 base::RunLoop runloop;
121 quit_closure_ = runloop.QuitClosure(); 122 quit_closure_ = runloop.QuitClosure();
122 runloop.Run(); 123 runloop.Run();
123 124
124 // Since some tests need to drain currently enqueued tasks such as network 125 // Since some tests need to drain currently enqueued tasks such as network
125 // intercepts on the IO thread, run the threads until they are 126 // intercepts on the IO thread, run the threads until they are
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 RunThreads(); 289 RunThreads();
289 EXPECT_EQ(0, interceptor.GetHitCount()); 290 EXPECT_EQ(0, interceptor.GetHitCount());
290 EXPECT_NE(0, error_); 291 EXPECT_NE(0, error_);
291 EXPECT_EQ(kExpectedContext, crx_context_); 292 EXPECT_EQ(kExpectedContext, crx_context_);
292 293
293 EXPECT_EQ(1, num_calls_); 294 EXPECT_EQ(1, num_calls_);
294 } 295 }
295 296
296 } // namespace component_updater 297 } // namespace component_updater
297 298
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698