📄 format.c
字号:
r = MsiRecordSetString(hrec, 0, "{[3][1]} [2]");
r = MsiRecordSetString(hrec, 1, "2");
r = MsiRecordSetString(hrec, 2, "hey");
r = MsiRecordSetString(hrec, 3, "1");
r = MsiRecordSetString(hrec, 4, NULL);
r = MsiRecordSetString(hrec, 12, "big");
ok( r == ERROR_SUCCESS, "set string failed\n");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( r == ERROR_SUCCESS, "format failed\n");
ok( sz == 6, "size wrong,(%li)\n",sz);
ok( 0 == strcmp(buffer,"12 hey"), "wrong output (%s)\n",buffer);
r = MsiRecordSetString(hrec, 0, "[{[3][1]}] [2]");
r = MsiRecordSetString(hrec, 1, "2");
r = MsiRecordSetString(hrec, 2, "hey");
r = MsiRecordSetString(hrec, 3, "1");
r = MsiRecordSetString(hrec, 4, NULL);
r = MsiRecordSetString(hrec, 12, "big");
ok( r == ERROR_SUCCESS, "set string failed\n");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( r == ERROR_SUCCESS, "format failed\n");
ok( sz == 8, "size wrong,(%li)\n",sz);
ok( 0 == strcmp(buffer,"[12] hey"), "wrong output (%s)\n",buffer);
r = MsiRecordSetString(hrec, 0, "{test} [2]");
r = MsiRecordSetString(hrec, 1, "2");
r = MsiRecordSetString(hrec, 2, "hey");
r = MsiRecordSetString(hrec, 3, "1");
r = MsiRecordSetString(hrec, 4, NULL);
r = MsiRecordSetString(hrec, 12, "big");
ok( r == ERROR_SUCCESS, "set string failed\n");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( r == ERROR_SUCCESS, "format failed\n");
ok( sz == 10, "size wrong,(%li)\n",sz);
ok( 0 == strcmp(buffer,"{test} hey"), "wrong output (%s)\n",buffer);
r = MsiRecordSetString(hrec, 0, "{[test]} [2]");
r = MsiRecordSetString(hrec, 1, "2");
r = MsiRecordSetString(hrec, 2, "hey");
r = MsiRecordSetString(hrec, 3, "1");
r = MsiRecordSetString(hrec, 4, NULL);
r = MsiRecordSetString(hrec, 12, "big");
ok( r == ERROR_SUCCESS, "set string failed\n");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( r == ERROR_SUCCESS, "format failed\n");
ok( sz == 12, "size wrong,(%li)\n",sz);
ok( 0 == strcmp(buffer,"{[test]} hey"), "wrong output (%s)\n",buffer);
r = MsiRecordSetString(hrec, 0, "{[1][2][3][4]} [2]");
r = MsiRecordSetString(hrec, 1, "2");
r = MsiRecordSetString(hrec, 2, "hey");
r = MsiRecordSetString(hrec, 3, "1");
r = MsiRecordSetString(hrec, 4, NULL);
r = MsiRecordSetString(hrec, 12, "big");
ok( r == ERROR_SUCCESS, "set string failed\n");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( r == ERROR_SUCCESS, "format failed\n");
ok( sz == 4, "size wrong,(%li)\n",sz);
ok( 0 == strcmp(buffer," hey"), "wrong output (%s)\n",buffer);
r = MsiRecordSetString(hrec, 0, "{[1][2][3][dummy]} [2]");
r = MsiRecordSetString(hrec, 1, "2");
r = MsiRecordSetString(hrec, 2, "hey");
r = MsiRecordSetString(hrec, 3, "1");
r = MsiRecordSetString(hrec, 4, NULL);
r = MsiRecordSetString(hrec, 12, "big");
ok( r == ERROR_SUCCESS, "set string failed\n");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( r == ERROR_SUCCESS, "format failed\n");
ok( sz == 18, "size wrong,(%li)\n",sz);
ok( 0 == strcmp(buffer,"{2hey1[dummy]} hey"), "wrong output (%s)\n",buffer);
r = MsiRecordSetString(hrec, 0, "{[1][2][3][4][dummy]} [2]");
r = MsiRecordSetString(hrec, 1, "2");
r = MsiRecordSetString(hrec, 2, "hey");
r = MsiRecordSetString(hrec, 3, "1");
r = MsiRecordSetString(hrec, 4, NULL);
r = MsiRecordSetString(hrec, 12, "big");
ok( r == ERROR_SUCCESS, "set string failed\n");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( r == ERROR_SUCCESS, "format failed\n");
ok( sz == 18, "size wrong,(%li)\n",sz);
ok( 0 == strcmp(buffer,"{2hey1[dummy]} hey"), "wrong output (%s)\n",buffer);
r = MsiRecordSetString(hrec, 0, "{{[1][2]}[3][4][dummy]}");
r = MsiRecordSetString(hrec, 1, "2");
r = MsiRecordSetString(hrec, 2, "hey");
r = MsiRecordSetString(hrec, 3, "1");
r = MsiRecordSetString(hrec, 4, NULL);
r = MsiRecordSetString(hrec, 12, "big");
ok( r == ERROR_SUCCESS, "set string failed\n");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( r == ERROR_SUCCESS, "format failed\n");
todo_wine{
ok( sz == 16, "size wrong,(%li)\n",sz);
ok( 0 == strcmp(buffer,"{{2hey}1[dummy]}"), "wrong output (%s)\n",buffer);
}
r = MsiRecordSetString(hrec, 0, "{{[1][2]}[3]{[4][dummy]}}");
r = MsiRecordSetString(hrec, 1, "2");
r = MsiRecordSetString(hrec, 2, "hey");
r = MsiRecordSetString(hrec, 3, "1");
r = MsiRecordSetString(hrec, 4, NULL);
r = MsiRecordSetString(hrec, 12, "big");
ok( r == ERROR_SUCCESS, "set string failed\n");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( r == ERROR_SUCCESS, "format failed\n");
todo_wine{
ok( sz == 0, "size wrong,(%li)\n",sz);
ok( 0 == strcmp(buffer,""), "wrong output (%s)\n",buffer);
}
r = MsiRecordSetString(hrec, 0, "{{[1][2]}[3]} {[1][2]}");
r = MsiRecordSetString(hrec, 1, "1");
r = MsiRecordSetString(hrec, 2, "2");
r = MsiRecordSetString(hrec, 3, "3");
r = MsiRecordSetString(hrec, 4, NULL);
r = MsiRecordSetString(hrec, 12, "big");
ok( r == ERROR_SUCCESS, "set string failed\n");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( r == ERROR_SUCCESS, "format failed\n");
todo_wine{
ok( sz == 12, "size wrong,(%li)\n",sz);
ok( 0 == strcmp(buffer,"{{12}3} {12}"), "wrong output (%s)\n",buffer);
}
r = MsiRecordSetString(hrec, 0, "{[1][2]} {{[1][2]}[3]} {[1][2]}");
r = MsiRecordSetString(hrec, 1, "1");
r = MsiRecordSetString(hrec, 2, "2");
r = MsiRecordSetString(hrec, 3, "3");
r = MsiRecordSetString(hrec, 4, NULL);
r = MsiRecordSetString(hrec, 12, "big");
ok( r == ERROR_SUCCESS, "set string failed\n");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( r == ERROR_SUCCESS, "format failed\n");
todo_wine{
ok( sz == 15, "size wrong,(%li)\n",sz);
ok( 0 == strcmp(buffer,"12 {{12}3} {12}"), "wrong output (%s)\n",buffer);
}
r = MsiRecordSetString(hrec, 0, "{[4]}{[1][2]} {{[1][2]}[3]} {[1][2]}");
r = MsiRecordSetString(hrec, 1, "1");
r = MsiRecordSetString(hrec, 2, "2");
r = MsiRecordSetString(hrec, 3, "3");
r = MsiRecordSetString(hrec, 4, NULL);
r = MsiRecordSetString(hrec, 12, "big");
ok( r == ERROR_SUCCESS, "set string failed\n");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( r == ERROR_SUCCESS, "format failed\n");
todo_wine{
ok( sz == 15, "size wrong,(%li)\n",sz);
ok( 0 == strcmp(buffer,"12 {{12}3} {12}"), "wrong output (%s)\n",buffer);
}
r = MsiRecordSetString(hrec, 0, "{blah} {[4]}{[1][2]} {{[1][2]}[3]} {[1][2]}");
r = MsiRecordSetString(hrec, 1, "1");
r = MsiRecordSetString(hrec, 2, "2");
r = MsiRecordSetString(hrec, 3, "3");
r = MsiRecordSetString(hrec, 4, NULL);
r = MsiRecordSetString(hrec, 12, "big");
ok( r == ERROR_SUCCESS, "set string failed\n");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( r == ERROR_SUCCESS, "format failed\n");
todo_wine{
ok( sz == 22, "size wrong,(%li)\n",sz);
ok( 0 == strcmp(buffer,"{blah} 12 {{12}3} {12}"), "wrong output (%s)\n",buffer);
}
r = MsiRecordSetString(hrec, 0, "{{[1]}[2]} {[4]}{[1][2]}");
r = MsiRecordSetString(hrec, 1, "1");
r = MsiRecordSetString(hrec, 2, "2");
r = MsiRecordSetString(hrec, 3, "3");
r = MsiRecordSetString(hrec, 4, NULL);
r = MsiRecordSetString(hrec, 12, "big");
ok( r == ERROR_SUCCESS, "set string failed\n");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( r == ERROR_SUCCESS, "format failed\n");
todo_wine{
ok( sz == 13, "size wrong,(%li)\n",sz);
ok( 0 == strcmp(buffer,"{{1}2} {}{12}"), "wrong output (%s)\n",buffer);
}
r = MsiRecordSetString(hrec, 0, "{{[1]}} {[4]}{[1][2]}");
r = MsiRecordSetString(hrec, 1, "1");
r = MsiRecordSetString(hrec, 2, "2");
r = MsiRecordSetString(hrec, 3, "3");
r = MsiRecordSetString(hrec, 4, NULL);
r = MsiRecordSetString(hrec, 12, "big");
ok( r == ERROR_SUCCESS, "set string failed\n");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( r == ERROR_SUCCESS, "format failed\n");
todo_wine{
ok( sz == 3, "size wrong,(%li)\n",sz);
ok( 0 == strcmp(buffer," 12"), "wrong output (%s)\n",buffer);
}
r = MsiRecordSetString(hrec, 0, "{{{[1]}} {[4]}{[1][2]}");
r = MsiRecordSetString(hrec, 1, "1");
r = MsiRecordSetString(hrec, 2, "2");
r = MsiRecordSetString(hrec, 3, "3");
r = MsiRecordSetString(hrec, 4, NULL);
r = MsiRecordSetString(hrec, 12, "big");
ok( r == ERROR_SUCCESS, "set string failed\n");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( r == ERROR_SUCCESS, "format failed\n");
todo_wine{
ok( sz == 3, "size wrong,(%li)\n",sz);
ok( 0 == strcmp(buffer," 12"), "wrong output (%s)\n",buffer);
}
/* now put play games with escaping */
r = MsiRecordSetString(hrec, 0, "[1] [2] [\\3asdf]");
r = MsiRecordSetString(hrec, 1, "boo");
r = MsiRecordSetString(hrec, 2, "hoo");
ok( r == ERROR_SUCCESS, "set string failed\n");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( r == ERROR_SUCCESS, "format failed\n");
ok( sz == 16, "size wrong\n");
ok( 0 == strcmp(buffer,"boo hoo [\\3asdf]"), "wrong output\n");
/* now put play games with escaping */
r = MsiRecordSetString(hrec, 0, "[1] [2] [\\x]");
r = MsiRecordSetString(hrec, 1, "boo");
r = MsiRecordSetString(hrec, 2, "hoo");
ok( r == ERROR_SUCCESS, "set string failed\n");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( r == ERROR_SUCCESS, "format failed\n");
ok( sz == 12, "size wrong\n");
ok( 0 == strcmp(buffer,"boo hoo [\\x]"), "wrong output\n");
/* now try other formats without a package */
r = MsiRecordSetString(hrec, 0, "[1] [2] [property]");
r = MsiRecordSetString(hrec, 1, "boo");
r = MsiRecordSetString(hrec, 2, "hoo");
ok( r == ERROR_SUCCESS, "set string failed\n");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( r == ERROR_SUCCESS, "format failed\n");
ok( sz == 18, "size wrong\n");
ok( 0 == strcmp(buffer,"boo hoo [property]"), "wrong output\n");
r = MsiRecordSetString(hrec, 0, "[1] [~] [2]");
r = MsiRecordSetString(hrec, 1, "boo");
r = MsiRecordSetString(hrec, 2, "hoo");
ok( r == ERROR_SUCCESS, "set string failed\n");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( r == ERROR_SUCCESS, "format failed\n");
ok( sz == 11, "size wrong\n");
ok( 0 == strcmp(buffer,"boo [~] hoo"), "wrong output (%s)\n",buffer);
r = MsiRecordSetString(hrec, 0, "[1]");
r = MsiRecordSetInteger(hrec, 1, 123456);
ok( r == ERROR_SUCCESS, "set integer failed\n");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( r == ERROR_SUCCESS, "format failed\n");
todo_wine{
ok( sz == 6, "size wrong\n");
ok( 0 == strcmp(buffer,"123456"), "wrong output (%s)\n",buffer);
}
r = MsiRecordSetString(hrec, 0, "[~]");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( sz == 3, "size wrong\n");
ok( 0 == strcmp(buffer,"[~]"), "wrong output\n");
ok( r == ERROR_SUCCESS, "format failed\n");
r = MsiRecordSetString(hrec, 0, "[]");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( sz == 2, "size wrong\n");
ok( 0 == strcmp(buffer,"[]"), "wrong output\n");
ok( r == ERROR_SUCCESS, "format failed\n");
/* MsiFormatRecord doesn't seem to handle a negative too well */
r = MsiRecordSetString(hrec, 0, "[-1]");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( sz == 4, "size wrong\n");
ok( 0 == strcmp(buffer,"[-1]"), "wrong output\n");
ok( r == ERROR_SUCCESS, "format failed\n");
r = MsiRecordSetString(hrec, 0, "{[]}");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( sz == 4, "size wrong\n");
ok( 0 == strcmp(buffer,"{[]}"), "wrong output\n");
ok( r == ERROR_SUCCESS, "format failed\n");
r = MsiRecordSetString(hrec, 0, "[0]");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( sz == 3, "size wrong\n");
ok( 0 == strcmp(buffer,"[0]"), "wrong output\n");
ok( r == ERROR_SUCCESS, "format failed\n");
r = MsiRecordSetString(hrec, 0, "[100]");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( sz == 0, "size wrong\n");
ok( 0 == strcmp(buffer,""), "wrong output\n");
ok( r == ERROR_SUCCESS, "format failed\n");
r = MsiRecordSetString(hrec, 0, "{[1] [2]}");
r = MsiRecordSetString(hrec, 1, "boo");
r = MsiRecordSetString(hrec, 2, "hoo");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( sz == 7, "size wrong\n");
ok( 0 == strcmp(buffer,"boo hoo"), "wrong output\n");
ok( r == ERROR_SUCCESS, "format failed\n");
r = MsiRecordSetString(hrec, 0, "{}");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( sz == 0, "size wrong\n");
ok( 0 == strcmp(buffer,""), "wrong output\n");
ok( r == ERROR_SUCCESS, "format failed\n");
r = MsiRecordSetString(hrec, 0, "{foo}");
sz = sizeof buffer;
r = MsiFormatRecord(0, hrec, buffer, &sz);
ok( sz == 5, "size wrong\n");
ok( 0 == strcmp(buffer,"{foo}"), "wrong output\n");
ok( r == ERROR_SUCCESS, "format failed\n");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -