moved doxygen to doc folder and still working on csv

This commit is contained in:
herbglitch 2024-12-08 22:19:43 -07:00
parent ca6a9c118f
commit 280a70c6e8
24 changed files with 282 additions and 105 deletions

View file

@ -1,4 +1,5 @@
#include "../test.h"
#include "arc/std/bool.h"
#include "arc/std/errno.h"
#include "arc/std/parser.h"
#include "arc/std/parser/helpers.h"
@ -21,7 +22,7 @@ void TEST_ParserData_CreateStringFn(void **data, ARC_ParserTagToken *parsedData,
ARC_ParserData_HelperRecurseStringAdd((ARC_String **)data, parsedData);
}
void TEST_ParserData_DestroyStringFn(void *data, void *userData){
void TEST_ParserData_DestroyStringFn(void *data, ARC_Bool clear, void *userData){
if(data == NULL){
return;
}
@ -254,7 +255,7 @@ void TEST_ParserData_CreateCharFn(void **data, ARC_ParserTagToken *parsedData, v
*data = (void *)alphaChar;
}
void TEST_ParserData_DestroyCharFn(void *data, void *userData){
void TEST_ParserData_DestroyCharFn(void *data, ARC_Bool clear, void *userData){
if(data == NULL){
return;
}

View file

@ -0,0 +1,44 @@
#include "../../test.h"
#include "arc/std/bool.h"
#include "arc/std/errno.h"
#include "arc/std/parser/csv.h"
#include <stdlib.h>
void TEST_ParserCSV_CastTypeFn(void **data, ARC_String *string){
int32_t *int32Data = (int32_t *)malloc(sizeof(int32_t));
*int32Data = (int32_t)ARC_String_ToInt64_t(string);
*data = (void *)int32Data;
}
void TEST_ParserCSV_DestroyTypeFn(void *data){
free((int32_t *)data);
}
ARC_TEST(Parser_ParserCSV_BasicTest){
ARC_Parser *parser;
ARC_ParserCSV_CreateAsParser(&parser, ARC_False, TEST_ParserCSV_CastTypeFn, TEST_ParserCSV_DestroyTypeFn);
const char *tempCString =
"1,1,2,2"
"2,3,4,5"
"4,2,4,1"
"7,7,7,7";
ARC_String *tempString;
ARC_String_CreateWithStrlen(&tempString, (char *)tempCString);
//this destroys string, so no need for cleanup
ARC_Parser_Parse(parser, &tempString);
ARC_CHECK(arc_errno == 0);
ARC_ParserCSVData *data = (ARC_ParserCSVData *)ARC_Parser_GetData(parser);
for(uint32_t y = 0; y < data->height; y++){
for(uint32_t x = 0; x < data->width; x++){
printf("%u", ((uint32_t *)(data->data[y]))[x]);
}
}
ARC_Parser_Destroy(parser);
}