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