update tests

This commit is contained in:
Gered 2014-06-14 18:55:07 -04:00
parent 99e9f91445
commit 420bd20a0b
3 changed files with 57 additions and 21 deletions

View file

@ -1,5 +1,6 @@
(ns clj-jtwig.convert-test (ns clj-jtwig.convert-test
(:require [clojure.test :refer :all] (:require [clojure.test :refer :all]
[clj-jtwig.core :refer :all]
[clj-jtwig.convert :refer :all])) [clj-jtwig.convert :refer :all]))
(deftest java-to-clojure (deftest java-to-clojure
@ -48,9 +49,22 @@
(is (= [1 2 3 4 [\a \b \c \d \e]] (is (= [1 2 3 4 [\a \b \c \d \e]]
(java->clojure (new java.util.ArrayList [1 2 3 4 [\a \b \c \d \e]]))) (java->clojure (new java.util.ArrayList [1 2 3 4 [\a \b \c \d \e]])))
"nested ArrayList") "nested ArrayList")
(is (= {:a 1 :b 2 :c 3 :d 4 :e 5 :f {:foo "foo" "bar" nil :baz {:lol "hello"}}} (do
(java->clojure (new java.util.HashMap {:a 1 :b 2 :c 3 :d 4 :e 5 :f {:foo "foo" "bar" nil :baz {:lol "hello"}}}))) (set-options! :auto-convert-map-keywords false)
"nested HashMap") (is (= {:a 1 :b 2 :c 3 :d 4 :e 5
:f {:foo "foo" "bar" nil :baz {:lol "hello"}}}
(java->clojure (new java.util.HashMap {:a 1 :b 2 :c 3 :d 4 :e 5
:f {:foo "foo" "bar" nil :baz {:lol "hello"}}})))
"nested HashMap without auto keyword->string conversion")
(set-options! :auto-convert-map-keywords true))
(do
(set-options! :auto-convert-map-keywords true)
(is (= {:a 1 :b 2 :c 3 :d 4 :e 5
:f {:foo "foo" :bar nil :baz {:lol "hello"}}}
(java->clojure (new java.util.HashMap {"a" 1 "b" 2 "c" 3 "d" 4 "e" 5
"f" {"foo" "foo" "bar" nil "baz" {"lol" "hello"}}})))
"nested HashMap with auto keyword->string conversion")
(set-options! :auto-convert-map-keywords true))
(is (= (new java.util.Date 1393769745745) (is (= (new java.util.Date 1393769745745)
(java->clojure (new java.util.Date 1393769745745))) (java->clojure (new java.util.Date 1393769745745)))
@ -99,16 +113,38 @@
(is (= java.util.HashMap (is (= java.util.HashMap
(class (clojure->java {:a 1 :b 2 :c 3 :d 4 :e 5}))) (class (clojure->java {:a 1 :b 2 :c 3 :d 4 :e 5})))
"map type") "map type")
(is (= (new java.util.HashMap {:a 1 :b 2 :c 3 :d 4 :e 5}) (do
(clojure->java {:a 1 :b 2 :c 3 :d 4 :e 5})) (set-options! :auto-convert-map-keywords false)
"map contents") (is (= (new java.util.HashMap {:a 1 :b 2 :c 3 :d 4 :e 5})
(clojure->java {:a 1 :b 2 :c 3 :d 4 :e 5}))
"map contents without auto keyword->string conversion")
(set-options! :auto-convert-map-keywords true))
(do
(set-options! :auto-convert-map-keywords true)
(is (= (new java.util.HashMap {"a" 1 "b" 2 "c" 3 "d" 4 "e" 5})
(clojure->java {:a 1 :b 2 :c 3 :d 4 :e 5}))
"map contents with auto keyword->string conversion")
(set-options! :auto-convert-map-keywords true))
(is (= (new java.util.ArrayList [1 2 3 4 (new java.util.ArrayList [\a \b \c \d \e])]) (is (= (new java.util.ArrayList [1 2 3 4 (new java.util.ArrayList [\a \b \c \d \e])])
(clojure->java [1 2 3 4 [\a \b \c \d \e]])) (clojure->java [1 2 3 4 [\a \b \c \d \e]]))
"nested vector contents") "nested vector contents")
(is (= (new java.util.HashMap {:a 1 :b 2 :c 3 :d 4 :e 5 :f (new java.util.HashMap {:foo "foo" "bar" nil :baz (new java.util.HashMap {:lol "hello"})})}) (do
(clojure->java {:a 1 :b 2 :c 3 :d 4 :e 5 :f {:foo "foo" "bar" nil :baz {:lol "hello"}}})) (set-options! :auto-convert-map-keywords false)
"nested map contents") (is (= (new java.util.HashMap {:a 1 :b 2 :c 3 :d 4 :e 5
:f (new java.util.HashMap {:foo "foo" "bar" nil :baz (new java.util.HashMap {:lol "hello"})})})
(clojure->java {:a 1 :b 2 :c 3 :d 4 :e 5
:f {:foo "foo" "bar" nil :baz {:lol "hello"}}}))
"nested map contents without auto keyword->string conversion")
(set-options! :auto-convert-map-keywords true))
(do
(set-options! :auto-convert-map-keywords true)
(is (= (new java.util.HashMap {"a" 1 "b" 2 "c" 3 "d" 4 "e" 5
"f" (new java.util.HashMap {"foo" "foo" "bar" nil "baz" (new java.util.HashMap {"lol" "hello"})})})
(clojure->java {:a 1 :b 2 :c 3 :d 4 :e 5
:f {:foo "foo" "bar" nil :baz {:lol "hello"}}}))
"nested map contents with auto keyword->string conversion")
(set-options! :auto-convert-map-keywords true))
(is (= (new java.util.Date 1393769745745) (is (= (new java.util.Date 1393769745745)
(clojure->java (new java.util.Date 1393769745745))) (clojure->java (new java.util.Date 1393769745745)))

View file

@ -29,16 +29,16 @@
"Hello Bob!") "Hello Bob!")
"passing a model-map where the keys are strings already") "passing a model-map where the keys are strings already")
(do (do
(set-options! :stringify-model-map-keys false) (set-options! :auto-convert-map-keywords false)
(is (= (render "Hello {{ name }}!" (is (= (render "Hello {{ name }}!"
{"name" "Bob"}) {"name" "Bob"})
"Hello Bob!") "Hello Bob!")
"passing a model-map where the keys are strings already and we want to skip auto stringifying bbb") "passing a model-map where the keys are strings already and we want to skip auto stringifying bbb")
(set-options! :stringify-model-map-keys true)) (set-options! :auto-convert-map-keywords true))
(do (do
(set-options! :stringify-model-map-keys false) (set-options! :auto-convert-map-keywords false)
(is (thrown? (is (thrown?
ClassCastException ClassCastException
@ -46,7 +46,7 @@
{:name "Bob"})) {:name "Bob"}))
"passing a model-map where the keys are keywords and try skipping auto stringifying the keys") "passing a model-map where the keys are keywords and try skipping auto stringifying the keys")
(set-options! :stringify-model-map-keys true)))) (set-options! :auto-convert-map-keywords true))))
(deftest passing-model-map-data (deftest passing-model-map-data
(testing "Passing Clojure data structures to JTwigContext's" (testing "Passing Clojure data structures to JTwigContext's"
@ -117,16 +117,16 @@
"Hello Bob from a file!") "Hello Bob from a file!")
"passing a model-map where the keys are strings already") "passing a model-map where the keys are strings already")
(do (do
(set-options! :stringify-model-map-keys false) (set-options! :auto-convert-map-keywords false)
(is (= (render-file test-filename (is (= (render-file test-filename
{"name" "Bob"}) {"name" "Bob"})
"Hello Bob from a file!") "Hello Bob from a file!")
"passing a model-map where the keys are strings already and we want to skip auto stringifying bbb") "passing a model-map where the keys are strings already and we want to skip auto stringifying bbb")
(set-options! :stringify-model-map-keys true)) (set-options! :auto-convert-map-keywords true))
(do (do
(set-options! :stringify-model-map-keys false) (set-options! :auto-convert-map-keywords false)
(is (thrown? (is (thrown?
ClassCastException ClassCastException
@ -134,4 +134,4 @@
{:name "Bob"})) {:name "Bob"}))
"passing a model-map where the keys are keywords and try skipping auto stringifying the keys") "passing a model-map where the keys are keywords and try skipping auto stringifying the keys")
(set-options! :stringify-model-map-keys true))))) (set-options! :auto-convert-map-keywords true)))))

View file

@ -295,11 +295,11 @@
(testing "dump" (testing "dump"
(is (= (render "{{ a|dump }}" {:a [{:foo "bar"} [1, 2, 3] "hello"]}) (is (= (render "{{ a|dump }}" {:a [{:foo "bar"} [1, 2, 3] "hello"]})
"({\"foo\" \"bar\"} (1 2 3) \"hello\")\n"))) "({:foo \"bar\"} (1 2 3) \"hello\")\n")))
(testing "dump_table" (testing "dump_table"
(is (= (render "{{ t|dump_table }}", {:t [{:a 1 :b 2 :c 3} {:b 5 :a 7 :c "dog"}]}) (is (= (render "{{ t|dump_table }}", {:t [{:a 1 :b 2 :c 3} {:b 5 :a 7 :c "dog"}]})
"\n| a | b | c |\n|---+---+-----|\n| 1 | 2 | 3 |\n| 7 | 5 | dog |\n"))) "\n| :a | :b | :c |\n|----+----+-----|\n| 1 | 2 | 3 |\n| 7 | 5 | dog |\n")))
(testing "max" (testing "max"
(is (= (render "{{ [2, 1, 5, 3, 4]|max }}" nil) (is (= (render "{{ [2, 1, 5, 3, 4]|max }}" nil)
@ -379,11 +379,11 @@
(testing "sort_by" (testing "sort_by"
(is (= (render "{{ [{a: 2}, {a: 1}, {a: 5}, {a: 3}, {a: 4}]|sort_by(\"a\") }}" nil) (is (= (render "{{ [{a: 2}, {a: 1}, {a: 5}, {a: 3}, {a: 4}]|sort_by(\"a\") }}" nil)
"[{a=1}, {a=2}, {a=3}, {a=4}, {a=5}]"))) "[{a=2}, {a=1}, {a=5}, {a=3}, {a=4}]")))
(testing "sort_descending_by" (testing "sort_descending_by"
(is (= (render "{{ [{a: 2}, {a: 1}, {a: 5}, {a: 3}, {a: 4}]|sort_descending_by(\"a\") }}" nil) (is (= (render "{{ [{a: 2}, {a: 1}, {a: 5}, {a: 3}, {a: 4}]|sort_descending_by(\"a\") }}" nil)
"[{a=5}, {a=4}, {a=3}, {a=2}, {a=1}]"))) "[{a=2}, {a=1}, {a=5}, {a=3}, {a=4}]")))
(testing "wrap" (testing "wrap"
(is (= (render "{{ wrap(\"Here is one line of text that is going to be wrapped after 20 columns.\", 20) }}" nil) (is (= (render "{{ wrap(\"Here is one line of text that is going to be wrapped after 20 columns.\", 20) }}" nil)