|
1 | 1 | (ns refactor-nrepl.ns.resolve-missing-test
|
2 |
| - (:require [cider.piggieback :as piggieback] |
3 |
| - [clojure |
4 |
| - [edn :as edn] |
5 |
| - [test :as t]] |
6 |
| - [nrepl.core :as nrepl] |
7 |
| - [nrepl.server :as server] |
8 |
| - [refactor-nrepl.middleware :as middleware])) |
| 2 | + (:require |
| 3 | + [clojure.java.shell :as shell] |
| 4 | + [cider.piggieback :as piggieback] |
| 5 | + [clojure.edn :as edn] |
| 6 | + [clojure.test :as t :refer [testing]] |
| 7 | + [nrepl.core :as nrepl] |
| 8 | + [nrepl.server :as server] |
| 9 | + [refactor-nrepl.middleware :as middleware])) |
9 | 10 |
|
10 | 11 | (def ^:dynamic *handler* (server/default-handler #'middleware/wrap-refactor))
|
11 | 12 | (def ^:dynamic *session* nil)
|
|
47 | 48 | (t/use-fixtures :each piggieback-fixture)
|
48 | 49 |
|
49 | 50 | (t/deftest sanity
|
| 51 | + (let [{:keys [exit] |
| 52 | + :as v} (shell/sh "node" "--version")] |
| 53 | + (assert (-> exit long zero?) |
| 54 | + (pr-str v))) |
| 55 | + |
50 | 56 | (t/testing "cljs repl is active"
|
51 | 57 | (let [response (message {:op :eval
|
52 | 58 | :code (nrepl/code js/console)})]
|
53 |
| - (t/is (= "cljs.user" (:ns response))) |
54 |
| - (t/is (= #{"done"} (:status response))))) |
| 59 | + (testing (pr-str response) |
| 60 | + (t/is (= "cljs.user" (:ns response))) |
| 61 | + (t/is (= #{"done"} (:status response)))))) |
55 | 62 |
|
56 | 63 | (t/testing "eval works"
|
57 | 64 | (let [response (message {:op :eval
|
58 | 65 | :code (nrepl/code (map even? (range 6)))})]
|
59 |
| - (t/is (= "cljs.user" (:ns response))) |
60 |
| - (t/is (= ["(true false true false true false)"] (:value response))) |
61 |
| - (t/is (= #{"done"} (:status response))))) |
| 66 | + (testing (pr-str response) |
| 67 | + (t/is (= "cljs.user" (:ns response))) |
| 68 | + (t/is (= ["(true false true false true false)"] (:value response))) |
| 69 | + (t/is (= #{"done"} (:status response)))))) |
62 | 70 |
|
63 | 71 | (t/testing "errors handled properly"
|
64 | 72 | (let [response (message {:op :eval
|
65 | 73 | :code (nrepl/code (ffirst 1))})]
|
66 |
| - (t/is (= "class clojure.lang.ExceptionInfo" |
67 |
| - (:ex response) |
68 |
| - (:root-ex response))) |
69 |
| - (t/is (string? (:err response))) |
70 |
| - (t/is (= #{"eval-error" "done"} (:status response)))))) |
| 74 | + (testing (pr-str response) |
| 75 | + (t/is (= "class clojure.lang.ExceptionInfo" |
| 76 | + (:ex response) |
| 77 | + (:root-ex response))) |
| 78 | + (t/is (string? (:err response))) |
| 79 | + (t/is (= #{"eval-error" "done"} (:status response))))))) |
71 | 80 |
|
72 | 81 | (t/deftest resolve-missing-test
|
73 | 82 | (t/testing "Finds functions is regular namespaces"
|
74 | 83 | (let [{:keys [^String error] :as response} (message {:op :resolve-missing :symbol 'print-doc})
|
| 84 | + _ (assert (string? (:candidates response)) |
| 85 | + (pr-str response)) |
75 | 86 | {:keys [name type]} (first (edn/read-string (:candidates response)))]
|
76 | 87 | (when error
|
77 | 88 | (println error)
|
78 | 89 | (throw (RuntimeException. error)))
|
79 |
| - (t/is (= 'cljs.repl name)) |
80 |
| - (t/is (= :ns type))) |
| 90 | + (testing (pr-str response) |
| 91 | + (t/is (= 'cljs.repl name)) |
| 92 | + (t/is (= :ns type)))) |
81 | 93 | (t/testing "Finds macros"
|
82 | 94 | (let [{:keys [^String error] :as response} (message {:op :resolve-missing :symbol 'dir})
|
83 | 95 | {:keys [name type]} (first (edn/read-string (:candidates response)))]
|
84 | 96 | (when error
|
85 | 97 | (throw (RuntimeException. error)))
|
86 |
| - (t/is (= 'cljs.repl name)) |
87 |
| - (t/is (= :macro type)))))) |
| 98 | + (testing (pr-str response) |
| 99 | + (t/is (= 'cljs.repl name)) |
| 100 | + (t/is (= :macro type))))))) |
0 commit comments