summaryrefslogtreecommitdiffstats
path: root/ash/test
diff options
context:
space:
mode:
Diffstat (limited to 'ash/test')
-rw-r--r--ash/test/test_volume_control_delegate.cc40
-rw-r--r--ash/test/test_volume_control_delegate.h56
2 files changed, 96 insertions, 0 deletions
diff --git a/ash/test/test_volume_control_delegate.cc b/ash/test/test_volume_control_delegate.cc
new file mode 100644
index 0000000..7c5cad0
--- /dev/null
+++ b/ash/test/test_volume_control_delegate.cc
@@ -0,0 +1,40 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "ash/test/test_volume_control_delegate.h"
+
+namespace ash {
+
+TestVolumeControlDelegate::TestVolumeControlDelegate(bool consume)
+ : consume_(consume),
+ handle_volume_mute_count_(0),
+ handle_volume_down_count_(0),
+ handle_volume_up_count_(0) {
+}
+
+TestVolumeControlDelegate::~TestVolumeControlDelegate() {
+}
+
+bool TestVolumeControlDelegate::HandleVolumeMute(
+ const ui::Accelerator& accelerator) {
+ ++handle_volume_mute_count_;
+ last_accelerator_ = accelerator;
+ return consume_;
+}
+
+bool TestVolumeControlDelegate::HandleVolumeDown(
+ const ui::Accelerator& accelerator) {
+ ++handle_volume_down_count_;
+ last_accelerator_ = accelerator;
+ return consume_;
+}
+
+bool TestVolumeControlDelegate::HandleVolumeUp(
+ const ui::Accelerator& accelerator) {
+ ++handle_volume_up_count_;
+ last_accelerator_ = accelerator;
+ return consume_;
+}
+
+} // namespace ash
diff --git a/ash/test/test_volume_control_delegate.h b/ash/test/test_volume_control_delegate.h
new file mode 100644
index 0000000..85b3e5d
--- /dev/null
+++ b/ash/test/test_volume_control_delegate.h
@@ -0,0 +1,56 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef ASH_TEST_TEST_VOLUME_CONTROL_DELEGATE_H_
+#define ASH_TEST_TEST_VOLUME_CONTROL_DELEGATE_H_
+
+#include "ash/volume_control_delegate.h"
+#include "ui/base/accelerators/accelerator.h"
+
+namespace ash {
+
+// A simple test double for a VolumeControlDelegate
+// Will count the number of times the HandleVolumeMute, HandleVolumeDown and
+// HandleVolumeUp methods are invoked.
+class TestVolumeControlDelegate : public ash::VolumeControlDelegate {
+ public:
+ explicit TestVolumeControlDelegate(bool consume);
+ virtual ~TestVolumeControlDelegate();
+
+ int handle_volume_mute_count() const {
+ return handle_volume_mute_count_;
+ }
+
+ int handle_volume_down_count() const {
+ return handle_volume_down_count_;
+ }
+
+ int handle_volume_up_count() const {
+ return handle_volume_up_count_;
+ }
+
+ const ui::Accelerator& last_accelerator() const {
+ return last_accelerator_;
+ }
+
+ // ash::VolumeControlDelegate:
+ virtual bool HandleVolumeMute(const ui::Accelerator& accelerator) OVERRIDE;
+ virtual bool HandleVolumeDown(const ui::Accelerator& accelerator) OVERRIDE;
+ virtual bool HandleVolumeUp(const ui::Accelerator& accelerator) OVERRIDE;
+
+ private:
+ // Keeps track of the return value that should be used for the methods
+ // inherited from VolumeControlDelegate
+ bool consume_;
+ int handle_volume_mute_count_;
+ int handle_volume_down_count_;
+ int handle_volume_up_count_;
+ ui::Accelerator last_accelerator_;
+
+ DISALLOW_COPY_AND_ASSIGN(TestVolumeControlDelegate);
+};
+
+} // namespace ash
+
+#endif // ASH_TEST_TEST_VOLUME_CONTROL_DELEGATE_H_