James Hawkins : msi: Add more tests for MsiFormatRecord.
Alexandre Julliard
julliard at winehq.org
Tue Feb 5 06:34:34 CST 2008
Module: wine
Branch: master
Commit: e618c6d11534ed0fc1e63643b01cbd37314f5d7f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e618c6d11534ed0fc1e63643b01cbd37314f5d7f
Author: James Hawkins <truiken at gmail.com>
Date: Mon Feb 4 15:43:54 2008 -0600
msi: Add more tests for MsiFormatRecord.
---
dlls/msi/tests/format.c | 108 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 108 insertions(+), 0 deletions(-)
diff --git a/dlls/msi/tests/format.c b/dlls/msi/tests/format.c
index 2c9861e..be3a025 100644
--- a/dlls/msi/tests/format.c
+++ b/dlls/msi/tests/format.c
@@ -1794,6 +1794,101 @@ static void test_formatrecord_package(void)
ok( sz == 0, "size wrong: %d\n", sz);
ok( 0 == strcmp(buffer,""), "wrong output: %s\n", buffer);
+ MsiRecordSetString(hrec, 0, "\\x");
+ sz = sizeof(buffer);
+ r = MsiFormatRecord(package, hrec, buffer, &sz);
+ ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
+ ok(sz == 2, "Expected 2, got %d\n", sz);
+ ok(!lstrcmpA(buffer, "\\x"), "Expected \"\\x\", got \"%s\"\n", buffer);
+
+ MsiRecordSetString(hrec, 0, "[\\[");
+ sz = sizeof(buffer);
+ r = MsiFormatRecord(package, hrec, buffer, &sz);
+ ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
+ ok(sz == 3, "Expected 3, got %d\n", sz);
+ ok(!lstrcmpA(buffer, "[\\["), "Expected \"[\\[\", got \"%s\"\n", buffer);
+
+ MsiRecordSetString(hrec, 0, "[\\[]");
+ sz = sizeof(buffer);
+ r = MsiFormatRecord(package, hrec, buffer, &sz);
+ ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
+ ok(sz == 1, "Expected 1, got %d\n", sz);
+ ok(!lstrcmpA(buffer, "["), "Expected \"[\", got \"%s\"\n", buffer);
+
+ MsiRecordSetString(hrec, 0, "[[]");
+ sz = sizeof(buffer);
+ r = MsiFormatRecord(package, hrec, buffer, &sz);
+ ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
+ ok(sz == 3, "Expected 3, got %d\n", sz);
+ ok(!lstrcmpA(buffer, "[[]"), "Expected \"[]\", got \"%s\"\n", buffer);
+
+ MsiRecordSetString(hrec, 0, "[\\[]]");
+ sz = sizeof(buffer);
+ r = MsiFormatRecord(package, hrec, buffer, &sz);
+ ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
+ ok(sz == 2, "Expected 2, got %d\n", sz);
+ ok(!lstrcmpA(buffer, "[]"), "Expected \"[]\", got \"%s\"\n", buffer);
+
+ MsiRecordSetString(hrec, 0, "[\\[a]");
+ sz = sizeof(buffer);
+ r = MsiFormatRecord(package, hrec, buffer, &sz);
+ ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
+ ok(sz == 1, "Expected 1, got %d\n", sz);
+ ok(!lstrcmpA(buffer, "["), "Expected \"[\", got \"%s\"\n", buffer);
+
+ MsiRecordSetString(hrec, 0, "[\\a[]");
+ sz = sizeof(buffer);
+ r = MsiFormatRecord(package, hrec, buffer, &sz);
+ ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
+ todo_wine
+ {
+ ok(sz == 1, "Expected 1, got %d\n", sz);
+ ok(!lstrcmpA(buffer, "a"), "Expected \"a\", got \"%s\"\n", buffer);
+ }
+
+ MsiRecordSetString(hrec, 0, "[prop]");
+ sz = sizeof(buffer);
+ r = MsiFormatRecord(package, hrec, buffer, &sz);
+ ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
+ ok(sz == 3, "Expected 3, got %d\n", sz);
+ ok(!lstrcmpA(buffer, "val"), "Expected \"val\", got \"%s\"\n", buffer);
+
+ MsiRecordSetString(hrec, 0, "[prop] [pro\\pblah] [prop]");
+ sz = sizeof(buffer);
+ r = MsiFormatRecord(package, hrec, buffer, &sz);
+ ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
+ ok(sz == 8, "Expected 8, got %d\n", sz);
+ ok(!lstrcmpA(buffer, "val val"), "Expected \"val val\", got \"%s\"\n", buffer);
+
+ MsiSetPropertyA(package, "b", "ball");
+ MsiRecordSetString(hrec, 0, "[\\b]");
+ sz = sizeof(buffer);
+ r = MsiFormatRecord(package, hrec, buffer, &sz);
+ ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
+ ok(sz == 1, "Expected 1, got %d\n", sz);
+ ok(!lstrcmpA(buffer, "b"), "Expected \"b\", got \"%s\"\n", buffer);
+
+ MsiRecordSetString(hrec, 0, "[\\c]");
+ sz = sizeof(buffer);
+ r = MsiFormatRecord(package, hrec, buffer, &sz);
+ ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
+ ok(sz == 1, "Expected 1, got %d\n", sz);
+ ok(!lstrcmpA(buffer, "c"), "Expected \"c\", got \"%s\"\n", buffer);
+
+ MsiRecordSetString(hrec, 0, "[\\[]prop]");
+ sz = sizeof(buffer);
+ r = MsiFormatRecord(package, hrec, buffer, &sz);
+ ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
+ ok(sz == 6, "Expected 6, got %d\n", sz);
+ ok(!lstrcmpA(buffer, "[prop]"), "Expected \"[prop]\", got \"%s\"\n", buffer);
+
+ MsiRecordSetString(hrec, 0, "[\\a]prop]");
+ sz = sizeof(buffer);
+ r = MsiFormatRecord(package, hrec, buffer, &sz);
+ ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
+ ok(sz == 6, "Expected 6, got %d\n", sz);
+ ok(!lstrcmpA(buffer, "aprop]"), "Expected \"aprop]\", got \"%s\"\n", buffer);
+
MsiRecordSetString(hrec, 0, "[\\[]Bracket Text[\\]]");
sz = sizeof buffer;
r = MsiFormatRecord(package, hrec, buffer, &sz);
@@ -1812,6 +1907,19 @@ static void test_formatrecord_package(void)
ok( sz == 9, "size wrong\n");
ok( 0 == strcmp(buffer,"boo "), "wrong output\n");
+ MsiRecordSetString(hrec, 0, "[1] [~abc] [2]");
+ MsiRecordSetString(hrec, 1, "boo");
+ MsiRecordSetString(hrec, 2, "hoo");
+ sz = sizeof(buffer);
+ r = MsiFormatRecord(package, hrec, buffer, &sz);
+ ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", r);
+ todo_wine
+ {
+ ok(sz == 8, "Expected 8, got %d\n", sz);
+ ok(!lstrcmpA(buffer, "boo hoo"),
+ "Expected \"boo hoo\", got \"%s\"\n", buffer);
+ }
+
/* properties */
r = MsiSetProperty(package,"dummy","Bork");
ok( r == ERROR_SUCCESS, "set property failed\n");
More information about the wine-cvs
mailing list