babashka/test-resources/lib_tests/selmer/our_test.clj
2021-05-11 22:13:50 +02:00

28 lines
1.3 KiB
Clojure

(ns selmer.our-test
"Some additional tests we added ourselves"
(:require [clojure.test :as t :refer [deftest is testing]]
[selmer.parser :as selmer]
[selmer.util :as util]
[selmer.validator :as validator]))
(deftest escaping-test
(testing "escaping by default"
(is (= "&foo" (selmer/render "{% firstof foo bar %}" {:foo "&foo" :bar 2}))))
(testing "can be disabled"
(util/turn-off-escaping!)
(is (= "&foo" (selmer/render "{% firstof foo bar %}" {:foo "&foo" :bar 2}))))
(testing "can be re-enabled"
(util/turn-on-escaping!)
(prn util/*escape-variables*)
(is (= "&foo" (selmer/render "{% firstof foo bar %}" {:foo "&foo" :bar 2}))))
(testing "macros"
(is (= "&foo" (util/without-escaping (selmer/render "{% firstof foo bar %}" {:foo "&foo" :bar 2}))))
(is (= "&foo" (util/with-escaping (selmer/render "{% firstof foo bar %}" {:foo "&foo" :bar 2})))))
(testing "missing value"
(util/set-missing-value-formatter! (constantly "<missing>"))
(is (= "<missing>" (selmer/render "{{ foo }}" {}))))
#_(testing "validator off"
(is (thrown? Exception (selmer/render "{% if foo %} yeah " {:foo true})))
(validator/validate-off!)
(is (selmer/render "{% if foo %} yeah " {:foo true}))))