Allow ObjectPath and Signature be created from std::string

This commit is contained in:
sangelovic
2019-02-19 08:57:24 +01:00
parent 84b15776a3
commit b813680192
2 changed files with 34 additions and 0 deletions

View File

@@ -140,6 +140,9 @@ namespace sdbus {
public: public:
using std::string::string; using std::string::string;
using std::string::operator=; using std::string::operator=;
ObjectPath(std::string path)
: std::string(std::move(path))
{}
}; };
class Signature : public std::string class Signature : public std::string
@@ -147,6 +150,9 @@ namespace sdbus {
public: public:
using std::string::string; using std::string::string;
using std::string::operator=; using std::string::operator=;
Signature(std::string path)
: std::string(std::move(path))
{}
}; };
} }

View File

@@ -212,3 +212,31 @@ TEST(AStruct, CreatesStructFromTuple)
ASSERT_THAT(std::get<0>(valueStruct), Eq(std::get<0>(value))); ASSERT_THAT(std::get<0>(valueStruct), Eq(std::get<0>(value)));
ASSERT_THAT(std::get<1>(valueStruct), Eq(std::get<1>(value))); ASSERT_THAT(std::get<1>(valueStruct), Eq(std::get<1>(value)));
} }
TEST(AnObjectPath, CanBeConstructedFromCString)
{
const char* aPath = "/some/path";
ASSERT_THAT(sdbus::ObjectPath{aPath}, Eq(aPath));
}
TEST(AnObjectPath, CanBeConstructedFromStdString)
{
std::string aPath{"/some/path"};
ASSERT_THAT(sdbus::ObjectPath{aPath}, Eq(aPath));
}
TEST(ASignature, CanBeConstructedFromCString)
{
const char* aSignature = "us";
ASSERT_THAT(sdbus::Signature{aSignature}, Eq(aSignature));
}
TEST(ASignature, CanBeConstructedFromStdString)
{
std::string aSignature{"us"};
ASSERT_THAT(sdbus::Signature{aSignature}, Eq(aSignature));
}