1
0
mirror of https://github.com/falk-werner/webfuse-provider synced 2026-03-02 04:09:18 +00:00

replaced callback by mock object

This commit is contained in:
Falk Werner
2020-06-12 19:00:28 +02:00
parent cd76427f83
commit 1753841353
4 changed files with 101 additions and 32 deletions

View File

@@ -0,0 +1,44 @@
#include "webfuse/mocks/mock_adapter_client_callback.hpp"
#include "webfuse/adapter/client.h"
extern "C"
{
static void
webfuse_test_MockAdapterClientCallback_callback(
wf_client * client,
int reason,
void * args)
{
void * user_data = wf_client_get_userdata(client);
auto * callback = reinterpret_cast<webfuse_test::MockAdapterClientCallback*>(user_data);
callback->Invoke(client, reason, args);
}
}
namespace webfuse_test
{
MockAdapterClientCallback::MockAdapterClientCallback()
{
}
MockAdapterClientCallback::~MockAdapterClientCallback()
{
}
void * MockAdapterClientCallback::GetUserData()
{
return reinterpret_cast<void*>(this);
}
wf_client_callback_fn * MockAdapterClientCallback::GetCallbackFn()
{
return &webfuse_test_MockAdapterClientCallback_callback;
}
}

View File

@@ -0,0 +1,22 @@
#ifndef WF_MOCK_ADAPTER_CLIENT_CALLBACK_HPP
#define WF_MOCK_ADAPTER_CLIENT_CALLBACK_HPP
#include <gmock/gmock.h>
#include "webfuse/adapter/client_callback.h"
namespace webfuse_test
{
class MockAdapterClientCallback
{
public:
MockAdapterClientCallback();
virtual ~MockAdapterClientCallback();
MOCK_METHOD3(Invoke, void (wf_client *, int, void *));
void * GetUserData();
wf_client_callback_fn * GetCallbackFn();
};
}
#endif