diff --git a/test/spec/metadata-spec.janet b/test/spec/metadata-spec.janet index b3df3b5..e92b3c0 100644 --- a/test/spec/metadata-spec.janet +++ b/test/spec/metadata-spec.janet @@ -8,7 +8,8 @@ ["with-meta on map" "{:doc \"x\"}" "(meta (with-meta {:k 1} {:doc \"x\"}))"] ["vary-meta" "{:a 2}" "(meta (vary-meta (with-meta [1] {:a 1}) update :a inc))"] ["meta reader ^" "{:tag :int}" "(meta ^{:tag :int} [1 2])"] - ["with-meta on fn ok" "true" "(fn? (with-meta inc {:a 1}))"]) + ["with-meta on fn ok" "true" "(fn? (with-meta inc {:a 1}))"] + ["with-meta nil clears" "nil" "(meta (with-meta [1 2 3] nil))"]) (defspec "metadata / type hints" # ^Type / ^:kw / ^"str" on a symbol attach as metadata and are otherwise inert: diff --git a/test/spec/sequences-spec.janet b/test/spec/sequences-spec.janet index 8f78525..1e7a065 100644 --- a/test/spec/sequences-spec.janet +++ b/test/spec/sequences-spec.janet @@ -43,6 +43,8 @@ ["map" "[2 3 4]" "(map inc [1 2 3])"] ["map two colls" "[5 7 9]" "(map + [1 2 3] [4 5 6])"] ["map stops at shortest" "[5 7]" "(map + [1 2] [4 5 6])"] + # nil elements are values, not end-of-seq: multi-coll map must not truncate. + ["map keeps nil elements" "[[1 :a] [nil :b] [3 nil]]" "(map vector [1 nil 3] [:a :b nil])"] ["map-indexed" "[[0 :a] [1 :b]]" "(map-indexed vector [:a :b])"] ["mapv" "[2 3 4]" "(mapv inc [1 2 3])"] ["filter" "[2 4]" "(filter even? [1 2 3 4])"]