Utils: Add intializer_list constructor in SmallString

You can now write

SmallString text = {"Oh ", women[4], " how much I miss you"};

if it can be casted to SmallStringView.

Change-Id: I86b69ee8d735017cac4391e7c4e68355eb5f227b
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Marco Bubke
2017-01-31 16:16:40 +01:00
parent 9b4afa01a1
commit 729c535376
2 changed files with 66 additions and 0 deletions

View File

@@ -1186,3 +1186,45 @@ TEST(SmallString, ManipulateNonConstSubscriptOperator)
ASSERT_THAT(text, SmallString{"some qext"});
}
TEST(SmallString, EmptyInitializerListContent)
{
SmallString text = {};
ASSERT_THAT(text, SmallString());
}
TEST(SmallString, EmptyInitializerListSize)
{
SmallString text = {};
ASSERT_THAT(text, SizeIs(0));
}
TEST(SmallString, EmptyInitializerListNullTerminated)
{
auto end = SmallString{{}}[0];
ASSERT_THAT(end, '\0');
}
TEST(SmallString, InitializerListContent)
{
SmallString text = {"some", " ", "text"};
ASSERT_THAT(text, SmallString("some text"));
}
TEST(SmallString, InitializerListSize)
{
SmallString text = {"some", " ", "text"};
ASSERT_THAT(text, SizeIs(9));
}
TEST(SmallString, InitializerListNullTerminated)
{
auto end = SmallString{"some", " ", "text"}[9];
ASSERT_THAT(end, '\0');
}