summaryrefslogtreecommitdiff
path: root/src/pal/tests/palsuite/c_runtime/isspace/test1/test1.cpp
blob: 6cd1ce878b834d183d1d608c17fb6f205c00ab2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
// 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:  test1.c
**
** Purpose: Test #1 for the isspace function
**
**
**==========================================================================*/



#include <palsuite.h>

struct testCase
{
    long result;
    char avalue;
};



int __cdecl main(int argc, char *argv[])
{
    int i=0;
    long result = 0;

    /*
     * A structures of the testcases to be tested with
     * isspace function
     */
    struct testCase testCases[] =
    {
           {1,'\n'},
           {1,'\t'},
           {1,'\r'},
           {1,'\v'},
           {1,'\f'},
           {1,' '},
           {0,'a'},
           {0,'A'},
           {0,'z'},
           {0,'Z'},
           {0,'r'},
           {0,'R'},
           {0,'0'},
           {0,'*'},
           {0,3}
    };

    /*
     *  Initialize the PAL
     */
    if ( 0 != PAL_Initialize(argc, argv))
    {
        return FAIL;
    }


    /* Loop through the testcases */
    for (i=0; i<sizeof(testCases)/sizeof(struct testCase); i++)
    {
        result = isspace(testCases[i].avalue);
        if ( ((testCases[i].result == 1) && (result==0)) ||
             ((testCases[i].result ==0) && (result !=0)) )
        {
            Fail("ERROR: isspace() returned %d for %c instead of %d\n",
                 result,
                 testCases[i].avalue,
                 testCases[i].result );
        }
    }


    PAL_Terminate();

    return PASS;
}