Home | History | Annotate | Download | only in browser
      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