Skip to content

Commit

Permalink
Fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
zampino committed Dec 13, 2023
1 parent 4a9c6f3 commit 27e3d9f
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 26 deletions.
3 changes: 2 additions & 1 deletion test/nextjournal/clerk/eval_test.clj
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,8 @@
eval/eval-string
view/doc->viewer
:nextjournal/value
:blocks))
:blocks
(->> (mapcat :nextjournal/value))))

(deftest eval-string+doc->viewer
(testing "assigns correct width from viewer function opts"
Expand Down
9 changes: 6 additions & 3 deletions test/nextjournal/clerk/parser_test.clj
Original file line number Diff line number Diff line change
Expand Up @@ -160,9 +160,12 @@ par two"))))

(deftest presenting-a-parsed-document
(testing "presenting a parsed document doesn't produce garbage"
(is (match? [{:nextjournal/viewer {:name 'nextjournal.clerk.viewer/code-block-viewer}}
{:nextjournal/viewer {:name 'nextjournal.clerk.viewer/code-block-viewer}}
{:nextjournal/viewer {:name 'nextjournal.clerk.viewer/code-block-viewer}}]
(is (match? [{:nextjournal/viewer {:name 'nextjournal.clerk.viewer/cell-viewer}
:nextjournal/value [{:nextjournal/viewer {:name 'nextjournal.clerk.viewer/code-block-viewer}}]}
{:nextjournal/viewer {:name 'nextjournal.clerk.viewer/cell-viewer}
:nextjournal/value [{:nextjournal/viewer {:name 'nextjournal.clerk.viewer/code-block-viewer}}]}
{:nextjournal/viewer {:name 'nextjournal.clerk.viewer/cell-viewer}
:nextjournal/value [{:nextjournal/viewer {:name 'nextjournal.clerk.viewer/code-block-viewer}}]}]
(-> (parser/parse-clojure-string {:doc? true} "(ns testing-presented-parsed) 123 :ahoi")
view/doc->viewer
:nextjournal/value
Expand Down
42 changes: 21 additions & 21 deletions test/nextjournal/clerk/viewer_test.clj
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
[nextjournal.clerk.builder :as builder]
[nextjournal.clerk.config :as config]
[nextjournal.clerk.eval :as eval]
[nextjournal.clerk.eval-test :as eval-test]
[nextjournal.clerk.view :as view]
[nextjournal.clerk.viewer :as v]))

Expand Down Expand Up @@ -86,7 +87,7 @@
(deftest default-viewers
(testing "viewers have names matching vars"
(doseq [[viewer-name viewer] (into {}
(map (juxt :name (comp deref resolve :name)))
(map (juxt :name (comp deref resolve :name)))
v/default-viewers)]
(is (= viewer-name (:name viewer))))))

Expand Down Expand Up @@ -286,43 +287,43 @@

(testing "Setting custom options on results via metadata"
(is (= :full
(-> (eval/eval-string "^{:nextjournal.clerk/width :full} (nextjournal.clerk/html [:div])")
view/doc->viewer v/->value :blocks second
v/->value :nextjournal/presented :nextjournal/width)))
(-> (eval-test/eval+extract-doc-blocks "^{:nextjournal.clerk/width :full} (nextjournal.clerk/html [:div])")
second v/->value :nextjournal/presented :nextjournal/width)))

(is (= [:rounded :bg-indigo-600 :font-bold]
(-> (eval/eval-string "^{:nextjournal.clerk/css-class [:rounded :bg-indigo-600 :font-bold]} (nextjournal.clerk/table [[1 2][3 4]])")
view/doc->viewer v/->value :blocks second
(-> (eval-test/eval+extract-doc-blocks "^{:nextjournal.clerk/css-class [:rounded :bg-indigo-600 :font-bold]} (nextjournal.clerk/table [[1 2][3 4]])")
second
v/->value :nextjournal/presented :nextjournal/css-class))))

(testing "Setting custom options on results via viewer API"
(is (= :full
(-> (eval/eval-string "(nextjournal.clerk/html {:nextjournal.clerk/width :full} [:div])")
view/doc->viewer v/->value :blocks second
(-> (eval-test/eval+extract-doc-blocks "(nextjournal.clerk/html {:nextjournal.clerk/width :full} [:div])")
second
v/->value :nextjournal/presented :nextjournal/width)))
(is (= [:rounded :bg-indigo-600 :font-bold]
(-> (eval/eval-string "(nextjournal.clerk/table {:nextjournal.clerk/css-class [:rounded :bg-indigo-600 :font-bold]} [[1 2][3 4]])")
view/doc->viewer v/->value :blocks second
(-> (eval-test/eval+extract-doc-blocks "(nextjournal.clerk/table {:nextjournal.clerk/css-class [:rounded :bg-indigo-600 :font-bold]} [[1 2][3 4]])")
second
v/->value :nextjournal/presented :nextjournal/css-class))))

(testing "Settings propagation from ns to form"
(is (= :full
(-> (eval/eval-string "(ns nextjournal.clerk.viewer-test.settings {:nextjournal.clerk/width :full}) (nextjournal.clerk/html [:div])")
view/doc->viewer v/->value :blocks (nth 2)
(-> (eval-test/eval+extract-doc-blocks "(ns nextjournal.clerk.viewer-test.settings {:nextjournal.clerk/width :full}) (nextjournal.clerk/html [:div])")
(nth 2)
v/->value :nextjournal/presented :nextjournal/width)))

(is (= :wide
(-> (eval/eval-string "(ns nextjournal.clerk.viewer-test.settings {:nextjournal.clerk/width :full}) (nextjournal.clerk/html {:nextjournal.clerk/width :wide} [:div])")
view/doc->viewer v/->value :blocks (nth 2)
(-> (eval-test/eval+extract-doc-blocks "(ns nextjournal.clerk.viewer-test.settings {:nextjournal.clerk/width :full}) (nextjournal.clerk/html {:nextjournal.clerk/width :wide} [:div])")
(nth 2)
v/->value :nextjournal/presented :nextjournal/width)))

(is (= :wide
(-> (eval/eval-string "(ns nextjournal.clerk.viewer-test.settings {:nextjournal.clerk/width :full}) ^{:nextjournal.clerk/width :wide} (nextjournal.clerk/html [:div])")
view/doc->viewer v/->value :blocks (nth 2)
(-> (eval-test/eval+extract-doc-blocks "(ns nextjournal.clerk.viewer-test.settings {:nextjournal.clerk/width :full}) ^{:nextjournal.clerk/width :wide} (nextjournal.clerk/html [:div])")
(nth 2)
v/->value :nextjournal/presented :nextjournal/width)))

(is (= :wide
(-> (eval/eval-string "(ns nextjournal.clerk.viewer-test.settings {:nextjournal.clerk/width :full}) {:nextjournal.clerk/width :wide} (nextjournal.clerk/html [:div])")
view/doc->viewer v/->value :blocks (nth 2)
(-> (eval-test/eval+extract-doc-blocks "(ns nextjournal.clerk.viewer-test.settings {:nextjournal.clerk/width :full}) {:nextjournal.clerk/width :wide} (nextjournal.clerk/html [:div])")
(nth 2)
v/->value :nextjournal/presented :nextjournal/width))))

(testing "Presented doc (with fragments) has unambiguous ids assigned to results"
Expand Down Expand Up @@ -401,9 +402,8 @@

(deftest removed-metadata
(is (= "(do 'this)"
(-> (eval/eval-string "(ns test.removed-metadata\n(:require [nextjournal.clerk :as c]))\n\n^::c/no-cache (do 'this)")
view/doc->viewer
v/->value :blocks second v/->value))))
(-> (eval-test/eval+extract-doc-blocks "(ns test.removed-metadata\n(:require [nextjournal.clerk :as c]))\n\n^::c/no-cache (do 'this)")
second v/->value))))

(deftest col-viewer-map-args
(testing "extracts first arg as viewer-opts"
Expand Down
2 changes: 1 addition & 1 deletion test/nextjournal/clerk/webserver_test.clj
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
(testing "lazy loading of simple range"
(let [doc (let [doc (eval/eval-string "(range 100)")]
(with-meta doc (view/doc->viewer doc)))
{:nextjournal/keys [presented fetch-opts]} (-> doc view/doc->viewer :nextjournal/value :blocks second :nextjournal/value)
{:nextjournal/keys [presented fetch-opts]} (-> doc meta :nextjournal/value :blocks first :nextjournal/value second :nextjournal/value)
{:nextjournal/keys [value]} presented
{elision-viewer :nextjournal/viewer elision-fetch-opts :nextjournal/value} (peek value)
{:keys [body]} (webserver/serve-blob doc (merge fetch-opts {:fetch-opts elision-fetch-opts}))]
Expand Down

0 comments on commit 27e3d9f

Please sign in to comment.