summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2026-05-10 11:51:44 +0200
committerRoman Smrž <roman.smrz@seznam.cz>2026-05-10 12:21:26 +0200
commit5bfe403526ce557ddcffb4ec5c47e977a44b228c (patch)
treebad3070498b75a783fca7155895b24a0c5ba7543
parente803ea0cc5a5db01dfba8de597550d7f3316560b (diff)
(test) Dir object type and parsing
Changelog: Support for `dir` object type.
-rw-r--r--storage.et51
1 files changed, 51 insertions, 0 deletions
diff --git a/storage.et b/storage.et
index 45e8ce1..ee19e6e 100644
--- a/storage.et
+++ b/storage.et
@@ -685,3 +685,54 @@ test ObjectFormat:
send "load-type $r"
expect /load-type (.*)/ capture type
guard (type == "unknown chunked")
+
+ # Empty dir object
+ local:
+ send "store-raw EOF"
+ send "dir 0\n"
+ send "EOF"
+ expect /store-done ($refpat)/ capture r
+
+ send "load-type $r"
+ expect /load-type (.*)/ capture type
+ guard (type == "dir")
+
+ # Small dir object
+ local:
+ send:
+ "store dir"
+ "$blob_test_ref $empty_rec_ref some_file"
+ "$blob_test_ref $empty_rec_ref some file"
+ "$blob_test_ref $empty_rec_ref some file\n\twith\n\tnewlines"
+ "$blob_test_ref $empty_rec_ref special chars !@#\$%^&*()\\/=?+"
+ "$blob_test_ref $empty_rec_ref last file"
+ ""
+ expect /store-done ($refpat)/ capture r
+
+ send "load-type $r"
+ expect /load-type (.*)/ capture type
+ guard (type == "dir")
+
+ # Invalid dir object
+ local:
+ send:
+ "store dir"
+ "$blob_test_ref some_file"
+ ""
+ expect /store-done ($refpat)/ capture r
+
+ send "load-type $r"
+ expect /load-type (.*)/ capture type
+ guard (type == "unknown dir")
+
+ # Invalid dir object
+ local:
+ send:
+ "store dir"
+ "0"
+ ""
+ expect /store-done ($refpat)/ capture r
+
+ send "load-type $r"
+ expect /load-type (.*)/ capture type
+ guard (type == "unknown dir")