Files
mars-nwe/tests/nwnss/stdlib/test_nwnss_stdlib.c
2026-06-17 11:35:06 +02:00

79 lines
1.9 KiB
C

#include <assert.h>
#include <errno.h>
#include <limits.h>
#include <stddef.h>
#include <string.h>
#include <eDir.h>
#include <library/xStdlib.h>
#include <public/zOmni.h>
static void test_integer_conversions(void)
{
char *end = NULL;
const char *no_digits = "xyz";
assert(LB_atoi("0") == 0);
assert(LB_atoi("42") == 42);
assert(LB_atoi(" -17tail") == -17);
assert(LB_atoi("no-digits") == 0);
assert(LB_atoq("0") == (SQUAD)0);
assert(LB_atoq(" 42") == (SQUAD)42);
assert(LB_atoq(" -12345tail") == (SQUAD)-12345);
assert(LB_atoq("+9876543210") == (SQUAD)9876543210LL);
assert(LB_atoq("no-digits") == (SQUAD)0);
errno = 0;
assert(LB_strtol("7f", &end, 16) == 127);
assert(*end == '\0');
assert(errno == 0);
end = NULL;
assert(LB_strtol("-19suffix", &end, 10) == -19);
assert(*end == 's');
end = NULL;
assert(LB_strtol("0755", &end, 0) == 0755);
assert(*end == '\0');
end = NULL;
assert(LB_strtol("0x2a!", &end, 0) == 42);
assert(*end == '!');
end = NULL;
assert(LB_strtol(no_digits, &end, 10) == 0);
assert(end == no_digits);
}
static void test_ds_name_parser(void)
{
{
utf8_t fullName[] = ".CN=SERVER.O=EXAMPLE.";
utf8_t container[128];
utf8_t objectName[128];
LB_ParseDSObjectName(fullName, container, objectName);
assert(strcmp((const char *)objectName, "SERVER") == 0);
assert(strcmp((const char *)container, "\\EXAMPLE") == 0);
}
{
utf8_t fullName[] = "\\TREE\\ORG\\SERVER";
utf8_t container[128];
utf8_t objectName[128];
LB_ParseDSObjectName(fullName, container, objectName);
assert(strcmp((const char *)objectName, "SERVER") == 0);
assert(strcmp((const char *)container, "\\TREE\\ORG") == 0);
}
}
int main(void)
{
test_integer_conversions();
test_ds_name_parser();
return 0;
}