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