]> Cypherpunks repositories - keks.git/commitdiff
More int-indexed TAKE tests
authorSergey Matveev <stargrave@stargrave.org>
Wed, 18 Jun 2025 15:14:33 +0000 (18:14 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Wed, 18 Jun 2025 15:14:40 +0000 (18:14 +0300)
tcl/schema.t/generic.t

index 257fff595b9d471997506ce795173cdcbb009c6d53be2ce21d46c709bfd5dca6..a599117cce604ff14661907ae2c2c7ea15e755798ac7880828ae98c97d1f5be4 100755 (executable)
@@ -132,6 +132,30 @@ test_expect_success "list of int schema" "$SCHEMA_VALIDATE schema.keks e <data.k
 
 ########################################################################
 
+cat >schema.tcl <<EOF
+int {{field . {int} >100}}
+str {{field . {str}}}
+e {
+    {field . {list} len=2}
+    {field 0 {with int}}
+    {field 1 {with str}}
+}
+EOF
+$root/schema.tcl schema.tcl | xxd -r -p >schema.keks
+$root/keks.tcl >data.keks.hex <<EOF
+LIST {{INT 123} {STR foo}}
+EOF
+xxd -r -p <data.keks.hex >data.keks
+test_expect_success "list take ok" "$SCHEMA_VALIDATE schema.keks e <data.keks"
+
+$root/keks.tcl >data.keks.hex <<EOF
+LIST {{INT 50} {STR foo}}
+EOF
+xxd -r -p <data.keks.hex >data.keks
+test_expect_success "list take bad range" "! $SCHEMA_VALIDATE schema.keks e <data.keks"
+
+########################################################################
+
 cat >schema.tcl <<EOF
 v {{field . {int}}}
 e {{field . {with v}}}