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

Side by Side Diff: chrome/browser/download/download_extension_test.cc

Issue 9568003: Fixed issue with DownloadTestObserver. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed comment. Created 8 years, 9 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 <algorithm> 5 #include <algorithm>
6 6
7 #include "base/file_util.h" 7 #include "base/file_util.h"
8 #include "base/scoped_temp_dir.h" 8 #include "base/scoped_temp_dir.h"
9 #include "base/stringprintf.h" 9 #include "base/stringprintf.h"
10 #include "chrome/browser/download/download_extension_api.h" 10 #include "chrome/browser/download/download_extension_api.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 DownloadManager* GetDownloadManager() { 52 DownloadManager* GetDownloadManager() {
53 DownloadService* download_service = 53 DownloadService* download_service =
54 DownloadServiceFactory::GetForProfile(browser()->profile()); 54 DownloadServiceFactory::GetForProfile(browser()->profile());
55 return download_service->GetDownloadManager(); 55 return download_service->GetDownloadManager();
56 } 56 }
57 57
58 void CreateSlowTestDownloads( 58 void CreateSlowTestDownloads(
59 size_t count, DownloadManager::DownloadVector* items) { 59 size_t count, DownloadManager::DownloadVector* items) {
60 for (size_t i = 0; i < count; ++i) { 60 for (size_t i = 0; i < count; ++i) {
61 scoped_ptr<DownloadTestObserver> observer( 61 scoped_ptr<DownloadTestObserver> observer(
62 CreateDownloadObserver(1, DownloadItem::IN_PROGRESS)); 62 CreateInProgressDownloadObserver(1));
63 GURL slow_download_url(URLRequestSlowDownloadJob::kUnknownSizeUrl); 63 GURL slow_download_url(URLRequestSlowDownloadJob::kUnknownSizeUrl);
64 ui_test_utils::NavigateToURLWithDisposition( 64 ui_test_utils::NavigateToURLWithDisposition(
65 browser(), slow_download_url, CURRENT_TAB, 65 browser(), slow_download_url, CURRENT_TAB,
66 ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); 66 ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
67 observer->WaitForFinished(); 67 observer->WaitForFinished();
68 EXPECT_EQ(
69 1u, observer->NumDownloadsSeenInState(DownloadItem::IN_PROGRESS));
68 // We don't expect a select file dialog. 70 // We don't expect a select file dialog.
69 CHECK(!observer->select_file_dialog_seen()); 71 CHECK(!observer->select_file_dialog_seen());
70 } 72 }
71 GetDownloadManager()->GetAllDownloads(FilePath(), items); 73 GetDownloadManager()->GetAllDownloads(FilePath(), items);
72 CHECK_EQ(count, items->size()); 74 CHECK_EQ(count, items->size());
73 } 75 }
74 76
75 DownloadItem* CreateSlowTestDownload() { 77 DownloadItem* CreateSlowTestDownload() {
76 scoped_ptr<DownloadTestObserver> observer( 78 scoped_ptr<DownloadTestObserver> observer(
77 CreateDownloadObserver(1, DownloadItem::IN_PROGRESS)); 79 CreateInProgressDownloadObserver(1));
78 GURL slow_download_url(URLRequestSlowDownloadJob::kUnknownSizeUrl); 80 GURL slow_download_url(URLRequestSlowDownloadJob::kUnknownSizeUrl);
79 DownloadManager* manager = GetDownloadManager(); 81 DownloadManager* manager = GetDownloadManager();
80 82
81 EXPECT_EQ(0, manager->InProgressCount()); 83 EXPECT_EQ(0, manager->InProgressCount());
82 if (manager->InProgressCount() != 0) 84 if (manager->InProgressCount() != 0)
83 return NULL; 85 return NULL;
84 86
85 ui_test_utils::NavigateToURLWithDisposition( 87 ui_test_utils::NavigateToURLWithDisposition(
86 browser(), slow_download_url, CURRENT_TAB, 88 browser(), slow_download_url, CURRENT_TAB,
87 ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); 89 ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
88 90
89 observer->WaitForFinished(); 91 observer->WaitForFinished();
92 EXPECT_EQ(1u, observer->NumDownloadsSeenInState(DownloadItem::IN_PROGRESS));
90 // We don't expect a select file dialog. 93 // We don't expect a select file dialog.
91 if (observer->select_file_dialog_seen()) 94 if (observer->select_file_dialog_seen())
92 return NULL; 95 return NULL;
93 96
94 DownloadManager::DownloadVector items; 97 DownloadManager::DownloadVector items;
95 manager->GetAllDownloads(FilePath(), &items); 98 manager->GetAllDownloads(FilePath(), &items);
96 99
97 DownloadItem* new_item = NULL; 100 DownloadItem* new_item = NULL;
98 for (DownloadManager::DownloadVector::iterator iter = items.begin(); 101 for (DownloadManager::DownloadVector::iterator iter = items.begin();
99 iter != items.end(); ++iter) { 102 iter != items.end(); ++iter) {
100 if ((*iter)->GetState() == DownloadItem::IN_PROGRESS) { 103 if ((*iter)->GetState() == DownloadItem::IN_PROGRESS) {
101 // There should be only one IN_PROGRESS item. 104 // There should be only one IN_PROGRESS item.
102 EXPECT_EQ(NULL, new_item); 105 EXPECT_EQ(NULL, new_item);
103 new_item = *iter; 106 new_item = *iter;
104 } 107 }
105 } 108 }
106 return new_item; 109 return new_item;
107 } 110 }
108 111
109 void FinishPendingSlowDownloads() { 112 void FinishPendingSlowDownloads() {
110 scoped_ptr<DownloadTestObserver> observer( 113 scoped_ptr<DownloadTestObserver> observer(
111 CreateDownloadObserver(1, DownloadItem::COMPLETE)); 114 CreateDownloadObserver(1));
112 GURL finish_url(URLRequestSlowDownloadJob::kFinishDownloadUrl); 115 GURL finish_url(URLRequestSlowDownloadJob::kFinishDownloadUrl);
113 ui_test_utils::NavigateToURLWithDisposition( 116 ui_test_utils::NavigateToURLWithDisposition(
114 browser(), finish_url, NEW_FOREGROUND_TAB, 117 browser(), finish_url, NEW_FOREGROUND_TAB,
115 ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); 118 ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
116 observer->WaitForFinished(); 119 observer->WaitForFinished();
120 EXPECT_EQ(1u, observer->NumDownloadsSeenInState(DownloadItem::COMPLETE));
117 } 121 }
118 122
119 DownloadTestObserver* CreateDownloadObserver( 123 DownloadTestObserver* CreateDownloadObserver(size_t download_count) {
120 size_t download_count, 124 return new DownloadTestObserverTerminal(
121 DownloadItem::DownloadState finished_state) { 125 GetDownloadManager(), download_count, true,
122 return new DownloadTestObserver(
123 GetDownloadManager(), download_count, finished_state, true,
124 DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL); 126 DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL);
125 } 127 }
126 128
129 DownloadTestObserver* CreateInProgressDownloadObserver(
130 size_t download_count) {
131 return new DownloadTestObserverInProgress(GetDownloadManager(),
132 download_count,
133 true);
134 }
135
127 bool RunFunction(UIThreadExtensionFunction* function, 136 bool RunFunction(UIThreadExtensionFunction* function,
128 const std::string& args) { 137 const std::string& args) {
129 // extension_function_test_utils::RunFunction() does not take 138 // extension_function_test_utils::RunFunction() does not take
130 // ownership of |function|. 139 // ownership of |function|.
131 scoped_refptr<ExtensionFunction> function_owner(function); 140 scoped_refptr<ExtensionFunction> function_owner(function);
132 return extension_function_test_utils::RunFunction( 141 return extension_function_test_utils::RunFunction(
133 function, args, browser(), extension_function_test_utils::NONE); 142 function, args, browser(), extension_function_test_utils::NONE);
134 } 143 }
135 144
136 base::Value* RunFunctionAndReturnResult(UIThreadExtensionFunction* function, 145 base::Value* RunFunctionAndReturnResult(UIThreadExtensionFunction* function,
(...skipping 567 matching lines...) Expand 10 before | Expand all | Expand 10 after
704 ASSERT_TRUE(result.get()); 713 ASSERT_TRUE(result.get());
705 base::ListValue* result_list = NULL; 714 base::ListValue* result_list = NULL;
706 ASSERT_TRUE(result->GetAsList(&result_list)); 715 ASSERT_TRUE(result->GetAsList(&result_list));
707 ASSERT_EQ(1UL, result_list->GetSize()); 716 ASSERT_EQ(1UL, result_list->GetSize());
708 base::DictionaryValue* item_value = NULL; 717 base::DictionaryValue* item_value = NULL;
709 ASSERT_TRUE(result_list->GetDictionary(0, &item_value)); 718 ASSERT_TRUE(result_list->GetDictionary(0, &item_value));
710 FilePath::StringType item_name; 719 FilePath::StringType item_name;
711 ASSERT_TRUE(item_value->GetString("filename", &item_name)); 720 ASSERT_TRUE(item_value->GetString("filename", &item_name));
712 ASSERT_EQ(items[2]->GetFullPath().value(), item_name); 721 ASSERT_EQ(items[2]->GetFullPath().value(), item_name);
713 } 722 }
OLDNEW
« no previous file with comments | « chrome/browser/download/download_browsertest.cc ('k') | chrome/browser/download/download_test_observer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698