Module: wine Branch: master Commit: e618c6d11534ed0fc1e63643b01cbd37314f5d7f URL: http://source.winehq.org/git/wine.git/?a=commit;h=e618c6d11534ed0fc1e63643b0... Author: James Hawkins <truiken(a)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");