blob: 0f70b6cfbcf4e928a16ff70a8d90225308466453 [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 TOPAZ_RUNTIME_FLUTTER_RUNNER_PLATFORM_VIEW_FAKES_H_
#define TOPAZ_RUNTIME_FLUTTER_RUNNER_PLATFORM_VIEW_FAKES_H_
#include "fuchsia/accessibility/cpp/fidl.h"
#include "fuchsia/accessibility/semantics/cpp/fidl.h"
namespace flutter_runner_test {
using fuchsia::accessibility::semantics::SemanticsManager;
using AccessibilitySettingsManager = fuchsia::accessibility::SettingsManager;
using AccessibilitySettingsWatcher = fuchsia::accessibility::SettingsWatcher;
using AccessibilitySettingsProvider = fuchsia::accessibility::SettingsProvider;
class MockSemanticsManager : public SemanticsManager {
public:
MockSemanticsManager() = default;
~MockSemanticsManager() = default;
// |fuchsia::accessibility::semantics::SemanticsManager|:
void RegisterView(
fuchsia::ui::views::ViewRef view_ref,
fidl::InterfaceHandle<
fuchsia::accessibility::semantics::SemanticActionListener>
handle,
fidl::InterfaceRequest<fuchsia::accessibility::semantics::SemanticTree>
semantic_tree) override {
has_view_ref_ = true;
}
fidl::InterfaceRequestHandler<SemanticsManager> GetHandler(
async_dispatcher_t* dispatcher) {
return bindings_.GetHandler(this, dispatcher);
}
bool RegisterViewCalled() { return has_view_ref_; }
private:
bool has_view_ref_ = false;
fidl::BindingSet<SemanticsManager> bindings_;
};
class MockAccessibilitySettingsManager : public AccessibilitySettingsManager {
public:
MockAccessibilitySettingsManager(fuchsia::accessibility::Settings settings)
: settings_(std::move(settings)) {}
~MockAccessibilitySettingsManager() = default;
// |fuchsia::accessibility::SettingsManager|
void RegisterSettingProvider(
fidl::InterfaceRequest<AccessibilitySettingsProvider>
settings_provider_request) override {}
// |fuchsia::accessibility::SettingsManager|
void Watch(
fidl::InterfaceHandle<AccessibilitySettingsWatcher> watcher) override {
watch_called_ = true;
auto proxy = watcher.Bind();
EXPECT_TRUE(proxy);
fuchsia::accessibility::Settings settings = fidl::Clone(settings_);
proxy->OnSettingsChange(std::move(settings));
}
fidl::InterfaceRequestHandler<AccessibilitySettingsManager> GetHandler(
async_dispatcher_t* dispatcher) {
return bindings_.GetHandler(this, dispatcher);
}
bool WatchCalled() { return watch_called_; }
private:
bool watch_called_ = false;
fuchsia::accessibility::Settings settings_;
fidl::BindingSet<AccessibilitySettingsManager> bindings_;
};
} // namespace flutter_runner_test
#endif // TOPAZ_RUNTIME_FLUTTER_RUNNER_PLATFORM_VIEW_FAKES_H_