aboutsummaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorAryadev Chavali <aryadev@aryadevchavali.com>2025-08-29 14:53:34 +0100
committerAryadev Chavali <aryadev@aryadevchavali.com>2025-08-29 14:53:34 +0100
commitb403368d113197ee3e0d690b31cef4d9b85b3272 (patch)
treee1fcc51feca7b96317c956549a7f044487f647ed /main.c
parent7595c46f5cf6ff2cabf7358436dabfd4c8a75017 (diff)
downloadalisp-b403368d113197ee3e0d690b31cef4d9b85b3272.tar.gz
alisp-b403368d113197ee3e0d690b31cef4d9b85b3272.tar.bz2
alisp-b403368d113197ee3e0d690b31cef4d9b85b3272.zip
More tests
Diffstat (limited to 'main.c')
-rw-r--r--main.c26
1 files changed, 24 insertions, 2 deletions
diff --git a/main.c b/main.c
index 4a89a99..5521e34 100644
--- a/main.c
+++ b/main.c
@@ -42,8 +42,30 @@ int main(void)
// printf("%lu/%lu\n", stream.position, stream_size(&stream));
/// test 2
- sv_t sv = stream_substr_abs(&stream, 21, 3);
- printf("`" PR_SV "`\n", SV_FMT(sv));
+ sv_t a = stream_substr(&stream, 100);
+ sv_t a_ = sv_copy(a);
+ printf("`" PR_SV "`\n", SV_FMT(a));
+ stream_seek(&stream, 100);
+ sv_t b = stream_substr_abs(&stream, 0, 100);
+ sv_t b_ = sv_copy(b);
+ printf("`" PR_SV "`\n", SV_FMT(b));
+ printf("a=b ? %s\na_=b_ ? %s\n",
+ memcmp(&a, &b, sizeof(a)) == 0 ? "yes" : "no",
+ a_.size == b_.size && strncmp(a_.data, b_.data, a_.size) == 0 ? "yes"
+ : "no");
+ sv_t c = stream_substr(&stream, 100);
+ sv_t c_ = sv_copy(c);
+ printf("`" PR_SV "`\n", SV_FMT(c));
+ stream_seek(&stream, 100);
+ sv_t d = stream_substr_abs(&stream, stream.position - 100, 100);
+ sv_t d_ = sv_copy(d);
+ printf("`" PR_SV "`\n", SV_FMT(d));
+ printf("c=d ? %s\nc_=d_ ? %s\n",
+ memcmp(&c, &d, sizeof(a)) == 0 ? "yes" : "no",
+ c_.size == d_.size && strncmp(c_.data, d_.data, c_.size) == 0 ? "yes"
+ : "no");
+
+ printf("eos?=%s\n", stream_eos(&stream) ? "yes" : "no");
stream_stop(&stream);
// fclose(fp);