testing working, and fixed memory leak in replace with substring function
This commit is contained in:
parent
4c0c5d377d
commit
5de968688c
7 changed files with 131 additions and 75 deletions
39
tests/std/lexer.c
Normal file
39
tests/std/lexer.c
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
#include "../test.h"
|
||||
#include "arc/std/lexer.h"
|
||||
|
||||
ARC_TEST(Lexer_Char_Match){
|
||||
ARC_Lexer *lexer;
|
||||
ARC_Lexer_Create(&lexer);
|
||||
|
||||
ARC_Lexer_InitBasicTokenRules(lexer);
|
||||
|
||||
ARC_String *simple;
|
||||
ARC_String_CreateWithStrlen(&simple, "::{}!/.");
|
||||
|
||||
ARC_Lexer_LexString(lexer, &simple);
|
||||
|
||||
ARC_LexerToken token;
|
||||
|
||||
token = ARC_Lexer_GetToken(lexer, 0);
|
||||
ARC_CHECK(token.rule == ARC_LEXER_TOKEN_COLON_ID);
|
||||
|
||||
token = ARC_Lexer_GetToken(lexer, 1);
|
||||
ARC_CHECK(token.rule == ARC_LEXER_TOKEN_COLON_ID);
|
||||
|
||||
token = ARC_Lexer_GetToken(lexer, 2);
|
||||
ARC_CHECK(token.rule == ARC_LEXER_TOKEN_LEFT_CURLY_BRACE_ID);
|
||||
|
||||
token = ARC_Lexer_GetToken(lexer, 3);
|
||||
ARC_CHECK(token.rule == ARC_LEXER_TOKEN_RIGHT_CURLY_BRACE_ID);
|
||||
|
||||
token = ARC_Lexer_GetToken(lexer, 4);
|
||||
ARC_CHECK(token.rule == ARC_LEXER_TOKEN_BANG_ID);
|
||||
|
||||
token = ARC_Lexer_GetToken(lexer, 5);
|
||||
ARC_CHECK(token.rule == ARC_LEXER_TOKEN_FORWARD_SLASH_ID);
|
||||
|
||||
token = ARC_Lexer_GetToken(lexer, 6);
|
||||
ARC_CHECK(token.rule == ARC_LEXER_TOKEN_PERIOD_ID);
|
||||
|
||||
ARC_Lexer_Destroy(lexer);
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@
|
|||
#include "arc/std/errno.h"
|
||||
#include "arc/std/vector.h"
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
ARC_Bool TEST_Vector_CompareDataFn(void *dataA, void *dataB){
|
||||
if(*(int32_t *)dataA == *(int32_t *)dataB){
|
||||
|
|
@ -12,9 +13,14 @@ ARC_Bool TEST_Vector_CompareDataFn(void *dataA, void *dataB){
|
|||
return ARC_False;
|
||||
}
|
||||
|
||||
//TODO: more tests with destroy data fn added
|
||||
void TEST_Vector_DestroyDataFn(void *data){
|
||||
free((int32_t *)data);
|
||||
}
|
||||
|
||||
ARC_TEST(Vector_Add_RemoveIndex_Get){
|
||||
ARC_Vector *vector;
|
||||
ARC_Vector_Create(&vector, NULL);
|
||||
ARC_Vector_Create(&vector, NULL, NULL);
|
||||
|
||||
int32_t val0 = 0;
|
||||
int32_t val1 = 1;
|
||||
|
|
@ -59,7 +65,7 @@ ARC_TEST(Vector_Add_RemoveIndex_Get){
|
|||
ARC_TEST(Vector_Add_Remove_Get){
|
||||
ARC_Vector *vector;
|
||||
ARC_Vector_CompareDataFn testCompareDataFn = TEST_Vector_CompareDataFn;
|
||||
ARC_Vector_Create(&vector, &testCompareDataFn);
|
||||
ARC_Vector_Create(&vector, &testCompareDataFn, NULL);
|
||||
|
||||
int32_t val0 = 0;
|
||||
int32_t val1 = 1;
|
||||
|
|
@ -103,7 +109,7 @@ ARC_TEST(Vector_Add_Remove_Get){
|
|||
|
||||
ARC_TEST(Vector_Add_RemoveIndex_GetSize){
|
||||
ARC_Vector *vector;
|
||||
ARC_Vector_Create(&vector, NULL);
|
||||
ARC_Vector_Create(&vector, NULL, NULL);
|
||||
|
||||
int32_t val0 = 0;
|
||||
int32_t val1 = 1;
|
||||
|
|
@ -139,7 +145,7 @@ ARC_TEST(Vector_Add_RemoveIndex_GetSize){
|
|||
|
||||
ARC_TEST(Vector_Add_RemoveIndex_Get_Try_Out_Of_Bounds){
|
||||
ARC_Vector *vector;
|
||||
ARC_Vector_Create(&vector, NULL);
|
||||
ARC_Vector_Create(&vector, NULL, NULL);
|
||||
|
||||
int32_t val0 = 0;
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue