-
Notifications
You must be signed in to change notification settings - Fork 6
/
ext_test.clj
44 lines (34 loc) · 1.43 KB
/
ext_test.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
(ns hbs.ext-test
(:use [clojure.test]
[hbs core ext]))
(deftest test-ifequals
(let [tpl "{{#ifequals name compare=\"tomcat\"}}hellworld{{else}}nice{{/ifequals}}"]
(is (= "hellworld" (render tpl {:name "tomcat"})))
(is (= "nice" (render tpl {:name "not-a-tomcat"})))))
(deftest test-ifgreater
(let [tpl "{{#ifgreater name compare=0}}hellworld{{else}}nice{{/ifgreater}}"]
(is (= "hellworld" (render tpl {:name 23})))
(is (= "nice" (render tpl {:name -23})))))
(deftest test-ifless
(let [tpl "{{#ifless name compare=0}}hellworld{{else}}nice{{/ifless}}"]
(is (= "hellworld" (render tpl {:name -23})))
(is (= "nice" (render tpl {:name 23})))))
(deftest test-ifcontains
(let [tpl "{{#ifcontains set item=\"hello\"}}hello{{/ifcontains}}"]
(is (= "hello" (render tpl {:set #{:hello}})))
(is (= "hello" (render tpl {:set #{"hello"}})))))
(deftest test-uppercase
(let [tpl "{{uppercase tom.cat}}"]
(is (= "HELLO" (render tpl {:tom {:cat "hello"}})))))
(deftest test-lowercase
(let [tpl "{{lowercase tom.cat}}"]
(is (= "hello" (render tpl {:tom {:cat "HELLO"}})))))
(deftest test-or
(let [tpl "{{or tom.cat 100}}"]
(is (= "100" (render tpl {:tom {}})))))
(deftest test-count
(let [tpl "{{count tom.cat}}"]
(is (= "10" (render tpl {:tom {:cat (range 10)}})))))
(deftest test-format
(let [tpl "{{format tom.cat pattern=\"%.2f\"}}"]
(is (= "3.33" (render tpl {:tom {:cat 3.333}})))))