コード例 #1
0
ファイル: FUStringConversion.cpp プロジェクト: righnatios/0ad
// Split the target string into its pointer and its qualifier(s)
void FUStringConversion::SplitTarget(const fm::string& target, fm::string& pointer, fm::string& qualifier)
{
	size_t splitIndex = target.find_first_of("([.");
	if (splitIndex != fm::string::npos)
	{
		pointer = target.substr(0, splitIndex);
		qualifier = target.substr(splitIndex);
	}
	else
	{
		pointer = target;
		qualifier.clear();
	}
}
コード例 #2
0
ファイル: FUStringTest.cpp プロジェクト: Cousken/3DEngine
TESTSUITE_TEST(1, StringTemplate)
	// Not looking to verify all the combinations,
	// but I do want to exercise all the basic functionality.
	fm::string a("TEST1"), b(a), c("TEST2"), d("VIRUSES", 5), e(3, 'C'), f("abc", 10);
	
	PassIf(d.length() == 5);
	PassIf(f.length() == 10);
	PassIf(IsEquivalent(a, "TEST1"));
	PassIf(a == b);
	PassIf(IsEquivalent(a, b));
	PassIf(a[0] == 'T');
	PassIf(IsEquivalent(d, "VIRUS"));
	PassIf(IsEquivalent(e, "CCC"));
	PassIf(a.length() == 5);
	PassIf(a.substr(0, 4) == c.substr(0, 4));
	FailIf(a == c);
	PassIf(a < c);

	e.append("4");
	b.append(a);
	PassIf(IsEquivalent(e, "CCC4"));
	PassIf(IsEquivalent(b, "TEST1TEST1"));
	PassIf(b.find("TEST1", 0) == 0);
	PassIf(b.find("TEST1", 2) == 5);
	PassIf(b.find("TEST1", 5) == 5);
	PassIf(b.find("TEST1", 7) == fm::string::npos);
	FailIf(c.find("TEST1") != fm::string::npos);
	PassIf(IsEquivalent(a.c_str(), "TEST1"));
	PassIf(d.find_first_of("RST") == 2);
	PassIf(c.find_last_of("T") == 3);