Mike McCormack : msi: Add another test for the SourceDir property.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Nov 20 05:52:26 CST 2006
Module: wine
Branch: master
Commit: 69c6fff384bc5344d7bf90acb6b9cb1cae6e9700
URL: http://source.winehq.org/git/wine.git/?a=commit;h=69c6fff384bc5344d7bf90acb6b9cb1cae6e9700
Author: Mike McCormack <mike at codeweavers.com>
Date: Mon Nov 20 16:16:50 2006 +0900
msi: Add another test for the SourceDir property.
---
dlls/msi/tests/package.c | 77 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 77 insertions(+), 0 deletions(-)
diff --git a/dlls/msi/tests/package.c b/dlls/msi/tests/package.c
index 4aaa001..d731ad2 100644
--- a/dlls/msi/tests/package.c
+++ b/dlls/msi/tests/package.c
@@ -2893,6 +2893,82 @@ static void test_sourcedirprop(void)
DeleteFileA(msifile);
}
+static void test_prop_path(void)
+{
+ MSIHANDLE hpkg, hdb;
+ char buffer[MAX_PATH], cwd[MAX_PATH];
+ DWORD sz;
+ UINT r;
+
+ GetCurrentDirectory(MAX_PATH, cwd);
+ strcat(cwd, "\\");
+
+ hdb = create_package_db();
+ ok( hdb, "failed to create database\n");
+
+ r = add_directory_entry( hdb, "'TARGETDIR','','SourceDir'" );
+ ok( r == ERROR_SUCCESS, "cannot add directory: %d\n", r );
+
+ r = add_directory_entry( hdb, "'foo','TARGETDIR','foosrc:footgt'" );
+ ok( r == ERROR_SUCCESS, "cannot add directory: %d\n", r );
+
+ hpkg = package_from_db(hdb);
+ ok( hpkg, "failed to create package\n");
+
+ r = MsiGetSourcePath(hpkg, "SourceDir", buffer, &sz );
+ ok( r == ERROR_DIRECTORY, "failed to get source path\n");
+
+ r = MsiGetSourcePath(hpkg, "SOURCEDIR", buffer, &sz );
+ ok( r == ERROR_DIRECTORY, "failed to get source path\n");
+
+ r = MsiDoAction( hpkg, "CostInitialize");
+ ok( r == ERROR_SUCCESS, "cost init failed\n");
+
+ sz = sizeof buffer;
+ buffer[0] = 0;
+ r = MsiGetProperty(hpkg, "SourceDir", buffer, &sz);
+ ok( r == ERROR_SUCCESS, "property not set\n");
+ ok( !buffer[0], "SourceDir should be empty\n");
+
+ sz = sizeof buffer;
+ buffer[0] = 0;
+ r = MsiGetProperty(hpkg, "SOURCEDIR", buffer, &sz);
+ ok( r == ERROR_SUCCESS, "property not set\n");
+ ok( !buffer[0], "SourceDir should be empty\n");
+
+ sz = sizeof buffer;
+ buffer[0] = 0;
+ r = MsiGetSourcePath(hpkg, "SourceDir", buffer, &sz );
+ todo_wine {
+ ok( r == ERROR_SUCCESS, "failed to get source path\n");
+ ok( !lstrcmpi(cwd, buffer), "SourceDir (%s) should be current dir (%s)\n", buffer, cwd);
+ }
+
+ sz = sizeof buffer;
+ buffer[0] = 0;
+ r = MsiGetProperty(hpkg, "SourceDir", buffer, &sz);
+ ok( r == ERROR_SUCCESS, "property not set\n");
+ todo_wine {
+ ok( !lstrcmpi(cwd, buffer), "SourceDir (%s) should be current dir (%s)\n", buffer, cwd);
+ }
+
+ sz = sizeof buffer;
+ buffer[0] = 0;
+ r = MsiGetSourcePath(hpkg, "SOURCEDIR", buffer, &sz );
+ ok( r == ERROR_DIRECTORY, "failed to get source path\n");
+
+ sz = sizeof buffer;
+ buffer[0] = 0;
+ r = MsiGetProperty(hpkg, "SOURCEDIR", buffer, &sz);
+ ok( r == ERROR_SUCCESS, "property not set\n");
+ todo_wine {
+ ok( !lstrcmpi(cwd, buffer), "SourceDir (%s) should be current dir (%s)\n", buffer, cwd);
+ }
+
+ MsiCloseHandle( hpkg );
+ DeleteFile(msifile);
+}
+
START_TEST(package)
{
test_createpackage();
@@ -2913,4 +2989,5 @@ START_TEST(package)
test_featureparents();
test_installprops();
test_sourcedirprop();
+ test_prop_path();
}
More information about the wine-cvs
mailing list