d3dxof: Add some template tests.
This commit is contained in:
parent
123fd68b53
commit
692783a934
|
@ -140,6 +140,22 @@ static char object_syntax_string_with_separator[] =
|
||||||
"\"foo;bar\";\n"
|
"\"foo;bar\";\n"
|
||||||
"}\n";
|
"}\n";
|
||||||
|
|
||||||
|
static char templates_bad_file_type1[] =
|
||||||
|
"xOf 0302txt 0064\n";
|
||||||
|
|
||||||
|
static char templates_bad_file_version[] =
|
||||||
|
"xof 0102txt 0064\n";
|
||||||
|
|
||||||
|
static char templates_bad_file_type2[] =
|
||||||
|
"xof 0302foo 0064\n";
|
||||||
|
|
||||||
|
static char templates_bad_file_float_size[] =
|
||||||
|
"xof 0302txt 0050\n";
|
||||||
|
|
||||||
|
static char templates_parse_error[] =
|
||||||
|
"xof 0302txt 0064"
|
||||||
|
"foobar;\n";
|
||||||
|
|
||||||
static void init_function_pointers(void)
|
static void init_function_pointers(void)
|
||||||
{
|
{
|
||||||
/* We have to use LoadLibrary as no d3dxof functions are referenced directly */
|
/* We have to use LoadLibrary as no d3dxof functions are referenced directly */
|
||||||
|
@ -379,6 +395,43 @@ static void test_file_types(void)
|
||||||
IDirectXFile_Release(dxfile);
|
IDirectXFile_Release(dxfile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_templates(void)
|
||||||
|
{
|
||||||
|
HRESULT ret;
|
||||||
|
IDirectXFile *dxfile = NULL;
|
||||||
|
|
||||||
|
if (!pDirectXFileCreate)
|
||||||
|
{
|
||||||
|
win_skip("DirectXFileCreate is not available\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = pDirectXFileCreate(&dxfile);
|
||||||
|
ok(ret == DXFILE_OK, "DirectXFileCreate: %x\n", ret);
|
||||||
|
if (!dxfile)
|
||||||
|
{
|
||||||
|
skip("Couldn't create DirectXFile interface\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = IDirectXFile_RegisterTemplates(dxfile, templates_bad_file_type1, sizeof(templates_bad_file_type1) - 1);
|
||||||
|
ok(ret == DXFILEERR_BADFILETYPE, "RegisterTemplates returned %#x, expected %#x\n", ret, DXFILEERR_BADFILETYPE);
|
||||||
|
|
||||||
|
ret = IDirectXFile_RegisterTemplates(dxfile, templates_bad_file_version, sizeof(templates_bad_file_version) - 1);
|
||||||
|
ok(ret == DXFILEERR_BADFILEVERSION, "RegisterTemplates returned %#x, expected %#x\n", ret, DXFILEERR_BADFILEVERSION);
|
||||||
|
|
||||||
|
ret = IDirectXFile_RegisterTemplates(dxfile, templates_bad_file_type2, sizeof(templates_bad_file_type2) - 1);
|
||||||
|
ok(ret == DXFILEERR_BADFILETYPE, "RegisterTemplates returned %#x, expected %#x\n", ret, DXFILEERR_BADFILETYPE);
|
||||||
|
|
||||||
|
ret = IDirectXFile_RegisterTemplates(dxfile, templates_bad_file_float_size, sizeof(templates_bad_file_float_size) - 1);
|
||||||
|
ok(ret == DXFILEERR_BADFILEFLOATSIZE, "RegisterTemplates returned %#x, expected %#x\n", ret, DXFILEERR_BADFILEFLOATSIZE);
|
||||||
|
|
||||||
|
ret = IDirectXFile_RegisterTemplates(dxfile, templates_parse_error, sizeof(templates_parse_error) - 1);
|
||||||
|
todo_wine ok(ret == DXFILEERR_PARSEERROR, "RegisterTemplates returned %#x, expected %#x\n", ret, DXFILEERR_PARSEERROR);
|
||||||
|
|
||||||
|
IDirectXFile_Release(dxfile);
|
||||||
|
}
|
||||||
|
|
||||||
static void test_compressed_files(void)
|
static void test_compressed_files(void)
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
@ -788,6 +841,7 @@ START_TEST(d3dxof)
|
||||||
test_refcount();
|
test_refcount();
|
||||||
test_CreateEnumObject();
|
test_CreateEnumObject();
|
||||||
test_file_types();
|
test_file_types();
|
||||||
|
test_templates();
|
||||||
test_compressed_files();
|
test_compressed_files();
|
||||||
test_getname();
|
test_getname();
|
||||||
test_syntax();
|
test_syntax();
|
||||||
|
|
Loading…
Reference in New Issue