1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "content/browser/system_message_window_win.h" 6 7 #include <dbt.h> 8 #include <string> 9 #include <vector> 10 11 #include "base/files/file_path.h" 12 #include "base/system_monitor/system_monitor.h" 13 #include "base/test/mock_devices_changed_observer.h" 14 #include "testing/gmock/include/gmock/gmock.h" 15 #include "testing/gtest/include/gtest/gtest.h" 16 17 namespace content { 18 19 class SystemMessageWindowWinTest : public testing::Test { 20 public: 21 virtual ~SystemMessageWindowWinTest() { } 22 23 protected: 24 virtual void SetUp() OVERRIDE { 25 system_monitor_.AddDevicesChangedObserver(&observer_); 26 } 27 28 base::MessageLoop message_loop_; 29 base::SystemMonitor system_monitor_; 30 base::MockDevicesChangedObserver observer_; 31 SystemMessageWindowWin window_; 32 }; 33 34 TEST_F(SystemMessageWindowWinTest, DevicesChanged) { 35 EXPECT_CALL(observer_, OnDevicesChanged(testing::_)).Times(1); 36 window_.OnDeviceChange(DBT_DEVNODES_CHANGED, NULL); 37 message_loop_.RunUntilIdle(); 38 } 39 40 TEST_F(SystemMessageWindowWinTest, RandomMessage) { 41 window_.OnDeviceChange(DBT_DEVICEQUERYREMOVE, NULL); 42 message_loop_.RunUntilIdle(); 43 } 44 45 } // namespace content 46