Fix possibly undefined values
[libisds.git] / test / isds-hash_algorithm.c
blob1d1bb814cc2cb2a8519a47d575bc9aa12e423df1
1 #include "test.h"
2 #include "isds.c"
4 static int test_string2hashalgorithm(const xmlChar *name, const isds_error error,
5 const isds_hash_algorithm type) {
6 isds_error err;
7 isds_hash_algorithm new_type;
9 err = string2isds_hash_algorithm(name, &new_type);
10 if (err != error)
11 FAIL_TEST("string2isds_hash_algorithm() returned unexpected code");
13 if (err)
14 PASS_TEST;
16 if (type != new_type)
17 FAIL_TEST("conversion returned wrong algorithm");
19 PASS_TEST;
22 int main(int argc, char **argv) {
23 INIT_TEST("isds_hash_algorithm conversion");
25 xmlChar *names[] = {
26 BAD_CAST "MD5",
27 BAD_CAST "SHA-1",
28 BAD_CAST "SHA-256",
29 BAD_CAST "SHA-512"
32 isds_hash_algorithm algos[] = {
33 HASH_ALGORITHM_MD5,
34 HASH_ALGORITHM_SHA_1,
35 HASH_ALGORITHM_SHA_256,
36 HASH_ALGORITHM_SHA_512,
39 for (int i = 0; i < sizeof(algos)/sizeof(algos[0]); i++)
40 TEST(names[i], test_string2hashalgorithm, names[i], IE_SUCCESS,
41 algos[i]);
43 TEST("X-Invalid_Type", test_string2hashalgorithm, BAD_CAST "X-Invalid_Type",
44 IE_ENUM, 0);
46 SUM_TEST();