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. llvm-svn: 279919
This commit is contained in:
parent
0b2628df1a
commit
05c4ceba3d
|
@ -403,4 +403,57 @@ TEST_F (StringExtractorTest, GetHexBytesAvail_Partial)
|
||||||
ASSERT_EQ('2', *ex.Peek());
|
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());
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue