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

Unified Diff: chrome/browser/chromeos/imageburner/burn_device_handler_unittest.cc

Issue 679633002: chromeos: Remove legacy code for chrome://imageburner (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix unit_tests build Created 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/imageburner/burn_device_handler_unittest.cc
diff --git a/chrome/browser/chromeos/imageburner/burn_device_handler_unittest.cc b/chrome/browser/chromeos/imageburner/burn_device_handler_unittest.cc
deleted file mode 100644
index 1cf620d720bd3d76bddecd4628389f6d0cda8922..0000000000000000000000000000000000000000
--- a/chrome/browser/chromeos/imageburner/burn_device_handler_unittest.cc
+++ /dev/null
@@ -1,286 +0,0 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/chromeos/imageburner/burn_device_handler.h"
-
-#include <string>
-#include <utility>
-#include <vector>
-
-#include "base/bind.h"
-#include "base/logging.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/observer_list.h"
-#include "base/stl_util.h"
-#include "chromeos/dbus/cros_disks_client.h"
-#include "chromeos/disks/disk_mount_manager.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace chromeos {
-namespace imageburner {
-
-namespace {
-
-const bool kIsParent = true;
-const bool kIsBootDevice = true;
-const bool kHasMedia = true;
-
-class FakeDiskMountManager : public disks::DiskMountManager {
- public:
- FakeDiskMountManager() {}
-
- virtual ~FakeDiskMountManager() {
- STLDeleteValues(&disks_);
- }
-
- // Emulates to add new disk physically (e.g., connecting a
- // new USB flash to a Chrome OS).
- void EmulateAddDisk(scoped_ptr<Disk> in_disk) {
- DCHECK(in_disk.get());
- // Keep the reference for the callback, before passing the ownership to
- // InsertDisk. It should be safe, because it won't be deleted in
- // InsertDisk.
- Disk* disk = in_disk.get();
- bool new_disk = InsertDisk(disk->device_path(), in_disk.Pass());
- FOR_EACH_OBSERVER(
- Observer, observers_,
- OnDiskEvent(new_disk ? DISK_ADDED : DISK_CHANGED, disk));
- }
-
- // Emulates to remove a disk phyically (e.g., removing a USB flash from
- // a Chrome OS).
- void EmulateRemoveDisk(const std::string& source_path) {
- scoped_ptr<Disk> disk(RemoveDisk(source_path));
- if (disk.get()) {
- FOR_EACH_OBSERVER(
- Observer, observers_, OnDiskEvent(DISK_REMOVED, disk.get()));
- }
- }
-
- // DiskMountManager overrides.
- virtual void AddObserver(Observer* observer) override {
- observers_.AddObserver(observer);
- }
-
- virtual void RemoveObserver(Observer* observer) override {
- observers_.RemoveObserver(observer);
- }
-
- virtual const DiskMap& disks() const override {
- return disks_;
- }
-
- // Following methods are not implemented.
- virtual const Disk* FindDiskBySourcePath(
- const std::string& source_path) const override {
- return NULL;
- }
- virtual const MountPointMap& mount_points() const override {
- // Note: mount_points_ will always be empty, now.
- return mount_points_;
- }
- virtual void EnsureMountInfoRefreshed(
- const EnsureMountInfoRefreshedCallback& callback) override {}
- virtual void MountPath(const std::string& source_path,
- const std::string& source_format,
- const std::string& mount_label,
- MountType type) override {}
- virtual void UnmountPath(const std::string& mount_path,
- UnmountOptions options,
- const UnmountPathCallback& callback) override {}
- virtual void FormatMountedDevice(const std::string& mount_path) override {}
- virtual void UnmountDeviceRecursively(
- const std::string& device_path,
- const UnmountDeviceRecursivelyCallbackType& callback) override {}
- virtual bool AddDiskForTest(Disk* disk) override { return false; }
- virtual bool AddMountPointForTest(
- const MountPointInfo& mount_point) override {
- return false;
- }
-
- private:
- bool InsertDisk(const std::string& path, scoped_ptr<Disk> disk) {
- std::pair<DiskMap::iterator, bool> insert_result =
- disks_.insert(std::pair<std::string, Disk*>(path, NULL));
- if (!insert_result.second) {
- // There is already an entry. Delete it before replacing.
- delete insert_result.first->second;
- }
- insert_result.first->second = disk.release(); // Moves ownership.
- return insert_result.second;
- }
-
- scoped_ptr<Disk> RemoveDisk(const std::string& path) {
- DiskMap::iterator iter = disks_.find(path);
- if (iter == disks_.end()) {
- // Not found.
- return scoped_ptr<Disk>();
- }
- scoped_ptr<Disk> result(iter->second);
- disks_.erase(iter);
- return result.Pass();
- }
-
- ObserverList<Observer> observers_;
- DiskMap disks_;
- MountPointMap mount_points_;
-
- DISALLOW_COPY_AND_ASSIGN(FakeDiskMountManager);
-};
-
-void CopyDevicePathCallback(
- std::string* out_path, const disks::DiskMountManager::Disk& disk) {
- *out_path = disk.device_path();
-}
-
-} // namespace
-
-class BurnDeviceHandlerTest : public testing::Test {
- protected:
- virtual void SetUp() override {
- disk_mount_manager_.reset(new FakeDiskMountManager);
- }
-
- virtual void TearDown() override {
- disk_mount_manager_.reset();
- }
-
- static scoped_ptr<disks::DiskMountManager::Disk> CreateMockDisk(
- const std::string& device_path,
- bool is_parent,
- bool on_boot_device,
- bool has_media,
- DeviceType device_type) {
- return scoped_ptr<disks::DiskMountManager::Disk>(
- new disks::DiskMountManager::Disk(
- device_path,
- "", // mount path
- "", // system_path
- "", // file_path
- "", // device label
- "", // drive label
- "", // vendor id
- "", // vendor name
- "", // product id
- "", // product name
- "", // fs uuid
- "", // system path prefix
- device_type,
- 0, // total size in bytes
- is_parent,
- false, // is read only
- has_media,
- on_boot_device,
- true, // on_removable_device
- false)); // is hidden
- }
-
- scoped_ptr<FakeDiskMountManager> disk_mount_manager_;
-};
-
-TEST_F(BurnDeviceHandlerTest, GetBurnableDevices) {
- // The devices which should be retrieved as burnable.
- disk_mount_manager_->EmulateAddDisk(
- CreateMockDisk("/dev/burnable_usb",
- kIsParent, !kIsBootDevice, kHasMedia, DEVICE_TYPE_USB));
- disk_mount_manager_->EmulateAddDisk(
- CreateMockDisk("/dev/burnable_sd",
- kIsParent, !kIsBootDevice, kHasMedia, DEVICE_TYPE_SD));
-
- // If the device type is neither USB nor SD, it shouldn't be burnable.
- disk_mount_manager_->EmulateAddDisk(
- CreateMockDisk(
- "/dev/non_burnable_unknown",
- kIsParent, !kIsBootDevice, kHasMedia, DEVICE_TYPE_UNKNOWN));
- disk_mount_manager_->EmulateAddDisk(
- CreateMockDisk("/dev/non_burnable_dvd",
- kIsParent, !kIsBootDevice, kHasMedia, DEVICE_TYPE_DVD));
-
- // If not parent, it shouldn't be burnable.
- disk_mount_manager_->EmulateAddDisk(
- CreateMockDisk("/dev/non_burnable_not_parent",
- !kIsParent, !kIsBootDevice, kHasMedia, DEVICE_TYPE_USB));
-
- // If on_boot_device, it shouldn't be burnable.
- disk_mount_manager_->EmulateAddDisk(
- CreateMockDisk("/dev/non_burnable_boot_device",
- kIsParent, kIsBootDevice, kHasMedia, DEVICE_TYPE_USB));
-
- // If no media, it shouldn't be burnable.
- disk_mount_manager_->EmulateAddDisk(
- CreateMockDisk("/dev/non_burnable_no_media",
- kIsParent, !kIsBootDevice, !kHasMedia, DEVICE_TYPE_USB));
-
- BurnDeviceHandler handler(disk_mount_manager_.get());
-
- const std::vector<disks::DiskMountManager::Disk>& burnable_devices =
- handler.GetBurnableDevices();
- ASSERT_EQ(2u, burnable_devices.size());
- bool burnable_usb_found = false;
- bool burnable_sd_found = false;
- for (size_t i = 0; i < burnable_devices.size(); ++i) {
- const std::string& device_path = burnable_devices[i].device_path();
- burnable_usb_found |= (device_path == "/dev/burnable_usb");
- burnable_sd_found |= (device_path == "/dev/burnable_sd");
- }
-
- EXPECT_TRUE(burnable_usb_found);
- EXPECT_TRUE(burnable_sd_found);
-}
-
-TEST_F(BurnDeviceHandlerTest, Callback) {
- std::string added_device;
- std::string removed_device;
-
- BurnDeviceHandler handler(disk_mount_manager_.get());
- handler.SetCallbacks(
- base::Bind(CopyDevicePathCallback, &added_device),
- base::Bind(CopyDevicePathCallback, &removed_device));
-
- // Emulate to connect a burnable device.
- // |add_callback| should be invoked.
- disk_mount_manager_->EmulateAddDisk(
- CreateMockDisk("/dev/burnable",
- kIsParent, !kIsBootDevice, kHasMedia, DEVICE_TYPE_USB));
- EXPECT_EQ("/dev/burnable", added_device);
- EXPECT_TRUE(removed_device.empty());
-
- // Emulate to change the currently connected burnable device.
- // Neither |add_callback| nor |remove_callback| should be called.
- added_device.clear();
- removed_device.clear();
- disk_mount_manager_->EmulateAddDisk(
- CreateMockDisk("/dev/burnable",
- kIsParent, !kIsBootDevice, kHasMedia, DEVICE_TYPE_USB));
- EXPECT_TRUE(added_device.empty());
- EXPECT_TRUE(removed_device.empty());
-
- // Emulate to disconnect the burnable device.
- // |remove_callback| should be called.
- added_device.clear();
- removed_device.clear();
- disk_mount_manager_->EmulateRemoveDisk("/dev/burnable");
- EXPECT_TRUE(added_device.empty());
- EXPECT_EQ("/dev/burnable", removed_device);
-
- // Emulate to connect and unconnect an unburnable device.
- // For each case, neither |add_callback| nor |remove_callback| should be
- // called.
- added_device.clear();
- removed_device.clear();
- disk_mount_manager_->EmulateAddDisk(
- CreateMockDisk("/dev/unburnable",
- !kIsParent, !kIsBootDevice, kHasMedia, DEVICE_TYPE_USB));
- EXPECT_TRUE(added_device.empty());
- EXPECT_TRUE(removed_device.empty());
-
- added_device.clear();
- removed_device.clear();
- disk_mount_manager_->EmulateRemoveDisk("/dev/unburnable");
- EXPECT_TRUE(added_device.empty());
- EXPECT_TRUE(removed_device.empty());
-}
-
-} // namespace imageburner
-} // namespace chromeos
« no previous file with comments | « chrome/browser/chromeos/imageburner/burn_device_handler.cc ('k') | chrome/browser/chromeos/imageburner/burn_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698