From e803ea0cc5a5db01dfba8de597550d7f3316560b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Sun, 10 May 2026 10:33:48 +0200 Subject: (test) Chunked object type and parsing Changelog: Support for `chunked` object type. --- storage.et | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) (limited to 'storage.et') diff --git a/storage.et b/storage.et index 16b66e2..45e8ce1 100644 --- a/storage.et +++ b/storage.et @@ -625,3 +625,63 @@ test ObjectFormat: send "load-type $r" expect /load-type (.*)/ capture type guard (type == "ondemand") + + # Empty chunked object + local: + send "store-raw EOF" + send "chunked 2\n0\n" + send "EOF" + expect /store-done ($refpat)/ capture r + + send "load-type $r" + expect /load-type (.*)/ capture type + guard (type == "chunked") + + send "store blob" + send "test" + send "" + expect /store-done ($refpat)/ capture blob_test_ref + + # Chunked object + local: + send "store-raw EOF" + send "chunked 146\n8\n$blob_test_ref\n$blob_test_ref\n" + send "EOF" + expect /store-done ($refpat)/ capture r + + send "load-type $r" + expect /load-type (.*)/ capture type + guard (type == "chunked") + + # Invalid chunked object (missing last newline) + local: + send "store-raw EOF" + send "chunked 145\n8\n$blob_test_ref\n$blob_test_ref" + send "EOF" + expect /store-done ($refpat)/ capture r + + send "load-type $r" + expect /load-type (.*)/ capture type + guard (type == "unknown chunked") + + # Invalid chunked object (missing size) + local: + send "store-raw EOF" + send "chunked 144\n$blob_test_ref\n$blob_test_ref\n" + send "EOF" + expect /store-done ($refpat)/ capture r + + send "load-type $r" + expect /load-type (.*)/ capture type + guard (type == "unknown chunked") + + # Invalid chunked object (invalid ref) + local: + send "store-raw EOF" + send "chunked 78\n8\nabc\n$blob_test_ref\n" + send "EOF" + expect /store-done ($refpat)/ capture r + + send "load-type $r" + expect /load-type (.*)/ capture type + guard (type == "unknown chunked") -- cgit v1.2.3