mirror of
https://github.com/falk-werner/webfuse-provider
synced 2024-10-27 20:44:10 +00:00
51 lines
1.1 KiB
C++
51 lines
1.1 KiB
C++
#ifndef WF_LOOKUP_MATCHER_HPP
|
|
#define WF_LOOKUP_MATCHER_HPP
|
|
|
|
#include <gmock/gmock.h>
|
|
#include <jansson.h>
|
|
#include <cstring>
|
|
|
|
namespace webfuse_test
|
|
{
|
|
|
|
MATCHER_P2(Lookup, parent, name, "")
|
|
{
|
|
if (!json_is_array(arg))
|
|
{
|
|
*result_listener << "json array expected";
|
|
return false;
|
|
}
|
|
|
|
json_t * parent_ = json_array_get(arg, 1);
|
|
if (!json_is_integer(parent_))
|
|
{
|
|
*result_listener << "parent is expected to be an integer";
|
|
return false;
|
|
}
|
|
if (parent != json_integer_value(parent_))
|
|
{
|
|
*result_listener << "parent mismatch: expected " << parent
|
|
<< " but was " << json_integer_value(parent_);
|
|
return false;
|
|
}
|
|
|
|
json_t * name_ = json_array_get(arg, 2);
|
|
if (!json_is_string(name_))
|
|
{
|
|
*result_listener << "name is expected to be a string";
|
|
return false;
|
|
}
|
|
if (0 != strcmp(name, json_string_value(name_)))
|
|
{
|
|
*result_listener << "name mismatch: expected \"" << name
|
|
<< "\" but was \"" << json_string_value(name_) << "\"";
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|