OpenTTD Source 20250218-master-g53dd1258a7
string_func.cpp File Reference

Test functionality from string_func. More...

#include "../stdafx.h"
#include "../3rdparty/catch2/catch.hpp"
#include "../string_func.h"
#include "../table/control_codes.h"

Go to the source code of this file.

Functions

 TEST_CASE ("StrCompareIgnoreCase - std::string")
 
 TEST_CASE ("StrCompareIgnoreCase - char pointer")
 
 TEST_CASE ("StrCompareIgnoreCase - std::string_view")
 
 TEST_CASE ("StrEqualsIgnoreCase - std::string")
 
 TEST_CASE ("StrEqualsIgnoreCase - char pointer")
 
 TEST_CASE ("StrEqualsIgnoreCase - std::string_view")
 
 TEST_CASE ("StrStartsWithIgnoreCase - std::string")
 
 TEST_CASE ("StrStartsWithIgnoreCase - char pointer")
 
 TEST_CASE ("StrStartsWithIgnoreCase - std::string_view")
 
 TEST_CASE ("StrEndsWithIgnoreCase - std::string")
 
 TEST_CASE ("StrEndsWithIgnoreCase - char pointer")
 
 TEST_CASE ("StrEndsWithIgnoreCase - std::string_view")
 
 TEST_CASE ("FormatArrayAsHex")
 
 TEST_CASE ("ConvertHexToBytes")
 
 TEST_CASE ("StrTrimInPlace")
 
 TEST_CASE ("StrTrimView")
 
void FixSCCEncoded (std::string &str, bool fix_code)
 Scan the string for old values of SCC_ENCODED and fix it to it's new, value.
 
static std::string FixSCCEncodedWrapper (const std::string &str, bool fix_code)
 
static void ComposePart (std::back_insert_iterator< std::string > &output, char32_t c)
 
static void ComposePart (std::back_insert_iterator< std::string > &output, const std::string &value)
 
template<typename... Args>
static std::string Compose (Args &&... args)
 
 TEST_CASE ("FixSCCEncoded")
 

Variables

static const std::vector< std::pair< std::string, std::string > > _str_trim_testcases
 

Detailed Description

Test functionality from string_func.

Definition in file string_func.cpp.

Function Documentation

◆ Compose()

template<typename... Args>
static std::string Compose ( Args &&...  args)
static

Definition at line 436 of file string_func.cpp.

◆ ComposePart() [1/2]

static void ComposePart ( std::back_insert_iterator< std::string > &  output,
char32_t  c 
)
static

Definition at line 423 of file string_func.cpp.

◆ ComposePart() [2/2]

static void ComposePart ( std::back_insert_iterator< std::string > &  output,
const std::string &  value 
)
static

Definition at line 429 of file string_func.cpp.

◆ FixSCCEncoded()

void FixSCCEncoded ( std::string &  str,
bool  fix_code 
)
extern

Scan the string for old values of SCC_ENCODED and fix it to it's new, value.

Note that at the moment this runs, the string has not been validated yet because the validation looks for SCC_ENCODED. If there is something invalid, just bail out and do not continue trying to replace the tokens.

Parameters
strthe string to fix.

Definition at line 919 of file saveload.cpp.

References SCC_ENCODED, SCC_ENCODED_NUMERIC, SCC_ENCODED_STRING, Utf8Decode(), Utf8Encode(), and Utf8EncodedCharLen().

Referenced by SlStdString().

◆ FixSCCEncodedWrapper()

static std::string FixSCCEncodedWrapper ( const std::string &  str,
bool  fix_code 
)
static

Definition at line 415 of file string_func.cpp.

◆ TEST_CASE() [1/17]

TEST_CASE ( "ConvertHexToBytes"  )

Definition at line 347 of file string_func.cpp.

◆ TEST_CASE() [2/17]

TEST_CASE ( "FixSCCEncoded"  )

Definition at line 444 of file string_func.cpp.

◆ TEST_CASE() [3/17]

TEST_CASE ( "FormatArrayAsHex"  )

Definition at line 340 of file string_func.cpp.

◆ TEST_CASE() [4/17]

TEST_CASE ( "StrCompareIgnoreCase - char pointer"  )

Definition at line 43 of file string_func.cpp.

◆ TEST_CASE() [5/17]

TEST_CASE ( "StrCompareIgnoreCase - std::string"  )

Definition at line 19 of file string_func.cpp.

◆ TEST_CASE() [6/17]

TEST_CASE ( "StrCompareIgnoreCase - std::string_view"  )

Definition at line 67 of file string_func.cpp.

◆ TEST_CASE() [7/17]

TEST_CASE ( "StrEndsWithIgnoreCase - char pointer"  )

Definition at line 279 of file string_func.cpp.

◆ TEST_CASE() [8/17]

TEST_CASE ( "StrEndsWithIgnoreCase - std::string"  )

Definition at line 254 of file string_func.cpp.

◆ TEST_CASE() [9/17]

TEST_CASE ( "StrEndsWithIgnoreCase - std::string_view"  )

Definition at line 304 of file string_func.cpp.

◆ TEST_CASE() [10/17]

TEST_CASE ( "StrEqualsIgnoreCase - char pointer"  )

Definition at line 119 of file string_func.cpp.

◆ TEST_CASE() [11/17]

TEST_CASE ( "StrEqualsIgnoreCase - std::string"  )

Definition at line 101 of file string_func.cpp.

◆ TEST_CASE() [12/17]

TEST_CASE ( "StrEqualsIgnoreCase - std::string_view"  )

Definition at line 137 of file string_func.cpp.

◆ TEST_CASE() [13/17]

TEST_CASE ( "StrStartsWithIgnoreCase - char pointer"  )

Definition at line 192 of file string_func.cpp.

◆ TEST_CASE() [14/17]

TEST_CASE ( "StrStartsWithIgnoreCase - std::string"  )

Definition at line 167 of file string_func.cpp.

◆ TEST_CASE() [15/17]

TEST_CASE ( "StrStartsWithIgnoreCase - std::string_view"  )

Definition at line 217 of file string_func.cpp.

◆ TEST_CASE() [16/17]

TEST_CASE ( "StrTrimInPlace"  )

Definition at line 398 of file string_func.cpp.

◆ TEST_CASE() [17/17]

TEST_CASE ( "StrTrimView"  )

Definition at line 406 of file string_func.cpp.

Variable Documentation

◆ _str_trim_testcases

const std::vector<std::pair<std::string, std::string> > _str_trim_testcases
static
Initial value:
= {
{"a", "a"},
{" a", "a"},
{"a ", "a"},
{" a ", "a"},
{" a b c ", "a b c"},
{" ", ""}
}

Definition at line 389 of file string_func.cpp.