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: test9.c
8**
9** Purpose: Tests swprintf with integer 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 %i"), pos, convert("foo 42"));
36 DoNumTest(convert("foo %li"), 0xFFFF, convert("foo 65535"));
37 DoNumTest(convert("foo %hi"), 0xFFFF, convert("foo -1"));
38 DoNumTest(convert("foo %Li"), pos, convert("foo 42"));
39 DoI64Test(convert("foo %I64i"), l, "0x0000000000000042",
40 convert("foo 42"));
41 DoNumTest(convert("foo %3i"), pos, convert("foo 42"));
42 DoNumTest(convert("foo %-3i"), pos, convert("foo 42 "));
43 DoNumTest(convert("foo %.1i"), pos, convert("foo 42"));
44 DoNumTest(convert("foo %.3i"), pos, convert("foo 042"));
45 DoNumTest(convert("foo %03i"), pos, convert("foo 042"));
46 DoNumTest(convert("foo %#i"), pos, convert("foo 42"));
47 DoNumTest(convert("foo %+i"), pos, convert("foo +42"));
48 DoNumTest(convert("foo % i"), pos, convert("foo 42"));
49 DoNumTest(convert("foo %+i"), neg, convert("foo -42"));
50 DoNumTest(convert("foo % i"), neg, convert("foo -42"));
51
52 PAL_Terminate();
53 return PASS;
54}
55
56