Skip to content

Commit befad4d

Browse files
r0manbbatsov
authored andcommitted
Fix inspect tests
Update the inspect test data to match the new section headers and the Datafy support added to Orchard.
1 parent e184a87 commit befad4d

File tree

3 files changed

+341
-173
lines changed

3 files changed

+341
-173
lines changed

test/clj/cider/nrepl/middleware/inspect_test.clj

Lines changed: 175 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,112 @@
22
(:require
33
[cider.nrepl.middleware.inspect :as i]
44
[cider.nrepl.test-session :as session]
5+
[clojure.edn :as edn]
56
[clojure.string :as string]
67
[clojure.test :refer :all]))
78

8-
(def nil-result ["(\"nil\" (:newline))"])
9-
10-
(def var-result ["(\"Class\" \": \" (:value \"clojure.lang.Var\" 0) (:newline) \"Meta Information: \" (:newline) \" \" (:value \":ns\" 1) \" = \" (:value \"clojure.core\" 2) (:newline) \" \" (:value \":name\" 3) \" = \" (:value \"*assert*\" 4) (:newline) \"Value: \" (:value \"true\" 5))"])
9+
(def datafy?
10+
(some? (resolve 'clojure.core.protocols/datafy)))
11+
12+
(def nil-result
13+
'["nil" (:newline)])
14+
15+
(def var-result
16+
(cond-> '("Class"
17+
": " (:value "clojure.lang.Var" 0)
18+
(:newline)
19+
"Value: " (:value "true" 1)
20+
(:newline)
21+
(:newline)
22+
"--- Meta Information:"
23+
(:newline)
24+
" " (:value ":ns" 2) " = " (:value "clojure.core" 3)
25+
(:newline)
26+
" " (:value ":name" 4) " = " (:value "*assert*" 5)
27+
(:newline))
28+
datafy? (concat '((:newline)
29+
"--- Datafy:"
30+
(:newline)
31+
" " "0" ". " (:value "true" 6) (:newline)))))
1132

1233
(def code "(sorted-map :a {:b 1} :c \"a\" :d 'e :f [2 3])")
1334

14-
(def eval-result (eval (read-string code)))
15-
16-
(def inspect-result ["(\"Class\" \": \" (:value \"clojure.lang.PersistentTreeMap\" 0) (:newline) \"Contents: \" (:newline) \" \" (:value \":a\" 1) \" = \" (:value \"{ :b 1 }\" 2) (:newline) \" \" (:value \":c\" 3) \" = \" (:value \"\\\"a\\\"\" 4) (:newline) \" \" (:value \":d\" 5) \" = \" (:value \"e\" 6) (:newline) \" \" (:value \":f\" 7) \" = \" (:value \"[ 2 3 ]\" 8) (:newline))"])
17-
18-
(def push-result ["(\"Class\" \": \" (:value \"clojure.lang.PersistentArrayMap\" 0) (:newline) \"Contents: \" (:newline) \" \" (:value \":b\" 1) \" = \" (:value \"1\" 2) (:newline) (:newline) \" Path: :a\")"])
19-
20-
(def next-page-result ["(\"Class\" \": \" (:value \"clojure.lang.LazySeq\" 0) (:newline) \"Contents: \" (:newline) \" ...\" (:newline) \" \" \"32\" \". \" (:value \"32\" 1) (:newline) \" \" \"33\" \". \" (:value \"33\" 2) (:newline) \" \" \"34\" \". \" (:value \"34\" 3) (:newline) (:newline) \" Page size: 32, showing page: 2 of 2\")"])
21-
(def first-page-result ["(\"Class\" \": \" (:value \"clojure.lang.LazySeq\" 0) (:newline) \"Contents: \" (:newline) \" \" \"0\" \". \" (:value \"0\" 1) (:newline) \" \" \"1\" \". \" (:value \"1\" 2) (:newline) \" \" \"2\" \". \" (:value \"2\" 3) (:newline) \" \" \"3\" \". \" (:value \"3\" 4) (:newline) \" \" \"4\" \". \" (:value \"4\" 5) (:newline) \" ...\" (:newline) \" Page size: 5, showing page: 1 of ?\")"])
35+
(def inspect-result
36+
'("Class"
37+
": " (:value "clojure.lang.PersistentTreeMap" 0)
38+
(:newline)
39+
(:newline)
40+
"--- Contents:"
41+
(:newline)
42+
" " (:value ":a" 1) " = " (:value "{ :b 1 }" 2)
43+
(:newline)
44+
" " (:value ":c" 3) " = " (:value "\"a\"" 4)
45+
(:newline)
46+
" " (:value ":d" 5) " = " (:value "e" 6)
47+
(:newline)
48+
" " (:value ":f" 7) " = " (:value "[ 2 3 ]" 8)
49+
(:newline)))
50+
51+
(def push-result
52+
'("Class"
53+
": " (:value "clojure.lang.PersistentArrayMap" 0)
54+
(:newline)
55+
(:newline)
56+
"--- Contents:"
57+
(:newline)
58+
" " (:value ":b" 1) " = " (:value "1" 2)
59+
(:newline)
60+
(:newline)
61+
"--- Path:"
62+
(:newline)
63+
" " ":a"))
64+
65+
(def next-page-result
66+
'("Class"
67+
": " (:value "clojure.lang.LazySeq" 0)
68+
(:newline)
69+
(:newline)
70+
"--- Contents:"
71+
(:newline)
72+
" " "..."
73+
(:newline)
74+
" " "32" ". " (:value "32" 1)
75+
(:newline)
76+
" " "33" ". " (:value "33" 2)
77+
(:newline)
78+
" " "34" ". " (:value "34" 3)
79+
(:newline)
80+
(:newline)
81+
"--- Page Info:"
82+
(:newline)
83+
" " "Page size: 32, showing page: 2 of 2"))
84+
85+
(def first-page-result
86+
'("Class"
87+
": " (:value "clojure.lang.LazySeq" 0)
88+
(:newline)
89+
(:newline)
90+
"--- Contents:"
91+
(:newline)
92+
" " "0" ". " (:value "0" 1)
93+
(:newline)
94+
" " "1" ". " (:value "1" 2)
95+
(:newline)
96+
" " "2" ". " (:value "2" 3)
97+
(:newline)
98+
" " "3" ". " (:value "3" 4)
99+
(:newline)
100+
" " "4" ". " (:value "4" 5)
101+
(:newline)
102+
" " "..."
103+
(:newline)
104+
(:newline)
105+
"--- Page Info:"
106+
(:newline)
107+
" " "Page size: 5, showing page: 1 of ?"))
108+
109+
(defn value [{:keys [value]}]
110+
(edn/read-string (first value)))
22111

23112
;; integration tests
24113

@@ -27,48 +116,48 @@
27116
(deftest nil-integration-test
28117
(testing "nil renders correctly"
29118
(is (= nil-result
30-
(:value (session/message {:op "eval"
31-
:inspect "true"
32-
:code "nil"}))))))
119+
(value (session/message {:op "eval"
120+
:inspect "true"
121+
:code "nil"}))))))
33122

34123
(deftest pop-empty-integration-test
35124
(testing "popping an empty inspector renders nil"
36125
(is (= nil-result
37-
(:value (session/message {:op "inspect-pop"}))))))
126+
(value (session/message {:op "inspect-pop"}))))))
38127

39128
(deftest pop-empty-idempotent-integration-test
40129
(testing "popping an empty inspector is idempotent"
41130
(is (= nil-result
42-
(:value (do
43-
(session/message {:op "inspect-pop"})
44-
(session/message {:op "inspect-pop"})))))))
131+
(value (do
132+
(session/message {:op "inspect-pop"})
133+
(session/message {:op "inspect-pop"})))))))
45134

46135
(deftest push-empty-integration-test
47136
(testing "pushing an empty inspector index renders nil"
48137
(is (= nil-result
49-
(:value (session/message {:op "inspect-push"
50-
:idx 1}))))))
138+
(value (session/message {:op "inspect-push"
139+
:idx 1}))))))
51140

52141
(deftest push-empty-idempotent-integration-test
53142
(testing "pushing an empty inspector index is idempotent"
54143
(is (= nil-result
55-
(:value (do
56-
(session/message {:op "inspect-push"
57-
:idx 1})
58-
(session/message {:op "inspect-push"
59-
:idx 1})))))))
144+
(value (do
145+
(session/message {:op "inspect-push"
146+
:idx 1})
147+
(session/message {:op "inspect-push"
148+
:idx 1})))))))
60149

61150
(deftest refresh-empty-integration-test
62151
(testing "refreshing an empty inspector renders nil"
63152
(is (= nil-result
64-
(:value (session/message {:op "inspect-refresh"}))))))
153+
(value (session/message {:op "inspect-refresh"}))))))
65154

66155
(deftest refresh-empty-idempotent-integration-test
67156
(testing "refreshing an empty inspector renders nil"
68157
(is (= nil-result
69-
(:value (do
70-
(session/message {:op "inspect-refresh"})
71-
(session/message {:op "inspect-refresh"})))))))
158+
(value (do
159+
(session/message {:op "inspect-refresh"})
160+
(session/message {:op "inspect-refresh"})))))))
72161

73162
(deftest exception-integration-test
74163
(testing "eval op error handling"
@@ -150,99 +239,99 @@
150239
(deftest inspect-var-integration-test
151240
(testing "rendering a var"
152241
(is (= var-result
153-
(:value (session/message {:op "eval"
154-
:inspect "true"
155-
:code "#'*assert*"}))))))
242+
(value (session/message {:op "eval"
243+
:inspect "true"
244+
:code "#'*assert*"}))))))
156245

157246
(deftest inspect-expr-integration-test
158247
(testing "rendering an expr"
159248
(is (= inspect-result
160-
(:value (session/message {:op "eval"
161-
:inspect "true"
162-
:code code}))))))
249+
(value (session/message {:op "eval"
250+
:inspect "true"
251+
:code code}))))))
163252

164253
(deftest push-integration-test
165254
(testing "pushing a rendered expr inspector idx"
166255
(is (= push-result
167-
(:value (do
168-
(session/message {:op "eval"
169-
:inspect "true"
170-
:code code})
171-
(session/message {:op "inspect-push"
172-
:idx 2})))))))
256+
(value (do
257+
(session/message {:op "eval"
258+
:inspect "true"
259+
:code code})
260+
(session/message {:op "inspect-push"
261+
:idx 2})))))))
173262

174263
(deftest next-page-integration-test
175264
(testing "jumping to next page in a rendered expr inspector"
176265
(is (= next-page-result
177-
(:value (do
178-
(session/message {:op "eval"
179-
:inspect "true"
180-
:code "(map identity (range 35))"})
181-
(session/message {:op "inspect-next-page"})))))))
266+
(value (do
267+
(session/message {:op "eval"
268+
:inspect "true"
269+
:code "(map identity (range 35))"})
270+
(session/message {:op "inspect-next-page"})))))))
182271

183272
(deftest prev-page-integration-test
184273
(testing "jumping to previous page in a rendered expr inspector"
185274
(is (= first-page-result
186-
(:value (do
187-
(session/message {:op "eval"
188-
:inspect "true"
189-
:code "(map identity (range 35))"})
190-
(session/message {:op "inspect-set-page-size"
191-
:page-size 5})
192-
(session/message {:op "inspect-next-page"})
193-
(session/message {:op "inspect-prev-page"})))))))
275+
(value (do
276+
(session/message {:op "eval"
277+
:inspect "true"
278+
:code "(map identity (range 35))"})
279+
(session/message {:op "inspect-set-page-size"
280+
:page-size 5})
281+
(session/message {:op "inspect-next-page"})
282+
(session/message {:op "inspect-prev-page"})))))))
194283

195284
(deftest pop-integration-test
196285
(testing "popping a rendered expr inspector"
197286
(is (= inspect-result
198-
(:value (do
199-
(session/message {:op "eval"
200-
:inspect "true"
201-
:code code})
202-
(session/message {:op "inspect-push"
203-
:idx 1})
204-
(session/message {:op "inspect-pop"})))))))
287+
(value (do
288+
(session/message {:op "eval"
289+
:inspect "true"
290+
:code code})
291+
(session/message {:op "inspect-push"
292+
:idx 1})
293+
(session/message {:op "inspect-pop"})))))))
205294

206295
(deftest refresh-integration-test
207296
(testing "refreshing a rendered expr inspector"
208297
(is (= inspect-result
209-
(:value (do
210-
(session/message {:op "eval"
211-
:inspect "true"
212-
:code code})
213-
(session/message {:op "inspect-refresh"})))))))
298+
(value (do
299+
(session/message {:op "eval"
300+
:inspect "true"
301+
:code code})
302+
(session/message {:op "inspect-refresh"})))))))
214303

215304
(deftest refresh-idempotent-integration-test
216305
(testing "refreshing a rendered expr inspector is idempotent"
217306
(is (= inspect-result
218-
(:value (do
219-
(session/message {:op "eval"
220-
:inspect "true"
221-
:code code})
222-
(session/message {:op "inspect-refresh"})
223-
(session/message {:op "inspect-refresh"})))))))
307+
(value (do
308+
(session/message {:op "eval"
309+
:inspect "true"
310+
:code code})
311+
(session/message {:op "inspect-refresh"})
312+
(session/message {:op "inspect-refresh"})))))))
224313

225314
(deftest refresh-after-push-integration-test
226315
(testing "refreshing a rendered expr inspector after an idx is pushed"
227316
(is (= push-result
228-
(:value (do
229-
(session/message {:op "eval"
230-
:inspect "true"
231-
:code code})
232-
(session/message {:op "inspect-push"
233-
:idx 2})
234-
(session/message {:op "inspect-refresh"})))))))
317+
(value (do
318+
(session/message {:op "eval"
319+
:inspect "true"
320+
:code code})
321+
(session/message {:op "inspect-push"
322+
:idx 2})
323+
(session/message {:op "inspect-refresh"})))))))
235324

236325
(deftest session-binding-integration-test
237326
(testing "session bindings can be inspected"
238327
(is (= inspect-result
239-
(:value (do
240-
(session/message {:op "eval"
241-
:inspect "true"
242-
:code code})
243-
(session/message {:op "eval"
244-
:inspect "true"
245-
:code "*1"})))))))
328+
(value (do
329+
(session/message {:op "eval"
330+
:inspect "true"
331+
:code code})
332+
(session/message {:op "eval"
333+
:inspect "true"
334+
:code "*1"})))))))
246335

247336
(deftest page-size-integration-test
248337
(testing "page size can be changed in the eval op itself"

0 commit comments

Comments
 (0)