OpenTTD Source 15.0-beta2
string_func.cpp File Reference

Test functionality from string_func. More...

#include "../stdafx.h"
#include "../3rdparty/catch2/catch.hpp"
#include "../string_func.h"
#include "../strings_func.h"
#include "../core/string_builder.hpp"
#include "../table/control_codes.h"
#include "table/strings.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 (StringBuilder &builder, char32_t c)
 
static void ComposePart (StringBuilder &builder, const std::string &value)
 
template<typename... Args>
static std::string Compose (Args &&... args)
 
 TEST_CASE ("FixSCCEncoded")
 
 TEST_CASE ("EncodedString::ReplaceParam")
 

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 440 of file string_func.cpp.

◆ ComposePart() [1/2]

static void ComposePart ( StringBuilder &  builder,
char32_t  c 
)
static

Definition at line 427 of file string_func.cpp.

◆ ComposePart() [2/2]

static void ComposePart ( StringBuilder &  builder,
const std::string &  value 
)
static

Definition at line 433 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 920 of file saveload.cpp.

References BaseStringBuilder::PutUtf8(), SCC_ENCODED, SCC_ENCODED_NUMERIC, SCC_ENCODED_STRING, Utf8Decode(), and Utf8EncodedCharLen().

Referenced by SlStdString().

◆ FixSCCEncodedWrapper()

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

Definition at line 419 of file string_func.cpp.

◆ TEST_CASE() [1/18]

TEST_CASE ( "ConvertHexToBytes"  )

Definition at line 351 of file string_func.cpp.

◆ TEST_CASE() [2/18]

TEST_CASE ( "EncodedString::ReplaceParam"  )

Definition at line 481 of file string_func.cpp.

◆ TEST_CASE() [3/18]

TEST_CASE ( "FixSCCEncoded"  )

Definition at line 448 of file string_func.cpp.

◆ TEST_CASE() [4/18]

TEST_CASE ( "FormatArrayAsHex"  )

Definition at line 344 of file string_func.cpp.

◆ TEST_CASE() [5/18]

TEST_CASE ( "StrCompareIgnoreCase - char pointer"  )

Definition at line 47 of file string_func.cpp.

◆ TEST_CASE() [6/18]

TEST_CASE ( "StrCompareIgnoreCase - std::string"  )

Definition at line 23 of file string_func.cpp.

◆ TEST_CASE() [7/18]

TEST_CASE ( "StrCompareIgnoreCase - std::string_view"  )

Definition at line 71 of file string_func.cpp.

◆ TEST_CASE() [8/18]

TEST_CASE ( "StrEndsWithIgnoreCase - char pointer"  )

Definition at line 283 of file string_func.cpp.

◆ TEST_CASE() [9/18]

TEST_CASE ( "StrEndsWithIgnoreCase - std::string"  )

Definition at line 258 of file string_func.cpp.

◆ TEST_CASE() [10/18]

TEST_CASE ( "StrEndsWithIgnoreCase - std::string_view"  )

Definition at line 308 of file string_func.cpp.

◆ TEST_CASE() [11/18]

TEST_CASE ( "StrEqualsIgnoreCase - char pointer"  )

Definition at line 123 of file string_func.cpp.

◆ TEST_CASE() [12/18]

TEST_CASE ( "StrEqualsIgnoreCase - std::string"  )

Definition at line 105 of file string_func.cpp.

◆ TEST_CASE() [13/18]

TEST_CASE ( "StrEqualsIgnoreCase - std::string_view"  )

Definition at line 141 of file string_func.cpp.

◆ TEST_CASE() [14/18]

TEST_CASE ( "StrStartsWithIgnoreCase - char pointer"  )

Definition at line 196 of file string_func.cpp.

◆ TEST_CASE() [15/18]

TEST_CASE ( "StrStartsWithIgnoreCase - std::string"  )

Definition at line 171 of file string_func.cpp.

◆ TEST_CASE() [16/18]

TEST_CASE ( "StrStartsWithIgnoreCase - std::string_view"  )

Definition at line 221 of file string_func.cpp.

◆ TEST_CASE() [17/18]

TEST_CASE ( "StrTrimInPlace"  )

Definition at line 402 of file string_func.cpp.

◆ TEST_CASE() [18/18]

TEST_CASE ( "StrTrimView"  )

Definition at line 410 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 393 of file string_func.cpp.