summaryrefslogtreecommitdiff
path: root/src/pal/tests/palsuite/miscellaneous/FormatMessageW/test4/test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/pal/tests/palsuite/miscellaneous/FormatMessageW/test4/test.cpp')
-rw-r--r--src/pal/tests/palsuite/miscellaneous/FormatMessageW/test4/test.cpp77
1 files changed, 77 insertions, 0 deletions
diff --git a/src/pal/tests/palsuite/miscellaneous/FormatMessageW/test4/test.cpp b/src/pal/tests/palsuite/miscellaneous/FormatMessageW/test4/test.cpp
new file mode 100644
index 0000000000..4f865efe7e
--- /dev/null
+++ b/src/pal/tests/palsuite/miscellaneous/FormatMessageW/test4/test.cpp
@@ -0,0 +1,77 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+/*============================================================
+**
+** Source : test.c
+**
+** Purpose: Test for FormatMessageW() function
+**
+**
+**=========================================================*/
+
+#define UNICODE
+#include <palsuite.h>
+
+WCHAR OutBuffer[1024];
+
+int __cdecl main(int argc, char *argv[])
+{
+
+ WCHAR * TheString;
+ WCHAR* TheArray[3];
+ int ReturnResult;
+
+ /*
+ * Initialize the PAL and return FAILURE if this fails
+ */
+
+ if(0 != (PAL_Initialize(argc, argv)))
+ {
+ return FAIL;
+ }
+
+ TheString = convert("Pal %1 %2 %3 Testing");
+ TheArray[0] = convert("Foo");
+ TheArray[1] = convert("Bar");
+ TheArray[2] = convert("FooBar");
+
+ /* This should just use the 3 strings in the array to replace
+ inserts in the given string.
+ */
+
+ ReturnResult = FormatMessage(
+ FORMAT_MESSAGE_FROM_STRING |
+ FORMAT_MESSAGE_ARGUMENT_ARRAY, /* source and processing options */
+ TheString, /* message source */
+ 0, /* message identifier */
+ 0, /* language identifier */
+ OutBuffer, /* message buffer */
+ 1024, /* maximum size of message buffer */
+ (va_list *) TheArray /* array of message inserts */
+ );
+
+ if(ReturnResult == 0)
+ {
+ Fail("ERROR: The return value was 0, which indicates failure. "
+ "The function failed when trying to Format a simple string, "
+ "usin gthe ARGUMENT_ARRAY flag.");
+ }
+
+ if(memcmp(OutBuffer,
+ convert("Pal Foo Bar FooBar Testing"),
+ wcslen(OutBuffer)*2+2) != 0)
+ {
+ Fail("ERROR: Since the FORMAT_MESSAGE_ARGUMENT_ARRAY flag was set, "
+ "the result should have been 'Pal Foo Bar FooBar Testing' but was"
+ " really '%s'.",convertC(OutBuffer));
+ }
+
+
+ PAL_Terminate();
+ return PASS;
+
+}
+
+