47 lines
1.6 KiB
C++
47 lines
1.6 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "Commandlets/GatherTextFromSourceCommandlet.h"
|
|
#include "Containers/UnrealString.h"
|
|
|
|
|
|
void UGatherTextFromSourceCommandlet::FNestedMacroDescriptor::TestNestedMacroDescriptorParseArgs()
|
|
{
|
|
FString MacroInnerParams;
|
|
FString ParamsNewAll;
|
|
|
|
MacroInnerParams = TEXT("\"aaa_\" \"bbb\", \"cc ddd eee\"");
|
|
TryParseArgs(MacroInnerParams, ParamsNewAll);
|
|
ensure(ParamsNewAll == TEXT("\"aaa_bbb\", \"cc ddd eee\""));
|
|
|
|
// Stringification using hash '#'
|
|
MacroInnerParams = TEXT("\"aaa \" #bbb \" ccc\"");
|
|
TryParseArgs(MacroInnerParams, ParamsNewAll);
|
|
ensure(ParamsNewAll == TEXT("\"aaa bbb ccc\""));
|
|
|
|
// Stringification using hash '#'
|
|
MacroInnerParams = TEXT("#aaa\"bbb\"");
|
|
TryParseArgs(MacroInnerParams, ParamsNewAll);
|
|
ensure(ParamsNewAll == TEXT("\"aaabbb\""));
|
|
|
|
// String containing hash '#'
|
|
MacroInnerParams = TEXT("#aaa \"#bbb\" \"ccc ddd\"");
|
|
TryParseArgs(MacroInnerParams, ParamsNewAll);
|
|
ensure(ParamsNewAll == TEXT("\"aaa#bbbccc ddd\""));
|
|
|
|
// Param containing a comma
|
|
MacroInnerParams = TEXT("\"aaa\", \"bbb, with comma\"");
|
|
TryParseArgs(MacroInnerParams, ParamsNewAll);
|
|
ensure(ParamsNewAll == TEXT("\"aaa\", \"bbb, with comma\""));
|
|
|
|
// Param without quotes
|
|
MacroInnerParams = TEXT("aaa, \"bbb\", ccc");
|
|
TryParseArgs(MacroInnerParams, ParamsNewAll);
|
|
ensure(ParamsNewAll == TEXT("\"aaa\", \"bbb\", \"ccc\""));
|
|
|
|
// Param with escaped quotes
|
|
MacroInnerParams = TEXT("aaa, \"bbb \\\"ccc\\\" ddd\", eee");
|
|
TryParseArgs(MacroInnerParams, ParamsNewAll);
|
|
ensure(ParamsNewAll == TEXT("\"aaa\", \"bbb \\\"ccc\\\" ddd\", \"eee\""));
|
|
}
|
|
|