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

Side by Side Diff: content/browser/download/download_id_unittest.cc

Issue 15701007: BrowserContext should simply own DownloadManager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased version of patch for win_rel Created 7 years, 6 months 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
« no previous file with comments | « content/browser/browser_context.cc ('k') | content/browser/download/download_manager_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "content/public/browser/download_id.h" 5 #include "content/public/browser/download_id.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/memory/scoped_ptr.h" 12 #include "base/memory/scoped_vector.h"
13 #include "content/browser/browser_thread_impl.h" 13 #include "content/browser/browser_thread_impl.h"
14 #include "content/public/test/mock_download_manager.h" 14 #include "content/public/test/mock_download_manager.h"
15 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
16 16
17 namespace content { 17 namespace content {
18 18
19 class DownloadIdTest : public testing::Test { 19 class DownloadIdTest : public testing::Test {
20 public: 20 public:
21 DownloadIdTest() 21 DownloadIdTest()
22 : ui_thread_(BrowserThread::UI, &message_loop_) { 22 : ui_thread_(BrowserThread::UI, &message_loop_) {
23 num_managers_ = ARRAYSIZE_UNSAFE(download_managers_); 23 const size_t num_managers_ = 2;
24 std::vector<MockDownloadManager*> managers; 24 for (size_t i = 0; i < num_managers_; ++i) {
25 managers.resize(num_managers_); 25 download_managers_.push_back(new MockDownloadManager());
26 size_t i;
27 // Create the download managers.
28 for (i = 0; i < num_managers_; ++i) {
29 managers[i] = new MockDownloadManager();
30 } 26 }
31 // Sort by pointer value.
32 std::sort(managers.begin(), managers.end());
33 // Assign to |download_managers_|.
34 for (i = 0; i < num_managers_; ++i) {
35 download_managers_[i] = managers[i];
36 managers[i] = NULL;
37 }
38 }
39 27
40 virtual ~DownloadIdTest() { 28 // These pointers will be used as Domains for DownloadIds. Domain affects
41 for (size_t i = 0; i < num_managers_; ++i) 29 // the comparison of two DownloadIds, so we keep them sorted and use
42 download_managers_[i] = NULL; // Releases & deletes. 30 // that property when testing.
31 std::sort(download_managers_.begin(), download_managers_.end());
43 } 32 }
44 33
45 protected: 34 protected:
46 scoped_refptr<DownloadManager> download_managers_[2]; 35 ScopedVector<DownloadManager> download_managers_;
47 base::MessageLoopForUI message_loop_; 36 base::MessageLoopForUI message_loop_;
48 // Necessary to delete |DownloadManager|s. 37 // Necessary to delete |DownloadManager|s.
49 BrowserThreadImpl ui_thread_; 38 BrowserThreadImpl ui_thread_;
50 size_t num_managers_;
51 39
52 DISALLOW_COPY_AND_ASSIGN(DownloadIdTest); 40 DISALLOW_COPY_AND_ASSIGN(DownloadIdTest);
53 }; 41 };
54 42
55 TEST_F(DownloadIdTest, Local) { 43 TEST_F(DownloadIdTest, Local) {
56 DownloadId id1(download_managers_[0], 23); 44 DownloadId id1(download_managers_[0], 23);
57 DownloadId id2(download_managers_[0], 25); 45 DownloadId id2(download_managers_[0], 25);
58 46
59 EXPECT_EQ(23, id1.local()); 47 EXPECT_EQ(23, id1.local());
60 EXPECT_EQ(25, id2.local()); 48 EXPECT_EQ(25, id2.local());
(...skipping 21 matching lines...) Expand all
82 TEST_F(DownloadIdTest, NotEqualsIndex) { 70 TEST_F(DownloadIdTest, NotEqualsIndex) {
83 DownloadId id1(download_managers_[0], 23); 71 DownloadId id1(download_managers_[0], 23);
84 DownloadId id2(download_managers_[0], 24); 72 DownloadId id2(download_managers_[0], 24);
85 73
86 EXPECT_FALSE(id1 == id2); 74 EXPECT_FALSE(id1 == id2);
87 EXPECT_LT(id1, id2); 75 EXPECT_LT(id1, id2);
88 } 76 }
89 77
90 TEST_F(DownloadIdTest, NotEqualsManager) { 78 TEST_F(DownloadIdTest, NotEqualsManager) {
91 // Because it's sorted above, &download_managers_[1] > &download_managers_[0]. 79 // Because it's sorted above, &download_managers_[1] > &download_managers_[0].
92 EXPECT_LT(download_managers_[0].get(), download_managers_[1].get()); 80 EXPECT_LT(download_managers_[0], download_managers_[1]);
93 DownloadId id1(download_managers_[0], 23); 81 DownloadId id1(download_managers_[0], 23);
94 DownloadId id2(download_managers_[1], 23); 82 DownloadId id2(download_managers_[1], 23);
95 DownloadId id3(download_managers_[1], 22); 83 DownloadId id3(download_managers_[1], 22);
96 84
97 EXPECT_LT(DownloadId::Invalid(), id1); 85 EXPECT_LT(DownloadId::Invalid(), id1);
98 EXPECT_LT(DownloadId::Invalid(), id2); 86 EXPECT_LT(DownloadId::Invalid(), id2);
99 EXPECT_LT(DownloadId::Invalid(), id3); 87 EXPECT_LT(DownloadId::Invalid(), id3);
100 88
101 EXPECT_FALSE(id1 == id2); 89 EXPECT_FALSE(id1 == id2);
102 EXPECT_LT(id1, id2); 90 EXPECT_LT(id1, id2);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 last = map.end(); 130 last = map.end();
143 EXPECT_FALSE(last == map.find(id1)); 131 EXPECT_FALSE(last == map.find(id1));
144 EXPECT_FALSE(last == map.find(id2)); 132 EXPECT_FALSE(last == map.find(id2));
145 EXPECT_FALSE(last == map.find(id3)); 133 EXPECT_FALSE(last == map.find(id3));
146 134
147 EXPECT_FALSE(id1 == id2); 135 EXPECT_FALSE(id1 == id2);
148 EXPECT_LT(id1, id2); 136 EXPECT_LT(id1, id2);
149 } 137 }
150 138
151 } // namespace content 139 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/browser_context.cc ('k') | content/browser/download/download_manager_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698