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

added uuid mountpoint and factory

This commit is contained in:
Falk Werner
2020-02-16 04:02:23 +01:00
parent 6a94cea6f9
commit cfadf85f49
10 changed files with 259 additions and 33 deletions

View File

@@ -4,17 +4,17 @@
namespace
{
class MockMountpointDisposer
class MockUserDataDisposer
{
public:
MOCK_METHOD1(ondispose, void(wf_mountpoint * mountpoint));
MOCK_METHOD1(dispose, void(void * mountpoint));
};
MockMountpointDisposer * global_disposer = nullptr;
MockUserDataDisposer * global_disposer = nullptr;
void ondispose(wf_mountpoint * mountpoint)
void ondispose(void * user_data)
{
global_disposer->ondispose(mountpoint);
global_disposer->dispose(user_data);
}
}
@@ -32,14 +32,16 @@ TEST(mountpoint, get_path)
TEST(mountpoint, ondispose)
{
MockMountpointDisposer disposer;
MockUserDataDisposer disposer;
global_disposer = &disposer;
wf_mountpoint * mountpoint = wf_mountpoint_create("/some/path");
ASSERT_NE(nullptr, mountpoint);
wf_mountpoint_set_ondispose(mountpoint, ondispose);
EXPECT_CALL(disposer, ondispose(mountpoint)).Times(1);
int value = 42;
void * user_data = reinterpret_cast<void*>(&value);
wf_mountpoint_set_userdata(mountpoint, user_data, ondispose);
EXPECT_CALL(disposer, dispose(user_data)).Times(1);
wf_mountpoint_dispose(mountpoint);
}