Blender V5.0
BLI_string_test.cc File Reference
#include "testing/testing.h"
#include <array>
#include <initializer_list>
#include <ostream>
#include <string>
#include <utility>
#include <vector>
#include "MEM_guardedalloc.h"
#include "BLI_string.h"
#include "BLI_string_utf8.h"
#include "BLI_string_utils.hh"
#include "BLI_utildefines.h"

Go to the source code of this file.

Classes

struct  WordInfo
class  StringFindSplitWords
class  StringCasecmpNatural
class  StringEscape

Macros

#define STR_N_CAT(dst_init, dst_size, src, result_expect)
#define STR_REPLACE_RANGE(src, size, beg, end, dst, result_expect)

Functions

 TEST (BLI_string, bounded_strcpy)
 TEST (BLI_string, StartsWith)
 TEST (BLI_string, EndsWith)
String Concatenate
 TEST (string, StrCat)
String Replace
 TEST (string, StrReplaceRange)
String Partition
 TEST (string, StrPartition)
 TEST (string, StrRPartition)
 TEST (string, StrPartitionEx)
 TEST (string, StrPartitionUtf8)
 TEST (string, StrRPartitionUtf8)
 TEST (string, StrPartitionExUtf8)
String Format Integer (Grouped)
 TEST (string, StrFormatIntGrouped)
 TEST (string, StrFormatUint64Grouped)
String Format Byte Units
 TEST (string, StrFormatByteUnits)
String Format Decimal Units
 TEST (string, StrFormatDecimalUnits)
 TEST (string, StrFormatIntegerUnits)
String Length (Clamped)
 TEST (string, StringNLen)
String Find Split Words
static std::ostream & operator<< (std::ostream &os, const WordInfo &word_info)
 TEST_F (StringFindSplitWords, Simple)
 TEST_F (StringFindSplitWords, Triple)
 TEST_F (StringFindSplitWords, Spacing)
 TEST_F (StringFindSplitWords, Trailing_Left)
 TEST_F (StringFindSplitWords, Trailing_Right)
 TEST_F (StringFindSplitWords, Trailing_LeftRight)
 TEST_F (StringFindSplitWords, Blank)
 TEST_F (StringFindSplitWords, Whitespace)
 TEST_F (StringFindSplitWords, LimitWords)
 TEST_F (StringFindSplitWords, LimitChars)
String Element
 TEST (string, StringElemEmpty)
 TEST (string, StringElemSingle)
 TEST (string, StringElemComplex)
String Search (Case Insensitive)
 TEST (string, StringStrncasestr)
String Maximum Word Count
 TEST (string, StringMaxPossibleWordCount)
String is Decimal
 TEST (string, StrIsDecimal)
String Case Insensitive Comparison
 TEST_F (StringCasecmpNatural, Empty)
 TEST_F (StringCasecmpNatural, Whitespace)
 TEST_F (StringCasecmpNatural, TextOnlyLowerCase)
 TEST_F (StringCasecmpNatural, TextMixedCase)
 TEST_F (StringCasecmpNatural, Period)
 TEST_F (StringCasecmpNatural, OnlyNumbers)
 TEST_F (StringCasecmpNatural, TextAndNumbers)
String Escape/Un-Escape
 TEST_F (StringEscape, Simple)
 TEST_F (StringEscape, Control)

String Join

#define BUFFER_SIZE   128
static void string_join_array_test_truncate (const char *strings[], int strings_num, char buffer[BUFFER_SIZE])
static void string_join_array_with_sep_char_test_truncate (const char *strings[], int strings_num, char buffer[BUFFER_SIZE])
 TEST (string, StrJoin_Truncate)

Macro Definition Documentation

◆ BUFFER_SIZE

#define BUFFER_SIZE   128

◆ STR_N_CAT

#define STR_N_CAT ( dst_init,
dst_size,
src,
result_expect )
Value:
{ \
char dst[dst_size + 1] = dst_init; \
dst[dst_size] = 0xff; \
BLI_strncat(dst, src, dst_size); \
EXPECT_STREQ(dst, result_expect); \
EXPECT_EQ(dst[dst_size], 0xff); \
}

Referenced by TEST().

◆ STR_REPLACE_RANGE

#define STR_REPLACE_RANGE ( src,
size,
beg,
end,
dst,
result_expect )
Value:
{ \
char string[size] = src; \
BLI_string_replace_range(string, sizeof(string), beg, end, dst); \
EXPECT_STREQ(string, result_expect); \
}
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
Definition btDbvt.cpp:52

Referenced by TEST().

Function Documentation

◆ operator<<()

std::ostream & operator<< ( std::ostream & os,
const WordInfo & word_info )
static

Definition at line 873 of file BLI_string_test.cc.

References WordInfo::end, and WordInfo::start.

◆ string_join_array_test_truncate()

void string_join_array_test_truncate ( const char * strings[],
int strings_num,
char buffer[BUFFER_SIZE] )
static

Definition at line 767 of file BLI_string_test.cc.

References BLI_string_join_array(), BLI_string_join_arrayN(), BUFFER_SIZE, EXPECT_EQ(), and MEM_freeN().

Referenced by TEST().

◆ string_join_array_with_sep_char_test_truncate()

void string_join_array_with_sep_char_test_truncate ( const char * strings[],
int strings_num,
char buffer[BUFFER_SIZE] )
static

◆ TEST() [1/24]

TEST ( BLI_string ,
bounded_strcpy  )

Definition at line 1413 of file BLI_string_test.cc.

References str, and STRNCPY().

◆ TEST() [2/24]

TEST ( BLI_string ,
EndsWith  )

Definition at line 1437 of file BLI_string_test.cc.

References BLI_str_endswith().

◆ TEST() [3/24]

TEST ( BLI_string ,
StartsWith  )

Definition at line 1428 of file BLI_string_test.cc.

References BLI_str_startswith().

◆ TEST() [4/24]

TEST ( string ,
StrCat  )

Definition at line 30 of file BLI_string_test.cc.

References STR_N_CAT.

◆ TEST() [5/24]

TEST ( string ,
StrFormatByteUnits  )

◆ TEST() [6/24]

TEST ( string ,
StrFormatDecimalUnits  )

◆ TEST() [7/24]

TEST ( string ,
StrFormatIntegerUnits  )

◆ TEST() [8/24]

TEST ( string ,
StrFormatIntGrouped  )

◆ TEST() [9/24]

TEST ( string ,
StrFormatUint64Grouped  )

◆ TEST() [10/24]

TEST ( string ,
StringElemComplex  )

Definition at line 1011 of file BLI_string_test.cc.

References BLI_string_elem_split_by_delim().

◆ TEST() [11/24]

TEST ( string ,
StringElemEmpty  )

Definition at line 991 of file BLI_string_test.cc.

References BLI_string_elem_split_by_delim().

◆ TEST() [12/24]

TEST ( string ,
StringElemSingle  )

Definition at line 1002 of file BLI_string_test.cc.

References BLI_string_elem_split_by_delim().

◆ TEST() [13/24]

TEST ( string ,
StringMaxPossibleWordCount  )

Definition at line 1071 of file BLI_string_test.cc.

References BLI_string_max_possible_word_count(), and EXPECT_EQ().

◆ TEST() [14/24]

TEST ( string ,
StringNLen  )

Definition at line 740 of file BLI_string_test.cc.

References BLI_strnlen(), and EXPECT_EQ().

◆ TEST() [15/24]

TEST ( string ,
StringStrncasestr  )

Definition at line 1040 of file BLI_string_test.cc.

References BLI_strncasestr(), and EXPECT_EQ().

◆ TEST() [16/24]

TEST ( string ,
StrIsDecimal  )

Definition at line 1087 of file BLI_string_test.cc.

References BLI_string_is_decimal().

◆ TEST() [17/24]

TEST ( string ,
StrJoin_Truncate  )

◆ TEST() [18/24]

TEST ( string ,
StrPartition  )

Definition at line 99 of file BLI_string_test.cc.

References BLI_str_partition(), EXPECT_EQ(), and str.

◆ TEST() [19/24]

TEST ( string ,
StrPartitionEx  )

Definition at line 217 of file BLI_string_test.cc.

References BLI_str_partition_ex(), EXPECT_EQ(), and str.

◆ TEST() [20/24]

TEST ( string ,
StrPartitionExUtf8  )

Definition at line 366 of file BLI_string_test.cc.

References BLI_str_partition_ex_utf8(), EXPECT_EQ(), and str.

◆ TEST() [21/24]

TEST ( string ,
StrPartitionUtf8  )

Definition at line 248 of file BLI_string_test.cc.

References BLI_str_partition_utf8(), EXPECT_EQ(), and str.

◆ TEST() [22/24]

TEST ( string ,
StrReplaceRange  )

Definition at line 57 of file BLI_string_test.cc.

References STR_REPLACE_RANGE.

◆ TEST() [23/24]

TEST ( string ,
StrRPartition  )

Definition at line 158 of file BLI_string_test.cc.

References BLI_str_rpartition(), EXPECT_EQ(), and str.

◆ TEST() [24/24]

TEST ( string ,
StrRPartitionUtf8  )

Definition at line 307 of file BLI_string_test.cc.

References BLI_str_rpartition_utf8(), EXPECT_EQ(), and str.

◆ TEST_F() [1/19]

TEST_F ( StringCasecmpNatural ,
Empty  )

Definition at line 1161 of file BLI_string_test.cc.

References equal.

◆ TEST_F() [2/19]

TEST_F ( StringCasecmpNatural ,
OnlyNumbers  )

Definition at line 1276 of file BLI_string_test.cc.

References equal.

◆ TEST_F() [3/19]

TEST_F ( StringCasecmpNatural ,
Period  )

Definition at line 1256 of file BLI_string_test.cc.

References equal.

◆ TEST_F() [4/19]

TEST_F ( StringCasecmpNatural ,
TextAndNumbers  )

Definition at line 1298 of file BLI_string_test.cc.

References equal.

◆ TEST_F() [5/19]

TEST_F ( StringCasecmpNatural ,
TextMixedCase  )

Definition at line 1220 of file BLI_string_test.cc.

References equal.

◆ TEST_F() [6/19]

TEST_F ( StringCasecmpNatural ,
TextOnlyLowerCase  )

Definition at line 1197 of file BLI_string_test.cc.

References equal.

◆ TEST_F() [7/19]

TEST_F ( StringCasecmpNatural ,
Whitespace  )

Definition at line 1177 of file BLI_string_test.cc.

References equal.

◆ TEST_F() [8/19]

TEST_F ( StringEscape ,
Control  )

Definition at line 1389 of file BLI_string_test.cc.

◆ TEST_F() [9/19]

TEST_F ( StringEscape ,
Simple  )

Definition at line 1354 of file BLI_string_test.cc.

References equal.

◆ TEST_F() [10/19]

TEST_F ( StringFindSplitWords ,
Blank  )

Definition at line 954 of file BLI_string_test.cc.

◆ TEST_F() [11/19]

TEST_F ( StringFindSplitWords ,
LimitChars  )

Definition at line 972 of file BLI_string_test.cc.

◆ TEST_F() [12/19]

TEST_F ( StringFindSplitWords ,
LimitWords  )

Definition at line 963 of file BLI_string_test.cc.

◆ TEST_F() [13/19]

TEST_F ( StringFindSplitWords ,
Simple  )

Definition at line 924 of file BLI_string_test.cc.

◆ TEST_F() [14/19]

TEST_F ( StringFindSplitWords ,
Spacing  )

Definition at line 934 of file BLI_string_test.cc.

◆ TEST_F() [15/19]

TEST_F ( StringFindSplitWords ,
Trailing_Left  )

Definition at line 939 of file BLI_string_test.cc.

◆ TEST_F() [16/19]

TEST_F ( StringFindSplitWords ,
Trailing_LeftRight  )

Definition at line 949 of file BLI_string_test.cc.

◆ TEST_F() [17/19]

TEST_F ( StringFindSplitWords ,
Trailing_Right  )

Definition at line 944 of file BLI_string_test.cc.

◆ TEST_F() [18/19]

TEST_F ( StringFindSplitWords ,
Triple  )

Definition at line 929 of file BLI_string_test.cc.

◆ TEST_F() [19/19]

TEST_F ( StringFindSplitWords ,
Whitespace  )

Definition at line 958 of file BLI_string_test.cc.