-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathformat_test.clj
More file actions
26 lines (20 loc) · 1.81 KB
/
format_test.clj
File metadata and controls
26 lines (20 loc) · 1.81 KB
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
(ns getclojure.format-test
(:require
[clojure.test :refer (deftest testing is use-fixtures)]
[getclojure.format :as sut]
[schema.test :refer (validate-schemas)]))
(use-fixtures :once validate-schemas)
(deftest formatting-test
(testing "It formats inputs, outputs, and values as HTML strings"
(is (= "<div class=\"highlight\"><pre><span></span><span class=\"p\">(</span><span class=\"kd\">defn </span><span class=\"nv\">foo</span><span class=\"w\"> </span><span class=\"p\">[</span><span class=\"nv\">x</span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"p\">(</span><span class=\"nf\">bar</span><span class=\"w\"> </span><span class=\"nv\">baz</span><span class=\"w\"> </span><span class=\"nv\">qux</span><span class=\"w\"> </span><span class=\"p\">{</span><span class=\"ss\">:a</span><span class=\"w\"> </span><span class=\"mi\">1</span>,<span class=\"w\"> </span><span class=\"ss\">:b</span><span class=\"w\"> </span><span class=\"mi\">2</span><span class=\"p\">}))</span><span class=\"w\"></span>\n</pre></div>\n"
(sut/input "(defn foo [x] (bar baz qux {:a 1 :b 2}))")))
(is (= "<div class=\"highlight\"><pre><span></span><span class=\"mi\">2</span><span class=\"w\"></span>\n</pre></div>\n"
(sut/value "2")))
(is (= "<div class=\"highlight\"><pre><span></span><span class=\"mi\">2222</span><span class=\"nv\">...</span><span class=\"w\"></span>\n</pre></div>\n"
(sut/value "2222..."))
"Pygmentize, but don't attempt to parse the string if it's a truncated value")
(is (= "<div class=\"highlight\"><pre><span></span><span class=\"s\">"Hello, world!"</span><span class=\"w\"></span>\n</pre></div>\n"
(sut/output "\"Hello, world!\"")))
(is (= nil
(sut/output "\"\""))
"Return nothing if we have no output")))