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

Side by Side Diff: chrome/browser/ui/webui/downloads_dom_handler_browsertest.cc

Issue 10915180: Make DownloadHistory observe manager, items (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: @r159248 Created 8 years, 2 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 | Annotate | Revision Log
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 "base/auto_reset.h" 5 #include "base/auto_reset.h"
6 #include "base/json/json_reader.h" 6 #include "base/json/json_reader.h"
7 #include "base/scoped_temp_dir.h" 7 #include "base/scoped_temp_dir.h"
8 #include "base/values.h" 8 #include "base/values.h"
9 #include "chrome/browser/history/download_persistent_store_info.h"
9 #include "chrome/browser/prefs/pref_service.h" 10 #include "chrome/browser/prefs/pref_service.h"
10 #include "chrome/browser/profiles/profile.h" 11 #include "chrome/browser/profiles/profile.h"
11 #include "chrome/browser/ui/browser.h" 12 #include "chrome/browser/ui/browser.h"
12 #include "chrome/browser/ui/webui/downloads_dom_handler.h" 13 #include "chrome/browser/ui/webui/downloads_dom_handler.h"
13 #include "chrome/common/pref_names.h" 14 #include "chrome/common/pref_names.h"
14 #include "chrome/test/base/in_process_browser_test.h" 15 #include "chrome/test/base/in_process_browser_test.h"
15 #include "chrome/test/base/ui_test_utils.h" 16 #include "chrome/test/base/ui_test_utils.h"
16 #include "content/public/browser/download_persistent_store_info.h"
17 #include "content/public/browser/web_contents.h" 17 #include "content/public/browser/web_contents.h"
18 18
19 namespace { 19 namespace {
20 20
21 // Reads |right_json| into a ListValue |left_list|; returns true if all 21 // Reads |right_json| into a ListValue |left_list|; returns true if all
22 // key-value pairs in in all dictionaries in |right_list| are also in the 22 // key-value pairs in in all dictionaries in |right_list| are also in the
23 // corresponding dictionary in |left_list|. Ignores keys in dictionaries in 23 // corresponding dictionary in |left_list|. Ignores keys in dictionaries in
24 // |left_list| that are not in the corresponding dictionary in |right_list|. 24 // |left_list| that are not in the corresponding dictionary in |right_list|.
25 bool ListMatches(base::ListValue* left_list, const std::string& right_json) { 25 bool ListMatches(base::ListValue* left_list, const std::string& right_json) {
26 scoped_ptr<base::Value> right_value(base::JSONReader::Read(right_json)); 26 scoped_ptr<base::Value> right_value(base::JSONReader::Read(right_json));
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 }; 133 };
134 134
135 // Tests that DownloadsDOMHandler detects new downloads and relays them to the 135 // Tests that DownloadsDOMHandler detects new downloads and relays them to the
136 // renderer. 136 // renderer.
137 IN_PROC_BROWSER_TEST_F(DownloadsDOMHandlerTest, 137 IN_PROC_BROWSER_TEST_F(DownloadsDOMHandlerTest,
138 DownloadsDOMHandlerTest_Created) { 138 DownloadsDOMHandlerTest_Created) {
139 MockDownloadsDOMHandler mddh(download_manager()); 139 MockDownloadsDOMHandler mddh(download_manager());
140 140
141 GURL url = test_server()->GetURL("files/downloads/image.jpg"); 141 GURL url = test_server()->GetURL("files/downloads/image.jpg");
142 base::Time current(base::Time::Now()); 142 base::Time current(base::Time::Now());
143 content::DownloadPersistentStoreInfo population_entries[] = { 143 download_manager()->CreateDownloadItem(
144 content::DownloadPersistentStoreInfo( 144 FilePath(FILE_PATH_LITERAL("/path/to/file")),
145 FilePath(FILE_PATH_LITERAL("/path/to/file")), 145 url,
146 url, 146 GURL(""),
147 GURL(""), 147 current - base::TimeDelta::FromMinutes(5),
148 current - base::TimeDelta::FromMinutes(5), 148 current,
149 current, 149 128,
150 128, 150 128,
151 128, 151 content::DownloadItem::COMPLETE,
152 content::DownloadItem::COMPLETE, 152 false);
153 1,
154 false),
155 };
156 std::vector<content::DownloadPersistentStoreInfo> entries(
157 population_entries, population_entries + arraysize(population_entries));
158 download_manager()->OnPersistentStoreQueryComplete(&entries);
159 153
160 mddh.WaitForDownloadsList(); 154 mddh.WaitForDownloadsList();
161 ASSERT_EQ(1, static_cast<int>(mddh.downloads_list()->GetSize())); 155 ASSERT_EQ(1, static_cast<int>(mddh.downloads_list()->GetSize()));
162 EXPECT_TRUE(ListMatches( 156 EXPECT_TRUE(ListMatches(
163 mddh.downloads_list(), 157 mddh.downloads_list(),
164 "[{\"file_externally_removed\": false," 158 "[{\"file_externally_removed\": false,"
165 " \"file_name\": \"file\"," 159 " \"file_name\": \"file\","
166 " \"id\": 0," 160 " \"id\": 0,"
167 " \"otr\": false," 161 " \"otr\": false,"
168 " \"since_string\": \"Today\"," 162 " \"since_string\": \"Today\","
(...skipping 19 matching lines...) Expand all
188 // TODO(benjhayden): Test incognito, both downloads_list() and that on-record 182 // TODO(benjhayden): Test incognito, both downloads_list() and that on-record
189 // calls can't access off-record items. 183 // calls can't access off-record items.
190 184
191 // TODO(benjhayden): Test that bad download ids incoming from the javascript are 185 // TODO(benjhayden): Test that bad download ids incoming from the javascript are
192 // dropped on the floor. 186 // dropped on the floor.
193 187
194 // TODO(benjhayden): Test that IsTemporary() downloads are not shown. 188 // TODO(benjhayden): Test that IsTemporary() downloads are not shown.
195 189
196 // TODO(benjhayden): Test that RemoveObserver is called on all download items, 190 // TODO(benjhayden): Test that RemoveObserver is called on all download items,
197 // including items that crossed IsTemporary() and back. 191 // including items that crossed IsTemporary() and back.
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698