Skip to content

Commit ad55c89

Browse files
committed
Fix viewer tests
1 parent 10474bf commit ad55c89

File tree

3 files changed

+14
-8
lines changed

3 files changed

+14
-8
lines changed

src/nextjournal/clerk/view.clj

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@
1010

1111
(defn ^:private extract-hash->viewer [presentation]
1212
(into {}
13-
(map (juxt #(symbol "nextjournal.clerk" (str "viewer-fn$" (:hash %))) identity))
13+
(map (juxt (fn [viewer]
14+
(or (when (qualified-symbol? (:name viewer))
15+
(symbol (namespace (:name viewer)) (str (name (:name viewer)) "$" (:hash viewer))))
16+
(symbol "nextjournal.clerk.viewer" (str "viewer-fn$" (:hash viewer))))) identity))
1417
(keep :nextjournal/viewer (tree-seq (some-fn map? vector?) #(cond-> % (map? %) vals) presentation))))
1518

1619
(defn doc->viewer

src/nextjournal/clerk/viewer.cljc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -801,13 +801,13 @@
801801
(nextjournal.clerk.render/render-unreadable-edn x))))})
802802

803803
(def vector-viewer
804-
{:pred vector? :render-fn 'nextjournal.clerk.render/render-coll :opening-paren "[" :closing-paren "]" :page-size 20})
804+
{:pred vector? :name `vector-viewer :render-fn 'nextjournal.clerk.render/render-coll :opening-paren "[" :closing-paren "]" :page-size 20})
805805

806806
(def set-viewer
807-
{:pred set? :render-fn 'nextjournal.clerk.render/render-coll :opening-paren "#{" :closing-paren "}" :page-size 20})
807+
{:pred set? :name `set-viewer :render-fn 'nextjournal.clerk.render/render-coll :opening-paren "#{" :closing-paren "}" :page-size 20})
808808

809809
(def sequential-viewer
810-
{:pred sequential? :render-fn 'nextjournal.clerk.render/render-coll :opening-paren "(" :closing-paren ")" :page-size 20})
810+
{:pred sequential? :name `sequential-viewer :render-fn 'nextjournal.clerk.render/render-coll :opening-paren "(" :closing-paren ")" :page-size 20})
811811

812812
(def map-viewer
813813
{:pred map? :name `map-viewer :render-fn 'nextjournal.clerk.render/render-map :opening-paren "{" :closing-paren "}" :page-size 10})

test/nextjournal/clerk/viewer_test.clj

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -339,23 +339,26 @@
339339
(is (= 5
340340
(count
341341
(->> (eval/eval-string "^{:nextjournal.clerk/budget 5}(reduce (fn [acc _i] (vector acc)) :fin (range 100 0 -1))")
342-
view/doc->viewer v/->value :blocks
342+
view/doc->viewer v/->value
343+
:blocks
343344
(tree-seq coll? seq)
344-
(filter (every-pred map? (comp #{'nextjournal.clerk.render/render-coll} :form :render-fn)))))))
345+
(keep :nextjournal/viewer)
346+
(filter #(str/starts-with? (str %) "nextjournal.clerk.viewer/vector-viewer"))))))
345347

346348
(is (= 5
347349
(count
348350
(->> (eval/eval-string "(nextjournal.clerk/with-viewer {} {:nextjournal.clerk/budget 5} (reduce (fn [acc i] (vector acc)) :fin (range 15 0 -1)))")
349351
view/doc->viewer v/->value :blocks
350352
(tree-seq coll? seq)
351-
(filter (every-pred map? (comp #{'nextjournal.clerk.render/render-coll} :form :render-fn)))))))
353+
(keep :nextjournal/viewer)
354+
(filter #(str/starts-with? (str %) "nextjournal.clerk.viewer/vector-viewer"))))))
352355

353356
(is (= 101
354357
(count
355358
(->> (eval/eval-string "^{:nextjournal.clerk/budget nil}(reduce (fn [acc i] (vector i acc)) :fin (range 101 0 -1))")
356359
view/doc->viewer v/->value :blocks
357360
(tree-seq coll? seq)
358-
(filter (every-pred map? (comp #{'nextjournal.clerk.render/render-coll} :form :render-fn)))))))))
361+
(filter #(str/starts-with? (str %) "nextjournal.clerk.viewer/vector-viewer"))))))))
359362

360363
(deftest ->edn
361364
(testing "normal symbols and keywords"

0 commit comments

Comments
 (0)