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

Unified Diff: chrome/browser/chromeos/cros/mock_mount_library.cc

Issue 1238006: Adding new test for mount observer. Also changing the usb mounter to only rel... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/chromeos/cros/mock_mount_library.h ('k') | chrome/browser/chromeos/usb_mount_observer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/cros/mock_mount_library.cc
===================================================================
--- chrome/browser/chromeos/cros/mock_mount_library.cc (revision 0)
+++ chrome/browser/chromeos/cros/mock_mount_library.cc (revision 0)
@@ -0,0 +1,79 @@
+// Copyright (c) 2009 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/cros/mock_mount_library.h"
+
+#include "base/message_loop.h"
+#include "base/string_util.h"
+#include "chrome/browser/chrome_thread.h"
+#include "chrome/browser/chromeos/cros/cros_library.h"
+
+namespace chromeos {
+
+using testing::_;
+using testing::Invoke;
+
+const char* kTestSystemPath = "/this/system/path";
+const char* kTestDevicePath = "/this/device/path";
+const char* kTestMountPath = "/media/foofoo";
+
+void MockMountLibrary::AddObserverInternal(MountLibrary::Observer* observer) {
+ observers_.AddObserver(observer);
+}
+
+void MockMountLibrary::RemoveObserverInternal(MountLibrary::Observer* observer) {
+ observers_.RemoveObserver(observer);
+}
+
+MockMountLibrary::MockMountLibrary() {
+ ON_CALL(*this, AddObserver(_))
+ .WillByDefault(Invoke(this, &MockMountLibrary::AddObserverInternal));
+ ON_CALL(*this, RemoveObserver(_))
+ .WillByDefault(Invoke(this, &MockMountLibrary::RemoveObserverInternal));
+ ON_CALL(*this, disks())
+ .WillByDefault(Invoke(this, &MockMountLibrary::disksInternal));
+}
+
+MockMountLibrary::~MockMountLibrary() {
+
+}
+
+void MockMountLibrary::FireDeviceInsertEvents() {
+
+ disks_.clear();
+
+ disks_.push_back(Disk(kTestDevicePath, "", kTestSystemPath));
+
+ // Device Added
+ chromeos::MountEventType evt;
+ evt = chromeos::DEVICE_ADDED;
+ UpdateMountStatus(evt, kTestSystemPath);
+
+ // Disk Added
+ evt = chromeos::DISK_ADDED;
+ UpdateMountStatus(evt, kTestDevicePath);
+
+ // Disk Changed
+ disks_.clear();
+ disks_.push_back(Disk(kTestDevicePath, kTestMountPath, kTestSystemPath));
+ evt = chromeos::DISK_CHANGED;
+ UpdateMountStatus(evt, kTestDevicePath);
+}
+
+void MockMountLibrary::FireDeviceRemoveEvents() {
+ disks_.clear();
+ chromeos::MountEventType evt;
+ evt = chromeos::DISK_REMOVED;
+ UpdateMountStatus(evt, kTestDevicePath);
+}
+
+void MockMountLibrary::UpdateMountStatus(MountEventType evt,
+ const std::string& path) {
+ // Make sure we run on UI thread.
+ DCHECK(ChromeThread::CurrentlyOn(ChromeThread::UI));
+
+ FOR_EACH_OBSERVER(Observer, observers_, MountChanged(this, evt, path));
+}
+
+} // namespace chromeos
« no previous file with comments | « chrome/browser/chromeos/cros/mock_mount_library.h ('k') | chrome/browser/chromeos/usb_mount_observer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698