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

Unified Diff: base/system_monitor/system_monitor_unittest.cc

Issue 9363008: Add Media device notification to SystemMonitor and Mac impl (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 10 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: base/system_monitor/system_monitor_unittest.cc
diff --git a/base/system_monitor/system_monitor_unittest.cc b/base/system_monitor/system_monitor_unittest.cc
index 1d5d6af86467c834b1f40172e0ef73c3e76262b3..417b27e46e2c044f33977d99e6284f7a2f37b184 100644
--- a/base/system_monitor/system_monitor_unittest.cc
+++ b/base/system_monitor/system_monitor_unittest.cc
@@ -92,8 +92,7 @@ TEST(SystemMonitor, PowerNotifications) {
class DevicesChangedTest : public SystemMonitor::DevicesChangedObserver {
public:
- DevicesChangedTest()
- : changes_(0) {
+ DevicesChangedTest() : changes_(0), media_attaches_(0), media_detaches_(0) {
}
// DevicesChangedObserver callbacks.
@@ -101,11 +100,23 @@ class DevicesChangedTest : public SystemMonitor::DevicesChangedObserver {
changes_++;
}
+ virtual void OnMediaDeviceAttached(const std::string& name,
+ const FilePath& path) OVERRIDE {
+ media_attaches_++;
+ }
+ virtual void OnMediaDeviceDetached(const std::string& name) OVERRIDE {
+ media_detaches_++;
+ }
+
// Test status counts.
int changes() const { return changes_; }
+ int media_attaches() const { return media_attaches_; }
+ int media_detaches() const { return media_detaches_; }
private:
int changes_; // Count of OnDevicesChanged notifications.
+ int media_attaches_; // Count of OnMediaDeviceAttached notifications.
+ int media_detaches_; // Count of OnMediaDeviceDetached notifications.
DISALLOW_COPY_AND_ASSIGN(DevicesChangedTest);
};
@@ -128,11 +139,28 @@ TEST(SystemMonitor, DeviceChangeNotifications) {
system_monitor.ProcessDevicesChanged();
loop.RunAllPending();
EXPECT_EQ(1, test[0].changes());
+ EXPECT_EQ(0, test[0].media_attaches());
+ EXPECT_EQ(0, test[0].media_detaches());
system_monitor.ProcessDevicesChanged();
system_monitor.ProcessDevicesChanged();
loop.RunAllPending();
EXPECT_EQ(3, test[0].changes());
+ EXPECT_EQ(0, test[0].media_attaches());
+ EXPECT_EQ(0, test[0].media_detaches());
+
+ system_monitor.ProcessMediaDeviceAttached("media device", FilePath("path"));
tpayne 2012/02/08 20:46:44 FilePath("path") does not compile on Windows, whic
Lei Zhang 2012/02/08 23:34:14 You need FILE_PATH_LITERAL here.
+ loop.RunAllPending();
+ EXPECT_EQ(4, test[0].changes());
+ EXPECT_EQ(1, test[0].media_attaches());
+ EXPECT_EQ(0, test[0].media_detaches());
+
+ system_monitor.ProcessMediaDeviceDetached("media device");
+ system_monitor.ProcessMediaDeviceDetached("other media device");
+ loop.RunAllPending();
+ EXPECT_EQ(6, test[0].changes());
+ EXPECT_EQ(1, test[0].media_attaches());
+ EXPECT_EQ(2, test[0].media_detaches());
}
} // namespace base
« base/system_monitor/system_monitor.cc ('K') | « base/system_monitor/system_monitor.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698