qedit/tests: Add test framework and test for IMediaDet_put_Filename.
This commit is contained in:
parent
8b432b3655
commit
999bc5bcb2
|
@ -3,12 +3,14 @@ TOPOBJDIR = ../../..
|
|||
SRCDIR = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
TESTDLL = qedit.dll
|
||||
IMPORTS = ole32 kernel32
|
||||
IMPORTS = oleaut32 ole32 kernel32
|
||||
EXTRALIBS = -lstrmiids -luuid
|
||||
|
||||
CTESTS = \
|
||||
mediadet.c
|
||||
|
||||
RC_SRCS = qedit.rc
|
||||
|
||||
@MAKE_TEST_RULES@
|
||||
|
||||
@DEPENDENCIES@ # everything below this line is overwritten by make depend
|
||||
|
|
|
@ -25,22 +25,88 @@
|
|||
#include "wine/test.h"
|
||||
#include "qedit.h"
|
||||
|
||||
static WCHAR test_avi_filename[MAX_PATH];
|
||||
|
||||
static BOOL init_tests(void)
|
||||
{
|
||||
static WCHAR temp_path[MAX_PATH];
|
||||
static WCHAR prefix[] = {'D','E','S',0};
|
||||
static WCHAR avi[] = {'a','v','i',0};
|
||||
HRSRC res;
|
||||
HGLOBAL data;
|
||||
char *mem;
|
||||
DWORD size, written;
|
||||
HANDLE fh;
|
||||
|
||||
res = FindResourceW(NULL, (LPWSTR) 1, (LPWSTR) 256);
|
||||
if (!res)
|
||||
return FALSE;
|
||||
|
||||
data = LoadResource(NULL, res);
|
||||
if (!data)
|
||||
return FALSE;
|
||||
|
||||
mem = LockResource(data);
|
||||
if (!mem)
|
||||
return FALSE;
|
||||
|
||||
size = SizeofResource(NULL, res);
|
||||
if (size == 0)
|
||||
return FALSE;
|
||||
|
||||
if (!GetTempPathW(sizeof temp_path, temp_path))
|
||||
return FALSE;
|
||||
|
||||
/* We might end up relying on the extension here, so .TMP is no good. */
|
||||
if (!GetTempFileNameW(temp_path, prefix, 0, test_avi_filename))
|
||||
return FALSE;
|
||||
|
||||
DeleteFileW(test_avi_filename);
|
||||
lstrcpyW(test_avi_filename + lstrlenW(test_avi_filename) - 3, avi);
|
||||
|
||||
fh = CreateFileW(test_avi_filename, GENERIC_WRITE, 0, NULL,
|
||||
CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL);
|
||||
if (fh == INVALID_HANDLE_VALUE)
|
||||
return FALSE;
|
||||
|
||||
if (!WriteFile(fh, mem, size, &written, NULL) || written != size)
|
||||
return FALSE;
|
||||
|
||||
CloseHandle(fh);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void test_mediadet(void)
|
||||
{
|
||||
HRESULT hr;
|
||||
IMediaDet *pM = NULL;
|
||||
BSTR filename = NULL;
|
||||
|
||||
hr = CoCreateInstance(&CLSID_MediaDet, NULL, CLSCTX_INPROC_SERVER,
|
||||
&IID_IMediaDet, (LPVOID*)&pM);
|
||||
ok(hr == S_OK, "CoCreateInstance failed with %x\n", hr);
|
||||
ok(pM != NULL, "pM is NULL\n");
|
||||
|
||||
filename = SysAllocString(test_avi_filename);
|
||||
hr = IMediaDet_put_Filename(pM, filename);
|
||||
todo_wine ok(hr == S_OK, "IMediaDet_put_Filename -> %x\n", hr);
|
||||
SysFreeString(filename);
|
||||
|
||||
hr = IMediaDet_Release(pM);
|
||||
ok(hr == 0, "IMediaDet_Release returned: %x\n", hr);
|
||||
|
||||
DeleteFileW(test_avi_filename);
|
||||
}
|
||||
|
||||
START_TEST(mediadet)
|
||||
{
|
||||
if (!init_tests())
|
||||
{
|
||||
skip("Couldn't initialize tests!\n");
|
||||
return;
|
||||
}
|
||||
|
||||
CoInitialize(NULL);
|
||||
test_mediadet();
|
||||
CoUninitialize();
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
* Resource file for qedit tests.
|
||||
*
|
||||
* Copyright 2008 Google (Dan Hipschman)
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
/* @makedep: test.avi */
|
||||
1 256 test.avi
|
Binary file not shown.
Loading…
Reference in New Issue