feat: add backup files for rlib core modules including arena, nsock, and autocomplete
Build and run rrex2 / build (push) Failing after 39s
Build and run rrex2 / build (push) Failing after 39s
Introduces initial backup snapshots of core rlib components: arena allocator with construct/new/alloc/free/reset API, nsock network socket wrapper with select-based event loop, autocomplete string list implementation, argument parser utilities, and main dispatcher for httpd/rmerge/rcov/rcase tools. Includes MIT license header and rlib.h umbrella include with 30+ submodule headers.
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
#include "rtest.h"
|
||||
#include "rbuffer.h"
|
||||
|
||||
int main() {
|
||||
rtest_banner("rbuffer");
|
||||
unsigned char *content = (unsigned char *)"[ {\n\t \"\r1\t3\n4truefalsetrue \" }, ]";
|
||||
char *ignore = "\r| |\n|\t|\f|\v";
|
||||
rbuffer_t *buffer = rbuffer_new(content, ustrlen(content));
|
||||
assert(*rbuffer_consume(buffer, "{|[|,|\"|\\d|\\b", ignore) == '[');
|
||||
assert(*rbuffer_consume(buffer, "{|[|,|\"|\\d|\\b", ignore) == '{');
|
||||
rbuffer_reset(buffer);
|
||||
assert(*rbuffer_consume(buffer, "{|[|,|\"|\\d|\\b", ignore) == '[');
|
||||
assert(*rbuffer_consume(buffer, "{|[|,|\"|\\d|\\b", ignore) == '{');
|
||||
assert(*rbuffer_consume(buffer, "{|[|,|\"|\\d|\\b", ignore) == '"');
|
||||
assert(*rbuffer_consume(buffer, "{|[|,|\"|\\d|\\b", ignore) == '1');
|
||||
assert(*rbuffer_consume(buffer, "{|[|,|\"|\\d|\\b", ignore) == '3');
|
||||
assert(*rbuffer_consume(buffer, "{|[|,|\"|\\d|\\b", ignore) == '4');
|
||||
assert(*rbuffer_consume(buffer, "{|[|,|\"|\\d|\\b", ignore) == 't');
|
||||
rbuffer_pop(buffer);
|
||||
rbuffer_pop(buffer);
|
||||
rbuffer_pop(buffer);
|
||||
assert(*rbuffer_consume(buffer, "{|[|,|\"|\\d|\\b", ignore) == 'f');
|
||||
rbuffer_pop(buffer);
|
||||
rbuffer_pop(buffer);
|
||||
rbuffer_pop(buffer);
|
||||
rbuffer_pop(buffer);
|
||||
assert(*rbuffer_consume(buffer, "{|[|,|\"|\\d|\\b", ignore) == 't');
|
||||
rbuffer_pop(buffer);
|
||||
rbuffer_pop(buffer);
|
||||
rbuffer_pop(buffer);
|
||||
assert(*rbuffer_consume(buffer, "{|[|,|\"|\\d|\\b", ignore) == '"');
|
||||
assert(*rbuffer_consume(buffer, "{|[|,|\"|\\d|\\b|}", ignore) == '}');
|
||||
assert(*rbuffer_consume(buffer, "{|[|,|\"|\\d|\\b", ignore) == ',');
|
||||
assert(*rbuffer_consume(buffer, "{|[|,|\"|\\d|\\b|]", ignore) == ']');
|
||||
unsigned char *str = rbuffer_to_string(buffer);
|
||||
printf(">%s<\n", str);
|
||||
free(str);
|
||||
return rtest_end("");
|
||||
}
|
||||
Reference in New Issue
Block a user