blob: 64558fc0517819ebe5bfcf0929cde5d42816be6e [file] [log] [blame]
// Copyright 2019 The Fuchsia 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 SRC_UI_A11Y_LIB_MAGNIFIER_TESTS_MOCKS_MOCK_MAGNIFICATION_HANDLER_H_
#define SRC_UI_A11Y_LIB_MAGNIFIER_TESTS_MOCKS_MOCK_MAGNIFICATION_HANDLER_H_
#include <fuchsia/accessibility/cpp/fidl.h>
#include <fuchsia/accessibility/cpp/fidl_test_base.h>
#include <lib/fidl/cpp/binding.h>
#include <lib/fidl/cpp/interface_handle.h>
#include <lib/zx/time.h>
#include "src/lib/callback/scoped_task_runner.h"
#include "src/ui/a11y/lib/magnifier/tests/mocks/clip_space_transform.h"
namespace accessibility_test {
constexpr zx::duration kFramePeriod = zx::sec(1) / 60;
class MockMagnificationHandler
: public fuchsia::accessibility::testing::MagnificationHandler_TestBase {
public:
MockMagnificationHandler();
fidl::InterfaceHandle<fuchsia::accessibility::MagnificationHandler> NewBinding();
const ClipSpaceTransform& transform() const { return transform_; }
uint32_t update_count() const { return update_count_; }
private:
// |fuchsia::accessibility::testing::MagnificationHandler_TestBase|
void NotImplemented_(const std::string& name) override;
// |fuchsia::accessibility::MagnificationHandler|
// Since this is called via FIDL channel, the test loop needs to be advanced in order for
// transform updates to be surfaced.
void SetClipSpaceTransform(float x, float y, float scale,
SetClipSpaceTransformCallback callback) override;
fidl::Binding<fuchsia::accessibility::MagnificationHandler> binding_;
ClipSpaceTransform transform_;
uint32_t update_count_ = 0;
callback::ScopedTaskRunner callback_runner_;
};
} // namespace accessibility_test
#endif // SRC_UI_A11Y_LIB_MAGNIFIER_TESTS_MOCKS_MOCK_MAGNIFICATION_HANDLER_H_