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 17namespace content { 18 19class 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 34TEST_F(SystemMessageWindowWinTest, DevicesChanged) { 35 EXPECT_CALL(observer_, OnDevicesChanged(testing::_)).Times(1); 36 window_.OnDeviceChange(DBT_DEVNODES_CHANGED, NULL); 37 message_loop_.RunUntilIdle(); 38} 39 40TEST_F(SystemMessageWindowWinTest, RandomMessage) { 41 window_.OnDeviceChange(DBT_DEVICEQUERYREMOVE, NULL); 42 message_loop_.RunUntilIdle(); 43} 44 45} // namespace content 46