|
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