#ifndef UI_BASE_ACCELERATORS_TEST_ACCELERATOR_TARGET_H_
#define UI_BASE_ACCELERATORS_TEST_ACCELERATOR_TARGET_H_
#include "ui/base/accelerators/accelerator.h"
namespace ui {
class TestAcceleratorTarget : public AcceleratorTarget {
public:
explicit TestAcceleratorTarget(bool accelerator_pressed_result = true);
TestAcceleratorTarget(const TestAcceleratorTarget&) = delete;
TestAcceleratorTarget& operator=(const TestAcceleratorTarget&) = delete;
~TestAcceleratorTarget() override;
void set_can_handle_accelerators(bool can_handle_accelerators) {
can_handle_accelerators_ = can_handle_accelerators;
}
int accelerator_count() const { return accelerator_count_; }
int accelerator_repeat_count() const { return accelerator_repeat_count_; }
int accelerator_non_repeat_count() const {
return accelerator_count_ - accelerator_repeat_count_;
}
void ResetCounts();
bool AcceleratorPressed(const ui::Accelerator& accelerator) override;
bool CanHandleAccelerators() const override;
private:
int accelerator_count_ = 0;
int accelerator_repeat_count_ = 0;
const bool accelerator_pressed_result_;
bool can_handle_accelerators_ = true;
};
}
#endif