#include <stddef.h>
#include <memory>
#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/run_loop.h"
#include "base/strings/stringprintf.h"
#include "base/test/scoped_feature_list.h"
#include "chrome/browser/browser_features.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/download/chrome_download_manager_delegate.h"
#include "chrome/browser/download/download_core_service.h"
#include "chrome/browser/download/download_core_service_factory.h"
#include "chrome/browser/download/download_core_service_impl.h"
#include "chrome/browser/download/download_prefs.h"
#include "chrome/browser/download/download_status_updater.h"
#include "chrome/browser/profiles/keep_alive/profile_keep_alive_types.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/test/base/testing_browser_process.h"
#include "chrome/test/base/testing_profile.h"
#include "chrome/test/base/testing_profile_manager.h"
#include "components/download/public/common/mock_download_item.h"
#include "content/public/test/browser_task_environment.h"
#include "content/public/test/mock_download_manager.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
AtLeast;
Invoke;
Mock;
Return;
SetArgPointee;
StrictMock;
WithArg;
_;
class TestDownloadStatusUpdater : public DownloadStatusUpdater { … };
class DownloadStatusUpdaterTest : public testing::Test { … };
TEST_F(DownloadStatusUpdaterTest, Basic) { … }
TEST_F(DownloadStatusUpdaterTest, OneManagerNoItems) { … }
TEST_F(DownloadStatusUpdaterTest, OneManagerManyItems) { … }
TEST_F(DownloadStatusUpdaterTest, ProgressNotification) { … }
TEST_F(DownloadStatusUpdaterTest, UnknownSize) { … }
TEST_F(DownloadStatusUpdaterTest, ManyManagersNoItems) { … }
TEST_F(DownloadStatusUpdaterTest, ManyManagersEmptyItems) { … }
TEST_F(DownloadStatusUpdaterTest, ManyManagersMixedItems) { … }
TEST_F(DownloadStatusUpdaterTest, HoldsKeepAlive) { … }
TEST_F(DownloadStatusUpdaterTest, TransientDownload) { … }