29 #include <boost/optional/optional.hpp> 31 #include "gtest/gtest.h" 37 TEST(wipeable_string, ctor)
55 TEST(wipeable_string, wipe)
64 TEST(wipeable_string, clear)
72 TEST(wipeable_string, push_back)
81 TEST(wipeable_string, append_char)
90 TEST(wipeable_string, append_string)
96 ASSERT_TRUE(!memcmp(s0.data(),
"foobar", s0.size()));
109 TEST(wipeable_string, pop_back)
130 TEST(wipeable_string, not_equal)
166 static bool check_split(
const char *s,
const std::vector<epee::wipeable_string> &v)
169 std::vector<epee::wipeable_string> fields;
179 ASSERT_TRUE(check_split(
"foo bar", {
"foo",
"bar"}));
180 ASSERT_TRUE(check_split(
"foo bar", {
"foo",
"bar"}));
181 ASSERT_TRUE(check_split(
"foo bar baz", {
"foo",
"bar",
"baz"}));
182 ASSERT_TRUE(check_split(
" foo bar baz ", {
"foo",
"bar",
"baz"}));
183 ASSERT_TRUE(check_split(
" foo bar baz", {
"foo",
"bar",
"baz"}));
184 ASSERT_TRUE(check_split(
"foo bar baz ", {
"foo",
"bar",
"baz"}));
187 TEST(wipeable_string, parse_hexstr)
189 boost::optional<epee::wipeable_string> s;
size_t size() const noexcept
Non-owning sequence of data. Does not deep copy.
TEST(wipeable_string, ctor)
static epee::wipeable_string wipeable_string(const span< const std::uint8_t > src)
#define ASSERT_FALSE(condition)
#define ASSERT_EQ(val1, val2)
bool empty() const noexcept
#define ASSERT_TRUE(condition)
const char * data() const noexcept