emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/cider 3c73886452: Use temp repl buffer for client local va


From: ELPA Syncer
Subject: [nongnu] elpa/cider 3c73886452: Use temp repl buffer for client local vars tests
Date: Tue, 20 Dec 2022 16:58:31 -0500 (EST)

branch: elpa/cider
commit 3c738864525d25f126f637d1ceaace41871a8b1d
Author: ikappaki <ikappaki@users.noreply.github.com>
Commit: Bozhidar Batsov <bozhidar@batsov.dev>

    Use temp repl buffer for client local vars tests
    
    It solves an issue with recycled buffers on master.
    
    It also reduces tests to the `cider-register-repl-type` cases. The
    shadow and nbb tests have been removed since they are covered by the
    corresponding integration tests.
---
 test/cider-tests.el | 105 ++++++++++++++++++++--------------------------------
 1 file changed, 41 insertions(+), 64 deletions(-)

diff --git a/test/cider-tests.el b/test/cider-tests.el
index 2705bef02f..baf1d3fc3f 100644
--- a/test/cider-tests.el
+++ b/test/cider-tests.el
@@ -588,70 +588,47 @@
   (after-each
    (setq cider-cljs-repl-types -cider-cljs-repl-types))
 
-  (describe "sets nrepl client local vars correctly"
-      (it "for nbb project"
-          (let* ((server-process (nrepl-start-mock-server-process))
-                 (server-buffer (process-buffer server-process)))
-            ;; wait for the connection to be established
-            (nrepl-tests-poll-until (local-variable-p 'nrepl-endpoint 
server-buffer) 5)
-            (let ((client-buffer (cider-connect-sibling-cljs
-                                  '(:cljs-repl-type nbb) server-buffer)))
-
-              ;; native cljs REPL
-              (expect (buffer-local-value 'cider-repl-type client-buffer)
-                      :to-equal 'cljs)
-              (expect (buffer-local-value 'cider-repl-cljs-upgrade-pending 
client-buffer)
-                      :to-equal nil)
-              (expect (buffer-local-value 'cider-repl-init-function 
client-buffer)
-                      :to-be nil)
-              (delete-process (get-buffer-process client-buffer)))))
-      (it "for shadow project"
-          (let* ((cider-shadow-default-options "a-shadow-alias")
-                 (server-process (nrepl-start-mock-server-process))
-                 (server-buffer (process-buffer server-process)))
-            ;; wait for the connection to be established
-            (nrepl-tests-poll-until (local-variable-p 'nrepl-endpoint 
server-buffer) 5)
-            ;; starts as clj REPL and requires a form to switch over to cljs
-            (let ((client-buffer (cider-connect-sibling-cljs
-                                  '(:cljs-repl-type shadow) server-buffer)))
-              (expect (buffer-local-value 'cider-repl-type client-buffer)
-                      :to-equal 'cljs)
-              (expect (buffer-local-value 'cider-repl-cljs-upgrade-pending 
client-buffer)
-                      :to-equal t)
-              (expect (buffer-local-value 'cider-repl-init-function 
client-buffer)
-                      :not :to-be nil)
-              (delete-process (get-buffer-process client-buffer)))))
-      (it "for a custom cljs REPL type project"
-          (cider-register-cljs-repl-type 'native-cljs)
-          (let* ((server-process (nrepl-start-mock-server-process))
-                 (server-buffer (process-buffer server-process)))
-            ;; wait for the connection to be established
-            (nrepl-tests-poll-until (local-variable-p 'nrepl-endpoint 
server-buffer) 5)
-            (let ((client-buffer (cider-connect-sibling-cljs
-                                  '(:cljs-repl-type native-cljs)
-                                  server-buffer)))
-              (expect (buffer-local-value 'cider-repl-type client-buffer)
-                      :to-equal 'cljs)
-              (expect (buffer-local-value 'cider-repl-cljs-upgrade-pending 
client-buffer)
-                      :to-equal nil)
-              (delete-process (get-buffer-process client-buffer)))))
-      (it "for a custom REPL type project that needs to switch to cljs"
-          (cider-register-cljs-repl-type
-           'not-cljs-initially "(form-to-switch-to-cljs-repl)")
-          (let* ((server-process (nrepl-start-mock-server-process))
-                 (server-buffer (process-buffer server-process)))
-            ;; wait for the connection to be established
-            (nrepl-tests-poll-until (local-variable-p 'nrepl-endpoint 
server-buffer) 5)
-            (let ((client-buffer (cider-connect-sibling-cljs
-                                  '(:cljs-repl-type not-cljs-initially)
-                                  server-buffer)))
-              (expect (buffer-local-value 'cider-repl-type client-buffer)
-                      :to-equal 'cljs)
-              (expect (buffer-local-value 'cider-repl-cljs-upgrade-pending 
client-buffer)
-                      :to-equal t)
-              (expect (buffer-local-value 'cider-repl-init-function 
client-buffer)
-                      :not :to-be nil)
-              (delete-process (get-buffer-process client-buffer)))))))
+  (describe "sets nrepl client buffer local vars correctly"
+    ;; we only care to test in the below that some well specified local vars 
are
+    ;; set in the nREPL client buffer at start up. To do so, we bring up the
+    ;; mock server and call `cider-connect-sibling-cljs` to establish the
+    ;; connection.
+    (it "for a custom cljs REPL type project"
+      (with-temp-buffer
+        (cider-register-cljs-repl-type 'native-cljs)
+        (let* ((server-process (nrepl-start-mock-server-process))
+               (server-buffer (process-buffer server-process)))
+          ;; wait for the connection to be established
+          (nrepl-tests-poll-until (local-variable-p 'nrepl-endpoint 
server-buffer) 5)
+          (let ((client-buffer (cider-connect-sibling-cljs
+                                `(:cljs-repl-type native-cljs :repl-buffer 
,(current-buffer))
+                                server-buffer)))
+            (expect (buffer-local-value 'cider-repl-type client-buffer)
+                    :to-equal 'cljs)
+            (expect (buffer-local-value 'cider-repl-cljs-upgrade-pending 
client-buffer)
+                    :to-equal nil)
+            ;; kill server
+            (delete-process (get-buffer-process client-buffer))))))
+    (it "for a custom REPL type project that needs to switch to cljs"
+      (with-temp-buffer
+        (cider-register-cljs-repl-type
+         'not-cljs-initially "(form-to-switch-to-cljs-repl)")
+        (let* ((server-process (nrepl-start-mock-server-process))
+               (server-buffer (process-buffer server-process)))
+          ;; wait for the connection to be established
+          (nrepl-tests-poll-until (local-variable-p 'nrepl-endpoint 
server-buffer) 5)
+          (let ((client-buffer (cider-connect-sibling-cljs
+                                `(:cljs-repl-type not-cljs-initially
+                                  :repl-buffer ,(current-buffer))
+                                server-buffer)))
+            (expect (buffer-local-value 'cider-repl-type client-buffer)
+                    :to-equal 'cljs)
+            (expect (buffer-local-value 'cider-repl-cljs-upgrade-pending 
client-buffer)
+                    :to-equal t)
+            (expect (buffer-local-value 'cider-repl-init-function 
client-buffer)
+                    :not :to-be nil)
+            ;; kill server
+            (delete-process (get-buffer-process client-buffer))))))))
 
 (provide 'cider-tests)
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]