15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/test/mock_download_manager.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "content/browser/byte_stream.h" 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/browser/download/download_create_info.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace content { 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)MockDownloadManager::CreateDownloadItemAdapter::CreateDownloadItemAdapter( 137dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch uint32 id, 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const base::FilePath& current_path, 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const base::FilePath& target_path, 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::vector<GURL>& url_chain, 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const GURL& referrer_url, 18f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) const std::string& mime_type, 19f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) const std::string& original_mime_type, 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const base::Time& start_time, 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const base::Time& end_time, 22ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch const std::string& etag, 23ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch const std::string& last_modified, 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int64 received_bytes, 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int64 total_bytes, 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DownloadItem::DownloadState state, 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DownloadDangerType danger_type, 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DownloadInterruptReason interrupt_reason, 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) bool opened) 307dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch : id(id), 317dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch current_path(current_path), 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) target_path(target_path), 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) url_chain(url_chain), 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) referrer_url(referrer_url), 35f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) mime_type(mime_type), 36f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) original_mime_type(original_mime_type), 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) start_time(start_time), 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) end_time(end_time), 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) received_bytes(received_bytes), 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) total_bytes(total_bytes), 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) state(state), 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) danger_type(danger_type), 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) interrupt_reason(interrupt_reason), 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) opened(opened) {} 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)MockDownloadManager::CreateDownloadItemAdapter::CreateDownloadItemAdapter( 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const CreateDownloadItemAdapter& rhs) 487dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch : id(rhs.id), 497dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch current_path(rhs.current_path), 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) target_path(rhs.target_path), 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) url_chain(rhs.url_chain), 522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) referrer_url(rhs.referrer_url), 532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) start_time(rhs.start_time), 542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) end_time(rhs.end_time), 55ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch etag(rhs.etag), 56ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch last_modified(rhs.last_modified), 572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) received_bytes(rhs.received_bytes), 582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) total_bytes(rhs.total_bytes), 592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) state(rhs.state), 602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) danger_type(rhs.danger_type), 612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) interrupt_reason(rhs.interrupt_reason), 622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) opened(rhs.opened) {} 632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)MockDownloadManager::CreateDownloadItemAdapter::~CreateDownloadItemAdapter() {} 652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)bool MockDownloadManager::CreateDownloadItemAdapter::operator==( 672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const CreateDownloadItemAdapter& rhs) { 687dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch return (id == rhs.id && 697dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch current_path == rhs.current_path && 702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) target_path == rhs.target_path && 712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) url_chain == rhs.url_chain && 722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) referrer_url == rhs.referrer_url && 73f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) mime_type == rhs.mime_type && 74f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) original_mime_type == rhs.original_mime_type && 752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) start_time == rhs.start_time && 762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) end_time == rhs.end_time && 77ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch etag == rhs.etag && 78ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch last_modified == rhs.last_modified && 792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) received_bytes == rhs.received_bytes && 802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) total_bytes == rhs.total_bytes && 812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) state == rhs.state && 822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) danger_type == rhs.danger_type && 832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) interrupt_reason == rhs.interrupt_reason && 842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) opened == rhs.opened); 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockDownloadManager::MockDownloadManager() {} 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockDownloadManager::~MockDownloadManager() {} 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 917dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochvoid MockDownloadManager::StartDownload( 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) scoped_ptr<DownloadCreateInfo> info, 937dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch scoped_ptr<ByteStreamReader> stream, 947dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch const DownloadUrlParameters::OnStartedCallback& callback) { 957dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch MockStartDownload(info.get(), stream.get()); 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)DownloadItem* MockDownloadManager::CreateDownloadItem( 997dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch uint32 id, 1002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const base::FilePath& current_path, 1012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const base::FilePath& target_path, 1022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::vector<GURL>& url_chain, 1032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const GURL& referrer_url, 104f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) const std::string& mime_type, 105f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) const std::string& original_mime_type, 1062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const base::Time& start_time, 1072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const base::Time& end_time, 108ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch const std::string& etag, 109ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch const std::string& last_modified, 1102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int64 received_bytes, 1112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int64 total_bytes, 1122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DownloadItem::DownloadState state, 1132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DownloadDangerType danger_type, 1142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DownloadInterruptReason interrupt_reason, 1152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) bool opened) { 1162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) CreateDownloadItemAdapter adapter( 117f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) id, current_path, target_path, url_chain, referrer_url, mime_type, 118f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) original_mime_type, start_time, end_time, etag, last_modified, 119f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) received_bytes, total_bytes, state, danger_type, interrupt_reason, 120f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) opened); 1212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return MockCreateDownloadItem(adapter); 1222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 1232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace content 125