blob: 766c3cf86ab568aaade33dd8a8da5c73b1961956 [file] [log] [blame]
// Copyright 2017 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 PERIDOT_LIB_TESTING_STORY_CONTROLLER_MOCK_H_
#define PERIDOT_LIB_TESTING_STORY_CONTROLLER_MOCK_H_
#include <string>
#include <fuchsia/cpp/modular.h>
#include "lib/fidl/cpp/binding.h"
#include "lib/fidl/cpp/interface_ptr_set.h"
namespace modular {
class StoryControllerMock : public StoryController {
public:
StoryControllerMock() {}
std::string last_added_module() const { return last_added_module_; }
struct GetLinkCall {
fidl::VectorPtr<fidl::StringPtr> module_path;
fidl::StringPtr name;
};
std::vector<GetLinkCall> get_link_calls;
private:
// |StoryController|
void GetInfo(GetInfoCallback callback) override {
StoryInfo info;
info.id = "wow";
info.url = "wow";
callback(std::move(info), modular::StoryState::INITIAL);
}
// |StoryController|
void SetInfoExtra(fidl::StringPtr name,
fidl::StringPtr value,
SetInfoExtraCallback callback) override {
FXL_NOTIMPLEMENTED();
}
// |StoryController|
void AddModuleDeprecated(fidl::VectorPtr<fidl::StringPtr> module_path,
fidl::StringPtr module_name,
fidl::StringPtr module_url,
fidl::StringPtr link_name,
SurfaceRelationPtr surface_relation) override {
last_added_module_ = module_url;
}
// |StoryController|
void Start(fidl::InterfaceRequest<views_v1_token::ViewOwner> request) override {
FXL_NOTIMPLEMENTED();
}
// |StoryController|
void Stop(StopCallback done) override { FXL_NOTIMPLEMENTED(); }
// |StoryController|
void Watch(fidl::InterfaceHandle<StoryWatcher> watcher) override {
FXL_NOTIMPLEMENTED();
}
// |StoryController|
void GetActiveModules(fidl::InterfaceHandle<StoryModulesWatcher> watcher,
GetActiveModulesCallback callback) override {
FXL_NOTIMPLEMENTED();
}
// |StoryController|
void GetModules(GetModulesCallback callback) override {
FXL_NOTIMPLEMENTED();
}
// |StoryController|
void GetModuleController(
fidl::VectorPtr<fidl::StringPtr> module_path,
fidl::InterfaceRequest<ModuleController> request) override {
FXL_NOTIMPLEMENTED();
}
// |StoryController|
void GetActiveLinks(fidl::InterfaceHandle<StoryLinksWatcher> watcher,
GetActiveLinksCallback callback) override {
FXL_NOTIMPLEMENTED();
}
// |StoryController|
void GetLink(fidl::VectorPtr<fidl::StringPtr> module_path,
fidl::StringPtr name,
fidl::InterfaceRequest<Link> request) override {
GetLinkCall call{std::move(module_path), name};
get_link_calls.push_back(std::move(call));
}
void AddModule(fidl::VectorPtr<fidl::StringPtr> module_path,
fidl::StringPtr module_name,
Daisy daisy,
SurfaceRelationPtr surface_relation) override {
last_added_module_ = daisy.url;
}
std::string last_added_module_;
FXL_DISALLOW_COPY_AND_ASSIGN(StoryControllerMock);
};
} // namespace modular
#endif // PERIDOT_LIB_TESTING_STORY_CONTROLLER_MOCK_H_