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

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

Issue 14593012: BrowserContext should simply own DownloadManager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 7 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
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 }
27
31 // Sort by pointer value. 28 // Sort by pointer value.
32 std::sort(managers.begin(), managers.end()); 29 std::sort(download_managers_.begin(), download_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
40 virtual ~DownloadIdTest() {
41 for (size_t i = 0; i < num_managers_; ++i)
42 download_managers_[i] = NULL; // Releases & deletes.
43 } 30 }
44 31
45 protected: 32 protected:
46 scoped_refptr<DownloadManager> download_managers_[2]; 33 ScopedVector<DownloadManager> download_managers_;
47 base::MessageLoopForUI message_loop_; 34 base::MessageLoopForUI message_loop_;
48 // Necessary to delete |DownloadManager|s. 35 // Necessary to delete |DownloadManager|s.
49 BrowserThreadImpl ui_thread_; 36 BrowserThreadImpl ui_thread_;
50 size_t num_managers_;
51 37
52 DISALLOW_COPY_AND_ASSIGN(DownloadIdTest); 38 DISALLOW_COPY_AND_ASSIGN(DownloadIdTest);
53 }; 39 };
54 40
55 TEST_F(DownloadIdTest, Local) { 41 TEST_F(DownloadIdTest, Local) {
56 DownloadId id1(download_managers_[0], 23); 42 DownloadId id1(download_managers_[0], 23);
57 DownloadId id2(download_managers_[0], 25); 43 DownloadId id2(download_managers_[0], 25);
58 44
59 EXPECT_EQ(23, id1.local()); 45 EXPECT_EQ(23, id1.local());
60 EXPECT_EQ(25, id2.local()); 46 EXPECT_EQ(25, id2.local());
(...skipping 21 matching lines...) Expand all
82 TEST_F(DownloadIdTest, NotEqualsIndex) { 68 TEST_F(DownloadIdTest, NotEqualsIndex) {
83 DownloadId id1(download_managers_[0], 23); 69 DownloadId id1(download_managers_[0], 23);
84 DownloadId id2(download_managers_[0], 24); 70 DownloadId id2(download_managers_[0], 24);
85 71
86 EXPECT_FALSE(id1 == id2); 72 EXPECT_FALSE(id1 == id2);
87 EXPECT_LT(id1, id2); 73 EXPECT_LT(id1, id2);
88 } 74 }
89 75
90 TEST_F(DownloadIdTest, NotEqualsManager) { 76 TEST_F(DownloadIdTest, NotEqualsManager) {
91 // Because it's sorted above, &download_managers_[1] > &download_managers_[0]. 77 // Because it's sorted above, &download_managers_[1] > &download_managers_[0].
92 EXPECT_LT(download_managers_[0].get(), download_managers_[1].get()); 78 EXPECT_LT(download_managers_[0], download_managers_[1]);
93 DownloadId id1(download_managers_[0], 23); 79 DownloadId id1(download_managers_[0], 23);
94 DownloadId id2(download_managers_[1], 23); 80 DownloadId id2(download_managers_[1], 23);
95 DownloadId id3(download_managers_[1], 22); 81 DownloadId id3(download_managers_[1], 22);
96 82
97 EXPECT_LT(DownloadId::Invalid(), id1); 83 EXPECT_LT(DownloadId::Invalid(), id1);
98 EXPECT_LT(DownloadId::Invalid(), id2); 84 EXPECT_LT(DownloadId::Invalid(), id2);
99 EXPECT_LT(DownloadId::Invalid(), id3); 85 EXPECT_LT(DownloadId::Invalid(), id3);
100 86
101 EXPECT_FALSE(id1 == id2); 87 EXPECT_FALSE(id1 == id2);
102 EXPECT_LT(id1, id2); 88 EXPECT_LT(id1, id2);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 last = map.end(); 128 last = map.end();
143 EXPECT_FALSE(last == map.find(id1)); 129 EXPECT_FALSE(last == map.find(id1));
144 EXPECT_FALSE(last == map.find(id2)); 130 EXPECT_FALSE(last == map.find(id2));
145 EXPECT_FALSE(last == map.find(id3)); 131 EXPECT_FALSE(last == map.find(id3));
146 132
147 EXPECT_FALSE(id1 == id2); 133 EXPECT_FALSE(id1 == id2);
148 EXPECT_LT(id1, id2); 134 EXPECT_LT(id1, id2);
149 } 135 }
150 136
151 } // namespace content 137 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698