forked from Mirrors/openclonk
Get random stuff test to build again
TestHost can't check that SourceScripts is unmodified anymore because C4ScriptHost contains a std::unique_ptr these days, so we can't copy derived classes. Next best thing is just creating two instances of TestHost and comparing those.alut-include-path
parent
5ad6012a3f
commit
144451783d
|
@ -36,7 +36,7 @@ class C4Object;
|
|||
class C4ValueArray;
|
||||
class C4Def;
|
||||
class C4Effect;
|
||||
class C4AulParSet;
|
||||
struct C4AulParSet;
|
||||
class C4AulScriptFunc;
|
||||
#include "script/C4Value.h"
|
||||
|
||||
|
|
|
@ -51,11 +51,7 @@ public:
|
|||
EXPECT_EQ(Script, rhs.Script);
|
||||
EXPECT_EQ(Resolving, rhs.Resolving);
|
||||
EXPECT_EQ(IncludesResolved, rhs.IncludesResolved);
|
||||
//EXPECT_EQ(LocalNamed.iSize, rhs.LocalNamed.iSize);
|
||||
//if (LocalNamed.iSize == rhs.LocalNamed.iSize)
|
||||
// EXPECT_TRUE(std::equal(LocalNamed.pNames, LocalNamed.pNames+LocalNamed.iSize, rhs.LocalNamed.pNames));
|
||||
EXPECT_EQ(LocalValues, rhs.LocalValues);
|
||||
EXPECT_EQ(SourceScripts, rhs.SourceScripts);
|
||||
|
||||
// C4AulScript
|
||||
EXPECT_EQ(ScriptName, rhs.ScriptName);
|
||||
|
@ -78,12 +74,12 @@ public:
|
|||
TEST(DirectExecTest, HostUnmodifedByParseTest)
|
||||
{
|
||||
TestHost host;
|
||||
TestHost &host2 = host; // I broke this test a bit… Someone look at the changeset and fix it please.
|
||||
TestHost host2;
|
||||
host.test_equality(host2);
|
||||
char szScript[] = "8*5";
|
||||
C4AulScriptFunc *pFunc = new C4AulScriptFunc(host.GetPropList(), nullptr, nullptr, szScript);
|
||||
host.test_equality(host2);
|
||||
//pFunc->ParseFn(&::ScriptEngine);
|
||||
pFunc->ParseDirectExecStatement(&::ScriptEngine);
|
||||
host.test_equality(host2);
|
||||
delete pFunc;
|
||||
}
|
||||
|
|
|
@ -192,15 +192,14 @@ TEST(UnicodeHandlingTest, RejectsInvalidMultiByteUtf8)
|
|||
#ifdef _WIN32
|
||||
TEST(UnicodeHandlingTest, WideStringConversion)
|
||||
{
|
||||
wchar_t *wide_strings[] = {
|
||||
const wchar_t *wide_strings[] = {
|
||||
L"\xD835\xDD07\xD835\xDD22\xD835\xDD2F",
|
||||
L"\xD835\xDD0E\xD835\xDD29\xD835\xDD1E\xD835\xDD32\xD835\xDD30",
|
||||
NULL
|
||||
};
|
||||
for (wchar_t **wide_string = wide_strings; *wide_string; ++wide_string)
|
||||
for (const auto wide_string : wide_strings)
|
||||
{
|
||||
StdStrBuf wide_string_buf(*wide_string);
|
||||
EXPECT_STREQ(*wide_string, wide_string_buf.GetWideChar()) << "Conversion wchar_t*=>StdStrBuf=>wchar_t* isn't lossless";
|
||||
StdStrBuf wide_string_buf(wide_string);
|
||||
EXPECT_STREQ(wide_string, wide_string_buf.GetWideChar()) << "Conversion wchar_t*=>StdStrBuf=>wchar_t* isn't lossless";
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -210,19 +209,18 @@ TEST(UnicodeHandlingTest, WideStringConversion)
|
|||
char StdCompiler::SeparatorToChar(enum StdCompiler::Sep) { return ' '; }
|
||||
TEST(UnicodeHandlingTest, RegistryAccess)
|
||||
{
|
||||
wchar_t *wide_strings[] = {
|
||||
const wchar_t *wide_strings[] = {
|
||||
L"\xD835\xDD07\xD835\xDD22\xD835\xDD2F",
|
||||
L"\xD835\xDD0E\xD835\xDD29\xD835\xDD1E\xD835\xDD32\xD835\xDD30",
|
||||
NULL
|
||||
};
|
||||
|
||||
const char *key = "SOFTWARE\\OpenClonk Project\\OpenClonk\\Testing";
|
||||
for (wchar_t **wide_string = wide_strings; *wide_string; ++wide_string)
|
||||
for (const auto wide_string : wide_strings)
|
||||
{
|
||||
ASSERT_TRUE(SetRegistryString(key, "WideCharTest", StdStrBuf(*wide_string).getData()));
|
||||
ASSERT_TRUE(SetRegistryString(key, "WideCharTest", StdStrBuf(wide_string).getData()));
|
||||
StdCopyStrBuf buffer;
|
||||
ASSERT_TRUE(!(buffer = GetRegistryString(key, "WideCharTest")).isNull());
|
||||
EXPECT_STREQ(*wide_string, StdStrBuf(buffer).GetWideChar()) << "Registry read-back returned wrong value";
|
||||
EXPECT_STREQ(wide_string, StdStrBuf(buffer).GetWideChar()) << "Registry read-back returned wrong value";
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue