1 // Copyright 2014 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 #ifndef ASH_TEST_TEST_VOLUME_CONTROL_DELEGATE_H_ 6 #define ASH_TEST_TEST_VOLUME_CONTROL_DELEGATE_H_ 7 8 #include "ash/volume_control_delegate.h" 9 #include "ui/base/accelerators/accelerator.h" 10 11 namespace ash { 12 13 // A simple test double for a VolumeControlDelegate 14 // Will count the number of times the HandleVolumeMute, HandleVolumeDown and 15 // HandleVolumeUp methods are invoked. 16 class TestVolumeControlDelegate : public ash::VolumeControlDelegate { 17 public: 18 explicit TestVolumeControlDelegate(bool consume); 19 virtual ~TestVolumeControlDelegate(); 20 21 int handle_volume_mute_count() const { 22 return handle_volume_mute_count_; 23 } 24 25 int handle_volume_down_count() const { 26 return handle_volume_down_count_; 27 } 28 29 int handle_volume_up_count() const { 30 return handle_volume_up_count_; 31 } 32 33 const ui::Accelerator& last_accelerator() const { 34 return last_accelerator_; 35 } 36 37 // ash::VolumeControlDelegate: 38 virtual bool HandleVolumeMute(const ui::Accelerator& accelerator) OVERRIDE; 39 virtual bool HandleVolumeDown(const ui::Accelerator& accelerator) OVERRIDE; 40 virtual bool HandleVolumeUp(const ui::Accelerator& accelerator) OVERRIDE; 41 42 private: 43 // Keeps track of the return value that should be used for the methods 44 // inherited from VolumeControlDelegate 45 bool consume_; 46 int handle_volume_mute_count_; 47 int handle_volume_down_count_; 48 int handle_volume_up_count_; 49 ui::Accelerator last_accelerator_; 50 51 DISALLOW_COPY_AND_ASSIGN(TestVolumeControlDelegate); 52 }; 53 54 } // namespace ash 55 56 #endif // ASH_TEST_TEST_VOLUME_CONTROL_DELEGATE_H_ 57