|
143 | 143 |
|
144 | 144 | (describe "when there is a single dependency"
|
145 | 145 | (before-each
|
146 |
| - (setq-local cider-injected-nrepl-version "0.9.0") |
147 |
| - (setq-local cider-injected-middleware-version "0.55.7") |
| 146 | + (setq-local cider-injected-nrepl-version "1.2.3") |
| 147 | + (setq-local cider-injected-middleware-version "2.3.4") |
148 | 148 | (setq-local cider-jack-in-nrepl-middlewares '("cider.nrepl/cider-middleware"))
|
149 | 149 | (setq-local cider-jack-in-dependencies-exclusions '())
|
150 | 150 | (setq-local cider-enable-nrepl-jvmti-agent t))
|
151 | 151 |
|
152 | 152 | (it "can inject dependencies in a lein project"
|
153 | 153 | (expect (cider-inject-jack-in-dependencies "" "repl :headless" 'lein)
|
154 | 154 | :to-equal (concat "update-in :dependencies conj "
|
155 |
| - (shell-quote-argument "[nrepl/nrepl \"0.9.0\"]") |
| 155 | + (shell-quote-argument "[nrepl/nrepl \"1.2.3\"]") |
156 | 156 | " -- update-in :plugins conj "
|
157 |
| - (shell-quote-argument "[cider/cider-nrepl \"0.55.7\"]") |
| 157 | + (shell-quote-argument "[cider/cider-nrepl \"2.3.4\"]") |
158 | 158 | " -- update-in :jvm-opts conj '\"-Djdk.attach.allowAttachSelf\"'"
|
159 | 159 | " -- repl :headless")))
|
160 | 160 |
|
|
163 | 163 | (expect (cider-inject-jack-in-dependencies "" "repl :headless" 'lein)
|
164 | 164 | :to-equal (concat
|
165 | 165 | "update-in :dependencies conj "
|
166 |
| - (shell-quote-argument "[nrepl/nrepl \"0.9.0\" :exclusions [org.clojure/clojure]]") |
| 166 | + (shell-quote-argument "[nrepl/nrepl \"1.2.3\" :exclusions [org.clojure/clojure]]") |
167 | 167 | " -- update-in :plugins conj "
|
168 |
| - (shell-quote-argument "[cider/cider-nrepl \"0.55.7\"]") |
| 168 | + (shell-quote-argument "[cider/cider-nrepl \"2.3.4\"]") |
169 | 169 | " -- update-in :jvm-opts conj '\"-Djdk.attach.allowAttachSelf\"'"
|
170 | 170 | " -- repl :headless")))
|
171 | 171 |
|
172 | 172 | (it "can inject dependencies in a lein project with multiple exclusions"
|
173 | 173 | (setq-local cider-jack-in-dependencies-exclusions '(("nrepl/nrepl" ("org.clojure/clojure" "foo.bar/baz"))))
|
174 | 174 | (expect (cider-inject-jack-in-dependencies "" "repl :headless" 'lein)
|
175 | 175 | :to-equal (concat "update-in :dependencies conj "
|
176 |
| - (shell-quote-argument "[nrepl/nrepl \"0.9.0\" :exclusions [org.clojure/clojure foo.bar/baz]]") |
| 176 | + (shell-quote-argument "[nrepl/nrepl \"1.2.3\" :exclusions [org.clojure/clojure foo.bar/baz]]") |
177 | 177 | " -- update-in :plugins conj "
|
178 |
| - (shell-quote-argument "[cider/cider-nrepl \"0.55.7\"]") |
| 178 | + (shell-quote-argument "[cider/cider-nrepl \"2.3.4\"]") |
179 | 179 | " -- update-in :jvm-opts conj '\"-Djdk.attach.allowAttachSelf\"'"
|
180 | 180 | " -- repl :headless")))
|
181 | 181 |
|
182 | 182 | (it "can inject dependencies in a gradle project"
|
183 | 183 | (expect (cider-inject-jack-in-dependencies "--no-daemon" ":clojureRepl" 'gradle)
|
184 | 184 | :to-equal (concat "--no-daemon "
|
185 | 185 | "-Pjdk.attach.allowAttachSelf "
|
186 |
| - (shell-quote-argument "-Pdev.clojurephant.jack-in.nrepl=nrepl:nrepl:0.9.0,cider:cider-nrepl:0.55.7") |
| 186 | + (shell-quote-argument "-Pdev.clojurephant.jack-in.nrepl=nrepl:nrepl:1.2.3,cider:cider-nrepl:2.3.4") |
187 | 187 | " :clojureRepl "
|
188 | 188 | (shell-quote-argument "--middleware=cider.nrepl/cider-middleware")))))
|
189 | 189 |
|
|
196 | 196 | (it "can inject dependencies in a lein project"
|
197 | 197 | (expect (cider-inject-jack-in-dependencies "" "repl :headless" 'lein)
|
198 | 198 | :to-equal (concat "update-in :dependencies conj "
|
199 |
| - (shell-quote-argument "[nrepl/nrepl \"0.9.0\"]") |
| 199 | + (shell-quote-argument "[nrepl/nrepl \"1.2.3\"]") |
200 | 200 | " -- update-in :plugins conj "
|
201 | 201 | (shell-quote-argument "[refactor-nrepl \"2.0.0\"]")
|
202 | 202 | " -- update-in :plugins conj "
|
203 |
| - (shell-quote-argument "[cider/cider-nrepl \"0.55.7\"]") |
| 203 | + (shell-quote-argument "[cider/cider-nrepl \"2.3.4\"]") |
204 | 204 | " -- update-in :jvm-opts conj '\"-Djdk.attach.allowAttachSelf\"'"
|
205 | 205 | " -- repl :headless"))))
|
206 | 206 |
|
|
214 | 214 | (it "can concat in a lein project"
|
215 | 215 | (expect (cider-inject-jack-in-dependencies "-o -U" "repl :headless" 'lein)
|
216 | 216 | :to-equal (concat "-o -U update-in :dependencies conj "
|
217 |
| - (shell-quote-argument "[nrepl/nrepl \"0.9.0\"]") |
| 217 | + (shell-quote-argument "[nrepl/nrepl \"1.2.3\"]") |
218 | 218 | " -- update-in :plugins conj "
|
219 |
| - (shell-quote-argument "[cider/cider-nrepl \"0.55.7\"]") |
| 219 | + (shell-quote-argument "[cider/cider-nrepl \"2.3.4\"]") |
220 | 220 | " -- update-in :jvm-opts conj '\"-Djdk.attach.allowAttachSelf\"'"
|
221 | 221 | " -- repl :headless")))
|
222 | 222 | (it "can concat in a gradle project"
|
223 | 223 | (expect (cider-inject-jack-in-dependencies "--no-daemon" ":clojureRepl" 'gradle)
|
224 | 224 | :to-equal (concat "--no-daemon "
|
225 | 225 | "-Pjdk.attach.allowAttachSelf "
|
226 |
| - (shell-quote-argument "-Pdev.clojurephant.jack-in.nrepl=nrepl:nrepl:0.9.0,cider:cider-nrepl:0.55.7") |
| 226 | + (shell-quote-argument "-Pdev.clojurephant.jack-in.nrepl=nrepl:nrepl:1.2.3,cider:cider-nrepl:2.3.4") |
227 | 227 | " :clojureRepl "
|
228 | 228 | (shell-quote-argument "--middleware=cider.nrepl/cider-middleware")))))
|
229 | 229 |
|
|
237 | 237 | (setq-local cider-jack-in-nrepl-middlewares '(("refactor-nrepl.middleware/wrap-refactor" :predicate middlewares-predicate) "cider.nrepl/cider-middleware" ("another/middleware"))))
|
238 | 238 | (it "includes plugins whose predicates return true"
|
239 | 239 | (expect (cider-jack-in-normalized-lein-plugins)
|
240 |
| - :to-equal '(("refactor-nrepl" "2.0.0") ("cider/cider-nrepl" "0.55.7")))) |
| 240 | + :to-equal '(("refactor-nrepl" "2.0.0") ("cider/cider-nrepl" "2.3.4")))) |
241 | 241 | (it "includes middlewares whose predicates return true"
|
242 | 242 | (expect (cider-jack-in-normalized-nrepl-middlewares)
|
243 | 243 | :to-equal '("refactor-nrepl.middleware/wrap-refactor" "cider.nrepl/cider-middleware" "another/middleware")))
|
244 | 244 | (it "ignores plugins whose predicates return false"
|
245 | 245 | (spy-on 'plugins-predicate :and-return-value nil)
|
246 | 246 | (expect (cider-jack-in-normalized-lein-plugins)
|
247 |
| - :to-equal '(("cider/cider-nrepl" "0.55.7"))) |
| 247 | + :to-equal '(("cider/cider-nrepl" "2.3.4"))) |
248 | 248 | (spy-on 'middlewares-predicate :and-return-value nil)
|
249 | 249 | (expect (cider-jack-in-normalized-nrepl-middlewares)
|
250 | 250 | :to-equal '("cider.nrepl/cider-middleware" "another/middleware")))
|
|
273 | 273 | :and-return-value '("refactor-nrepl.middleware/wrap-refactor" "cider.nrepl/cider-middleware"))
|
274 | 274 | (spy-on 'cider-jack-in-normalized-lein-plugins
|
275 | 275 | :and-return-value '(("refactor-nrepl" "2.0.0")
|
276 |
| - ("cider/cider-nrepl" "0.55.7"))) |
| 276 | + ("cider/cider-nrepl" "2.3.4"))) |
277 | 277 | (setq-local cider-jack-in-dependencies-exclusions '()))
|
278 | 278 | (it "uses them in a lein project"
|
279 | 279 | (expect (cider-inject-jack-in-dependencies "" "repl :headless" 'lein)
|
280 | 280 | :to-equal (concat "update-in :dependencies conj "
|
281 |
| - (shell-quote-argument "[nrepl/nrepl \"0.9.0\"]") |
| 281 | + (shell-quote-argument "[nrepl/nrepl \"1.2.3\"]") |
282 | 282 | " -- update-in :plugins conj "
|
283 | 283 | (shell-quote-argument "[refactor-nrepl \"2.0.0\"]")
|
284 | 284 | " -- update-in :plugins conj "
|
285 |
| - (shell-quote-argument "[cider/cider-nrepl \"0.55.7\"]") |
| 285 | + (shell-quote-argument "[cider/cider-nrepl \"2.3.4\"]") |
286 | 286 | " -- update-in :jvm-opts conj '\"-Djdk.attach.allowAttachSelf\"'"
|
287 | 287 | " -- repl :headless")))))
|
288 | 288 |
|
|
370 | 370 | (it "uses main opts in an alias to prevent other mains from winning"
|
371 | 371 | (setq-local cider-jack-in-dependencies nil)
|
372 | 372 | (setq-local cider-jack-in-nrepl-middlewares '("cider.nrepl/cider-middleware"))
|
| 373 | + (setq-local cider-injected-nrepl-version "1.2.3") |
| 374 | + (setq-local cider-injected-middleware-version "2.3.4") |
373 | 375 | (let ((expected (string-join `("clojure -Sdeps "
|
374 |
| - ,(shell-quote-argument "{:deps {nrepl/nrepl {:mvn/version \"0.9.0\"} cider/cider-nrepl {:mvn/version \"0.55.7\"}} :aliases {:cider/nrepl {:jvm-opts [\"-Djdk.attach.allowAttachSelf\"], :main-opts [\"-m\" \"nrepl.cmdline\" \"--middleware\" \"[cider.nrepl/cider-middleware]\"]}}}") |
| 376 | + ,(shell-quote-argument "{:deps {nrepl/nrepl {:mvn/version \"1.2.3\"} cider/cider-nrepl {:mvn/version \"2.3.4\"}} :aliases {:cider/nrepl {:jvm-opts [\"-Djdk.attach.allowAttachSelf\"], :main-opts [\"-m\" \"nrepl.cmdline\" \"--middleware\" \"[cider.nrepl/cider-middleware]\"]}}}") |
375 | 377 | " -M:cider/nrepl")
|
376 | 378 | "")))
|
377 | 379 | (setq-local cider-allow-jack-in-without-project t)
|
|
385 | 387 | :to-equal expected)))
|
386 | 388 |
|
387 | 389 | (it "allows specifying custom aliases with `cider-clojure-cli-aliases`"
|
| 390 | + (setq-local cider-injected-nrepl-version "1.2.3") |
| 391 | + (setq-local cider-injected-middleware-version "2.3.4") |
388 | 392 | (let ((expected (string-join `("clojure -Sdeps "
|
389 |
| - ,(shell-quote-argument "{:deps {nrepl/nrepl {:mvn/version \"0.9.0\"} cider/cider-nrepl {:mvn/version \"0.55.7\"}} :aliases {:cider/nrepl {:jvm-opts [\"-Djdk.attach.allowAttachSelf\"], :main-opts [\"-m\" \"nrepl.cmdline\" \"--middleware\" \"[cider.nrepl/cider-middleware]\"]}}}") |
| 393 | + ,(shell-quote-argument "{:deps {nrepl/nrepl {:mvn/version \"1.2.3\"} cider/cider-nrepl {:mvn/version \"2.3.4\"}} :aliases {:cider/nrepl {:jvm-opts [\"-Djdk.attach.allowAttachSelf\"], :main-opts [\"-m\" \"nrepl.cmdline\" \"--middleware\" \"[cider.nrepl/cider-middleware]\"]}}}") |
390 | 394 | " -M:dev:test:cider/nrepl")
|
391 | 395 | "")))
|
392 | 396 | (setq-local cider-jack-in-dependencies nil)
|
|
402 | 406 |
|
403 | 407 | (dolist (command '("clojure" "powershell"))
|
404 | 408 | (it (format "should remove duplicates, yielding the same result (for %S command invocation)" command)
|
| 409 | + (setq-local cider-injected-nrepl-version "1.2.3") |
| 410 | + (setq-local cider-injected-middleware-version "2.3.4") |
405 | 411 | ;; repeat the same test for PowerShell too
|
406 | 412 | (let ((expected (string-join `("-Sdeps "
|
407 |
| - ,(cider--shell-quote-argument "{:deps {cider/cider-nrepl {:mvn/version \"0.55.7\"} nrepl/nrepl {:mvn/version \"0.9.0\"}} :aliases {:cider/nrepl {:jvm-opts [\"-Djdk.attach.allowAttachSelf\"], :main-opts [\"-m\" \"nrepl.cmdline\" \"--middleware\" \"[cider.nrepl/cider-middleware]\"]}}}" |
| 413 | + ,(cider--shell-quote-argument "{:deps {cider/cider-nrepl {:mvn/version \"2.3.4\"} nrepl/nrepl {:mvn/version \"1.2.3\"}} :aliases {:cider/nrepl {:jvm-opts [\"-Djdk.attach.allowAttachSelf\"], :main-opts [\"-m\" \"nrepl.cmdline\" \"--middleware\" \"[cider.nrepl/cider-middleware]\"]}}}" |
408 | 414 | command)
|
409 | 415 | " -M:dev:test:cider/nrepl")
|
410 | 416 | "")))
|
411 |
| - (expect (cider-clojure-cli-jack-in-dependencies nil nil '(("nrepl/nrepl" "0.9.0") |
412 |
| - ("nrepl/nrepl" "0.9.0")) |
| 417 | + (expect (cider-clojure-cli-jack-in-dependencies nil nil '(("nrepl/nrepl" "1.2.3") |
| 418 | + ("nrepl/nrepl" "1.2.3")) |
413 | 419 | command)
|
414 | 420 | :to-equal expected))))
|
415 | 421 | (it "handles aliases correctly"
|
| 422 | + (setq-local cider-injected-nrepl-version "1.2.3") |
| 423 | + (setq-local cider-injected-middleware-version "2.3.4") |
416 | 424 | (let ((expected (string-join `("-Sdeps "
|
417 |
| - ,(shell-quote-argument "{:deps {cider/cider-nrepl {:mvn/version \"0.55.7\"} nrepl/nrepl {:mvn/version \"0.9.0\"}} :aliases {:cider/nrepl {:jvm-opts [\"-Djdk.attach.allowAttachSelf\"], :main-opts [\"-m\" \"nrepl.cmdline\" \"--middleware\" \"[cider.nrepl/cider-middleware]\"]}}}") |
| 425 | + ,(shell-quote-argument "{:deps {cider/cider-nrepl {:mvn/version \"2.3.4\"} nrepl/nrepl {:mvn/version \"1.2.3\"}} :aliases {:cider/nrepl {:jvm-opts [\"-Djdk.attach.allowAttachSelf\"], :main-opts [\"-m\" \"nrepl.cmdline\" \"--middleware\" \"[cider.nrepl/cider-middleware]\"]}}}") |
418 | 426 | " -M:test:cider/nrepl")
|
419 | 427 | ""))
|
420 |
| - (deps '(("nrepl/nrepl" "0.9.0")))) |
| 428 | + (deps '(("nrepl/nrepl" "1.2.3")))) |
421 | 429 | (let ((cider-clojure-cli-aliases ":test"))
|
422 | 430 | (expect (cider-clojure-cli-jack-in-dependencies nil nil deps)
|
423 | 431 | :to-equal expected))
|
|
441 | 449 | (expect (cider-clojure-cli-jack-in-dependencies nil nil deps)
|
442 | 450 | :to-equal expected)))))
|
443 | 451 | (it "allows for global options"
|
| 452 | + (setq-local cider-injected-nrepl-version "1.2.3") |
| 453 | + (setq-local cider-injected-middleware-version "2.3.4") |
444 | 454 | (let ((expected (string-join `("-J-Xverify:none -Sdeps "
|
445 |
| - ,(shell-quote-argument "{:deps {cider/cider-nrepl {:mvn/version \"0.55.7\"} nrepl/nrepl {:mvn/version \"0.9.0\"}} :aliases {:cider/nrepl {:jvm-opts [\"-Djdk.attach.allowAttachSelf\"], :main-opts [\"-m\" \"nrepl.cmdline\" \"--middleware\" \"[cider.nrepl/cider-middleware]\"]}}}") |
| 455 | + ,(shell-quote-argument "{:deps {cider/cider-nrepl {:mvn/version \"2.3.4\"} nrepl/nrepl {:mvn/version \"1.2.3\"}} :aliases {:cider/nrepl {:jvm-opts [\"-Djdk.attach.allowAttachSelf\"], :main-opts [\"-m\" \"nrepl.cmdline\" \"--middleware\" \"[cider.nrepl/cider-middleware]\"]}}}") |
446 | 456 | " -M:test:cider/nrepl")
|
447 | 457 | ""))
|
448 |
| - (deps '(("nrepl/nrepl" "0.9.0")))) |
| 458 | + (deps '(("nrepl/nrepl" "1.2.3")))) |
449 | 459 | (let ((cider-clojure-cli-aliases ":test"))
|
450 | 460 | (expect (cider-clojure-cli-jack-in-dependencies "-J-Xverify:none" nil deps)
|
451 | 461 | :to-equal expected))))
|
452 | 462 | (it "allows to specify git coordinate as cider-jack-in-dependency"
|
| 463 | + (setq-local cider-injected-nrepl-version "1.2.3") |
| 464 | + (setq-local cider-injected-middleware-version "2.3.4") |
453 | 465 | (setq-local cider-jack-in-dependencies '(("org.clojure/tools.deps" (("git/sha" . "6ae2b6f71773de7549d7f22759e8b09fec27f0d9")
|
454 | 466 | ("git/url" . "https://github.com/clojure/tools.deps/")))))
|
455 | 467 | (let ((expected (string-join `("clojure -Sdeps "
|
456 |
| - ,(shell-quote-argument "{:deps {nrepl/nrepl {:mvn/version \"0.9.0\"} cider/cider-nrepl {:mvn/version \"0.55.7\"} org.clojure/tools.deps { :git/sha \"6ae2b6f71773de7549d7f22759e8b09fec27f0d9\" :git/url \"https://github.com/clojure/tools.deps/\" }} :aliases {:cider/nrepl {:jvm-opts [\"-Djdk.attach.allowAttachSelf\"], :main-opts [\"-m\" \"nrepl.cmdline\" \"--middleware\" \"[cider.nrepl/cider-middleware]\"]}}}") |
| 468 | + ,(shell-quote-argument "{:deps {nrepl/nrepl {:mvn/version \"1.2.3\"} cider/cider-nrepl {:mvn/version \"2.3.4\"} org.clojure/tools.deps { :git/sha \"6ae2b6f71773de7549d7f22759e8b09fec27f0d9\" :git/url \"https://github.com/clojure/tools.deps/\" }} :aliases {:cider/nrepl {:jvm-opts [\"-Djdk.attach.allowAttachSelf\"], :main-opts [\"-m\" \"nrepl.cmdline\" \"--middleware\" \"[cider.nrepl/cider-middleware]\"]}}}") |
457 | 469 | " -M:cider/nrepl")
|
458 | 470 | "")))
|
459 | 471 | (setq-local cider-allow-jack-in-without-project t)
|
|
0 commit comments