aboutsummaryrefslogtreecommitdiffstats
path: root/src/test/unittests/base
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2021-11-10 00:54:13 -0500
committerLibravatarUnit 193 <unit193@unit193.net>2021-11-10 00:54:13 -0500
commitbeb08eb751fa8e1f72042f263316ab5e5ddb596d (patch)
tree3b00df983527648bdae610ac7b88cb639b1f1828 /src/test/unittests/base
parentfbc30002ab3438356c0476e70c4577a0310d52c0 (diff)
New upstream version 2.4.0+dfsg.upstream/2.4.0+dfsgupstream
Diffstat (limited to 'src/test/unittests/base')
-rw-r--r--src/test/unittests/base/StringTests.cpp36
1 files changed, 31 insertions, 5 deletions
diff --git a/src/test/unittests/base/StringTests.cpp b/src/test/unittests/base/StringTests.cpp
index 39ad6e8..cc8e4fc 100644
--- a/src/test/unittests/base/StringTests.cpp
+++ b/src/test/unittests/base/StringTests.cpp
@@ -1,11 +1,11 @@
/*
* barrier -- mouse and keyboard sharing utility
* Copyright (C) 2014-2016 Symless Ltd.
- *
+ *
* This package is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* found in the file LICENSE that should have accompanied this file.
- *
+ *
* This package is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@@ -56,12 +56,38 @@ TEST(StringTests, sprintf_formatWithArgument_formatedString)
TEST(StringTests, toHex_plaintext_hexString)
{
- String subject = "foobar";
+ std::vector<std::uint8_t> subject{'f', 'o', 'o', 'b', 'a', 'r'};
int width = 2;
- string::toHex(subject, width);
+ EXPECT_EQ("666f6f626172", string::to_hex(subject, width));
+}
+
+TEST(StringTests, fromhex_plaintext_string)
+{
+ auto result = string::from_hex("666f6f626172");
+ std::string expected = "foobar";
+ EXPECT_EQ(result, std::vector<std::uint8_t>(expected.begin(), expected.end()));
+}
+
+TEST(StringTests, fromhex_plaintext_string_colons)
+{
+ auto result = string::from_hex("66:6f:6f:62:61:72");
+ std::string expected = "foobar";
+ EXPECT_EQ(result, std::vector<std::uint8_t>(expected.begin(), expected.end()));
+}
- EXPECT_EQ("666f6f626172", subject);
+TEST(StringTests, fromhex_binary_string)
+{
+ auto result = string::from_hex("01020304050600fff9");
+ auto expected = std::vector<std::uint8_t>{1, 2, 3, 4, 5, 6, 0, 0xff, 0xf9};
+ EXPECT_EQ(result, expected);
+}
+
+TEST(StringTests, fromhex_invalid_string)
+{
+ EXPECT_TRUE(string::from_hex("66:6").empty());
+ EXPECT_TRUE(string::from_hex("66:612").empty());
+ EXPECT_TRUE(string::from_hex("66:WW").empty());
}
TEST(StringTests, uppercase_lowercaseInput_uppercaseOutput)