forked from qt-creator/qt-creator
		
	Utils: Improve and fix operators in SmallString
Change-Id: I51f4e647cbd3ada0c3a86d16f40fd8044acead33 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
		@@ -601,6 +601,14 @@ TEST(SmallString, EqualSmallStringOperator)
 | 
			
		||||
    ASSERT_FALSE(SmallString("text") == SmallString("text2"));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST(SmallString, EqualSmallStringOperatorWithDifferenceClassSizes)
 | 
			
		||||
{
 | 
			
		||||
    ASSERT_TRUE(SmallString() == PathString(""));
 | 
			
		||||
    ASSERT_FALSE(SmallString() == PathString("text"));
 | 
			
		||||
    ASSERT_TRUE(SmallString("text") == PathString("text"));
 | 
			
		||||
    ASSERT_FALSE(SmallString("text") == PathString("text2"));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST(SmallString, EqualCStringArrayOperator)
 | 
			
		||||
{
 | 
			
		||||
    ASSERT_TRUE(SmallString() == "");
 | 
			
		||||
@@ -687,6 +695,16 @@ TEST(SmallString, SmallerOperatorWithStringViewLeft)
 | 
			
		||||
    ASSERT_FALSE(SmallStringView("text") < SmallString("text"));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST(SmallString, SmallerOperatorForDifferenceClassSizes)
 | 
			
		||||
{
 | 
			
		||||
    ASSERT_TRUE(SmallString() < PathString("text"));
 | 
			
		||||
    ASSERT_TRUE(SmallString("some") < PathString("text"));
 | 
			
		||||
    ASSERT_TRUE(SmallString("text") < PathString("texta"));
 | 
			
		||||
    ASSERT_FALSE(SmallString("texta") < PathString("text"));
 | 
			
		||||
    ASSERT_FALSE(SmallString("text") < PathString("some"));
 | 
			
		||||
    ASSERT_FALSE(SmallString("text") < PathString("text"));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST(SmallString, IsEmpty)
 | 
			
		||||
{
 | 
			
		||||
    ASSERT_FALSE(SmallString("text").isEmpty());
 | 
			
		||||
@@ -1129,3 +1147,42 @@ TEST(SmallString, CompareTextWithDifferentLineEndings)
 | 
			
		||||
 | 
			
		||||
    ASSERT_THAT(unixText, convertedText);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST(SmallString, ConstSubscriptOperator)
 | 
			
		||||
{
 | 
			
		||||
    const SmallString text = {"some text"};
 | 
			
		||||
 | 
			
		||||
    auto &&sign = text[5];
 | 
			
		||||
 | 
			
		||||
    ASSERT_THAT(sign, 't');
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST(SmallString, NonConstSubscriptOperator)
 | 
			
		||||
{
 | 
			
		||||
    SmallString text = {"some text"};
 | 
			
		||||
 | 
			
		||||
    auto &&sign = text[5];
 | 
			
		||||
 | 
			
		||||
    ASSERT_THAT(sign, 't');
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST(SmallString, ManipulateConstSubscriptOperator)
 | 
			
		||||
{
 | 
			
		||||
    const SmallString text = {"some text"};
 | 
			
		||||
    auto &&sign = text[5];
 | 
			
		||||
 | 
			
		||||
    sign = 'q';
 | 
			
		||||
 | 
			
		||||
    ASSERT_THAT(text, SmallString{"some text"});
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST(SmallString, ManipulateNonConstSubscriptOperator)
 | 
			
		||||
{
 | 
			
		||||
    char rawText[] = "some text";
 | 
			
		||||
    SmallString text{rawText};
 | 
			
		||||
    auto &&sign = text[5];
 | 
			
		||||
 | 
			
		||||
    sign = 'q';
 | 
			
		||||
 | 
			
		||||
    ASSERT_THAT(text, SmallString{"some qext"});
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user