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.
5 #include "content/browser/system_message_window_win.h"
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"
19 class SystemMessageWindowWinTest
: public testing::Test
{
21 virtual ~SystemMessageWindowWinTest() { }
24 virtual void SetUp() override
{
25 system_monitor_
.AddDevicesChangedObserver(&observer_
);
28 base::MessageLoop message_loop_
;
29 base::SystemMonitor system_monitor_
;
30 base::MockDevicesChangedObserver observer_
;
31 SystemMessageWindowWin window_
;
34 TEST_F(SystemMessageWindowWinTest
, DevicesChanged
) {
35 EXPECT_CALL(observer_
, OnDevicesChanged(testing::_
)).Times(1);
36 window_
.OnDeviceChange(DBT_DEVNODES_CHANGED
, NULL
);
37 message_loop_
.RunUntilIdle();
40 TEST_F(SystemMessageWindowWinTest
, RandomMessage
) {
41 window_
.OnDeviceChange(DBT_DEVICEQUERYREMOVE
, NULL
);
42 message_loop_
.RunUntilIdle();
45 } // namespace content