static void test_gettargetpath_bad(void)
{
+ static const WCHAR boo[] = {'b','o','o',0};
+ static const WCHAR empty[] = {0};
char buffer[0x80];
+ WCHAR bufferW[0x80];
MSIHANDLE hpkg;
DWORD sz;
UINT r;
r = MsiGetTargetPath( hpkg, "boo", buffer, NULL );
ok( r == ERROR_DIRECTORY, "wrong return val\n");
+ sz = 0;
+ r = MsiGetTargetPath( hpkg, "", buffer, &sz );
+ ok( r == ERROR_DIRECTORY, "wrong return val\n");
+
+ r = MsiGetTargetPathW( 0, NULL, NULL, NULL );
+ ok( r == ERROR_INVALID_PARAMETER, "wrong return val\n");
+
+ r = MsiGetTargetPathW( 0, NULL, NULL, &sz );
+ ok( r == ERROR_INVALID_PARAMETER, "wrong return val\n");
+
+ r = MsiGetTargetPathW( 0, boo, NULL, NULL );
+ ok( r == ERROR_INVALID_HANDLE, "wrong return val\n");
+
+ r = MsiGetTargetPathW( 0, boo, NULL, NULL );
+ ok( r == ERROR_INVALID_HANDLE, "wrong return val\n");
+
+ r = MsiGetTargetPathW( hpkg, boo, NULL, NULL );
+ ok( r == ERROR_DIRECTORY, "wrong return val\n");
+
+ r = MsiGetTargetPathW( hpkg, boo, bufferW, NULL );
+ ok( r == ERROR_DIRECTORY, "wrong return val\n");
+
+ sz = 0;
+ r = MsiGetTargetPathW( hpkg, empty, bufferW, &sz );
+ ok( r == ERROR_DIRECTORY, "wrong return val\n");
+
MsiCloseHandle( hpkg );
DeleteFile(msifile);
}