1// Licensed to the .NET Foundation under one or more agreements.
2// The .NET Foundation licenses this file to you under the MIT license.
3// See the LICENSE file in the project root for more information.
4
5/*============================================================================
6**
7** Source: test11.c
8**
9** Purpose: Tests swprintf with unsigned numbers
10**
11**
12**==========================================================================*/
13
14
15
16#include <palsuite.h>
17#include "../swprintf.h"
18
19/*
20 * Uses memcmp & wcslen
21 */
22
23int __cdecl main(int argc, char *argv[])
24{
25 int neg = -42;
26 int pos = 42;
27 INT64 l = 42;
28
29 if (PAL_Initialize(argc, argv) != 0)
30 {
31 return FAIL;
32 }
33
34
35 DoNumTest(convert("foo %u"), pos, convert("foo 42"));
36 DoNumTest(convert("foo %lu"), 0xFFFF, convert("foo 65535"));
37 DoNumTest(convert("foo %hu"), 0xFFFF, convert("foo 65535"));
38 DoNumTest(convert("foo %Lu"), pos, convert("foo 42"));
39 DoI64Test(convert("foo %I64u"), l, "0x0000000000000042",
40 convert("foo 42"));
41 DoNumTest(convert("foo %3u"), pos, convert("foo 42"));
42 DoNumTest(convert("foo %-3u"), pos, convert("foo 42 "));
43 DoNumTest(convert("foo %.1u"), pos, convert("foo 42"));
44 DoNumTest(convert("foo %.3u"), pos, convert("foo 042"));
45 DoNumTest(convert("foo %03u"), pos, convert("foo 042"));
46 DoNumTest(convert("foo %#u"), pos, convert("foo 42"));
47 DoNumTest(convert("foo %+u"), pos, convert("foo 42"));
48 DoNumTest(convert("foo % u"), pos, convert("foo 42"));
49 DoNumTest(convert("foo %+u"), neg, convert("foo 4294967254"));
50 DoNumTest(convert("foo % u"), neg, convert("foo 4294967254"));
51
52 PAL_Terminate();
53 return PASS;
54}
55
56