test: fold phase ports into spec; promote compile-mode test
Mine the phase* port batteries into the spec layer and delete them (their
behavior is now covered by spec): phase5 (hierarchies), phase6 (tagged
literals/reader-conditionals), phase7 (lazy/sets), phase8+phase12 (protocols;
phase12 was a duplicate of phase8), phase10 (strings/set), phase13
(reify/walk). Unique cases mined into spec: reader #inst/#uuid/#?@ splice,
(Type. args) dot constructor, lazy-seq body-runs-once, keywordize-keys/
stringify-keys, custom :default key and explicit :hierarchy dispatch.
phase6-final tested the COMPILE-MODE path ({:compile? true}), distinct from the
interpreter-based spec — kept and renamed integration/compile-mode-test.
jpm test green, conformance 218/218.
This commit is contained in:
parent
3f5b42d784
commit
bcd0e42b33
13 changed files with 19 additions and 338 deletions
|
|
@ -27,4 +27,5 @@
|
|||
|
||||
(defspec "lazy / realized?"
|
||||
["unrealized" "false" "(realized? (lazy-seq (cons 1 nil)))"]
|
||||
["realized after" "true" "(let [s (lazy-seq (cons 1 nil))] (first s) (realized? s))"])
|
||||
["realized after" "true" "(let [s (lazy-seq (cons 1 nil))] (first s) (realized? s))"]
|
||||
["body runs once" "1" "(let [c (atom 0) s (lazy-seq (do (swap! c inc) [1 2 3]))] (seq s) (seq s) @c)"])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue