[Lldb-commits] [lldb] r279919 - Add some unit tests for StringExtractor::GetNameColonValue.
Zachary Turner via lldb-commits
lldb-commits at lists.llvm.org
Sat Aug 27 09:35:16 PDT 2016
Author: zturner
Date: Sat Aug 27 11:35:15 2016
New Revision: 279919
URL: http://llvm.org/viewvc/llvm-project?rev=279919&view=rev
Log:
Add some unit tests for StringExtractor::GetNameColonValue.
These are helpful on their own, but will be even more useful
once the GetNameColonValue is updated to return StringRefs
instead of std::strings.
Modified:
lldb/trunk/unittests/Utility/StringExtractorTest.cpp
Modified: lldb/trunk/unittests/Utility/StringExtractorTest.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/Utility/StringExtractorTest.cpp?rev=279919&r1=279918&r2=279919&view=diff
==============================================================================
--- lldb/trunk/unittests/Utility/StringExtractorTest.cpp (original)
+++ lldb/trunk/unittests/Utility/StringExtractorTest.cpp Sat Aug 27 11:35:15 2016
@@ -403,4 +403,57 @@ TEST_F (StringExtractorTest, GetHexBytes
ASSERT_EQ('2', *ex.Peek());
}
+TEST_F(StringExtractorTest, GetNameColonValueSuccess)
+{
+ const char kNameColonPairs[] = "key1:value1;key2:value2;";
+ StringExtractor ex(kNameColonPairs);
+ std::string name;
+ std::string value;
+ EXPECT_TRUE(ex.GetNameColonValue(name, value));
+ EXPECT_EQ("key1", name);
+ EXPECT_EQ("value1", value);
+ EXPECT_TRUE(ex.GetNameColonValue(name, value));
+ EXPECT_EQ("key2", name);
+ EXPECT_EQ("value2", value);
+ EXPECT_EQ(0, ex.GetBytesLeft());
+}
+
+
+TEST_F(StringExtractorTest, GetNameColonValueContainsColon)
+{
+ const char kNameColonPairs[] = "key1:value1:value2;key2:value3;";
+ StringExtractor ex(kNameColonPairs);
+
+ std::string name;
+ std::string value;
+ EXPECT_TRUE(ex.GetNameColonValue(name, value));
+ EXPECT_EQ("key1", name);
+ EXPECT_EQ("value1:value2", value);
+ EXPECT_TRUE(ex.GetNameColonValue(name, value));
+ EXPECT_EQ("key2", name);
+ EXPECT_EQ("value3", value);
+ EXPECT_EQ(0, ex.GetBytesLeft());
+}
+
+TEST_F(StringExtractorTest, GetNameColonValueNoSemicolon)
+{
+ const char kNameColonPairs[] = "key1:value1";
+ StringExtractor ex(kNameColonPairs);
+
+ std::string name;
+ std::string value;
+ EXPECT_FALSE(ex.GetNameColonValue(name, value));
+ EXPECT_EQ(0, ex.GetBytesLeft());
+}
+
+TEST_F(StringExtractorTest, GetNameColonValueNoColon)
+{
+ const char kNameColonPairs[] = "key1value1;";
+ StringExtractor ex(kNameColonPairs);
+
+ std::string name;
+ std::string value;
+ EXPECT_FALSE(ex.GetNameColonValue(name, value));
+ EXPECT_EQ(0, ex.GetBytesLeft());
+}
More information about the lldb-commits
mailing list