summaryrefslogtreecommitdiff
path: root/test/storage.et
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
commita3c365ca6afd3d41119679d51ca16ce7a7e47578 (patch)
tree2edfdbb47de3d7556f90870af2d89a123f6b78fe /test/storage.et
parent4a83f4c6e47296648598e6549cb188a6a91b1c21 (diff)
Dir object type and parsing
Changelog: Support for `dir` object type.
Diffstat (limited to 'test/storage.et')
-rw-r--r--test/storage.et51
1 files changed, 51 insertions, 0 deletions
diff --git a/test/storage.et b/test/storage.et
index 45e8ce1..ee19e6e 100644
--- a/test/storage.et
+++ b/test/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")