Add strtok_mr tests

This commit is contained in:
Alex D. 2020-09-01 13:18:25 +02:00
parent 623d4af43a
commit 93e8a5b2a5
Signed by: caskd
GPG Key ID: F92BA85F61F4C173
1 changed files with 41 additions and 0 deletions

41
tests/strtokmr.c Normal file
View File

@ -0,0 +1,41 @@
#include "../src/misc.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char* pointer = NULL;
if (strtok_mr(&pointer, "!") != NULL)
return EXIT_FAILURE;
if (pointer != NULL)
return EXIT_FAILURE;
char test2[] = "hello";
pointer = test2;
if (strtok_mr(&pointer, "!") == NULL)
return EXIT_FAILURE;
if (*pointer != '\0')
return EXIT_FAILURE;
char test3[] = "hi!# hello!";
pointer = test3;
if (strtok_mr(&pointer, "!#") == NULL)
return EXIT_FAILURE;
if (pointer != test3+3) /* MUST point at # right after ! */
return EXIT_FAILURE;
if (test3[2] != '\0') /* MUST replace ! with \0 */
return EXIT_FAILURE;
if (strtok_mr(&pointer, "!#") == NULL)
return EXIT_FAILURE;
if (pointer != test3+4) /* MUST point at whitespace right after # */
return EXIT_FAILURE;
if (test3[3] != '\0') /* MUST replace # with \0 */
return EXIT_FAILURE;
if (strtok_mr(&pointer, "!#") == NULL)
return EXIT_FAILURE;
if (strtok_mr(&pointer, "!#") != NULL)
return EXIT_FAILURE;
return EXIT_SUCCESS;
}