mirror of
https://github.com/vale981/emacs-jupyter
synced 2025-03-05 23:41:38 -05:00
Ensure a monadic value is returned from a call to jupyter-mlet*
This commit is contained in:
parent
6c55e5bae5
commit
b07f9c5cfe
2 changed files with 27 additions and 14 deletions
|
@ -1827,7 +1827,8 @@ the updated state."
|
|||
(save-excursion
|
||||
(goto-char (point-max))
|
||||
(jupyter-repl-update-cell-count
|
||||
(oref client execution-count))))))))
|
||||
(oref client execution-count)))))
|
||||
(jupyter-return-delayed nil))))
|
||||
|
||||
;;; `jupyter-repl-interaction-mode'
|
||||
|
||||
|
|
|
@ -387,21 +387,24 @@
|
|||
(jupyter-kernel-info-request))))
|
||||
(should res)
|
||||
(should (json-plist-p res))
|
||||
(should (string= (jupyter-message-type res) "kernel_info_reply")))))
|
||||
(should (string= (jupyter-message-type res) "kernel_info_reply"))
|
||||
(jupyter-return-delayed nil))))
|
||||
(ert-info ("Comm info")
|
||||
(jupyter-run-with-client client
|
||||
(jupyter-mlet* ((res (jupyter-reply
|
||||
(jupyter-comm-info-request))))
|
||||
(should-not (null res))
|
||||
(should (json-plist-p res))
|
||||
(should (string= (jupyter-message-type res) "comm_info_reply")))))
|
||||
(should (string= (jupyter-message-type res) "comm_info_reply"))
|
||||
(jupyter-return-delayed nil))))
|
||||
(ert-info ("Execute")
|
||||
(jupyter-run-with-client client
|
||||
(jupyter-mlet* ((res (jupyter-reply
|
||||
(jupyter-execute-request :code "y = 1 + 2"))))
|
||||
(should-not (null res))
|
||||
(should (json-plist-p res))
|
||||
(should (string= (jupyter-message-type res) "execute_reply")))))
|
||||
(should (string= (jupyter-message-type res) "execute_reply"))
|
||||
(jupyter-return-delayed nil))))
|
||||
(ert-info ("Input")
|
||||
(cl-letf (((symbol-function 'read-from-minibuffer)
|
||||
(lambda (_prompt &rest _args) "foo")))
|
||||
|
@ -413,7 +416,8 @@
|
|||
(should-not (null res))
|
||||
(should (json-plist-p res))
|
||||
(should (string= (jupyter-message-type res) "execute_result"))
|
||||
(should (equal (jupyter-message-data res :text/plain) "'foo'")))))))
|
||||
(should (equal (jupyter-message-data res :text/plain) "'foo'"))
|
||||
(jupyter-return-delayed nil))))))
|
||||
(ert-info ("Inspect")
|
||||
(jupyter-run-with-client client
|
||||
(jupyter-mlet* ((res (jupyter-reply
|
||||
|
@ -423,7 +427,8 @@
|
|||
:detail 0))))
|
||||
(should-not (null res))
|
||||
(should (json-plist-p res))
|
||||
(should (string= (jupyter-message-type res) "inspect_reply")))))
|
||||
(should (string= (jupyter-message-type res) "inspect_reply"))
|
||||
(jupyter-return-delayed nil))))
|
||||
(ert-info ("Complete")
|
||||
(jupyter-run-with-client client
|
||||
(jupyter-mlet* ((res (jupyter-reply
|
||||
|
@ -432,7 +437,8 @@
|
|||
:pos 8))))
|
||||
(should-not (null res))
|
||||
(should (json-plist-p res))
|
||||
(should (string= (jupyter-message-type res) "complete_reply")))))
|
||||
(should (string= (jupyter-message-type res) "complete_reply"))
|
||||
(jupyter-return-delayed nil))))
|
||||
(ert-info ("History")
|
||||
(jupyter-run-with-client client
|
||||
(jupyter-mlet* ((res (jupyter-reply
|
||||
|
@ -440,7 +446,8 @@
|
|||
:hist-access-type "tail" :n 2))))
|
||||
(should-not (null res))
|
||||
(should (json-plist-p res))
|
||||
(should (string= (jupyter-message-type res) "history_reply")))))
|
||||
(should (string= (jupyter-message-type res) "history_reply"))
|
||||
(jupyter-return-delayed nil))))
|
||||
(ert-info ("Is Complete")
|
||||
(jupyter-run-with-client client
|
||||
(jupyter-mlet* ((res (jupyter-reply
|
||||
|
@ -448,7 +455,8 @@
|
|||
:code "for i in range(5):"))))
|
||||
(should-not (null res))
|
||||
(should (json-plist-p res))
|
||||
(should (string= (jupyter-message-type res) "is_complete_reply")))))
|
||||
(should (string= (jupyter-message-type res) "is_complete_reply"))
|
||||
(jupyter-return-delayed nil))))
|
||||
(ert-info ("Shutdown")
|
||||
(jupyter-run-with-client client
|
||||
(jupyter-mlet* ((res (jupyter-reply
|
||||
|
@ -457,7 +465,7 @@
|
|||
(should (json-plist-p res))
|
||||
(should (string= (jupyter-message-type res) "shutdown_reply"))
|
||||
;; TODO: Ensure we give the kernel process time to die off
|
||||
)))))
|
||||
(jupyter-return-delayed nil))))))
|
||||
|
||||
(ert-deftest jupyter-message-lambda ()
|
||||
:tags '(messages)
|
||||
|
@ -865,7 +873,8 @@
|
|||
req (jupyter-test-message
|
||||
req "stream" (list :name "stdout" :text "foo"))))
|
||||
(should-error (jupyter-kernel-info-request
|
||||
:handlers '(not "foo")))))))
|
||||
:handlers '(not "foo")))
|
||||
(jupyter-return-delayed nil)))))
|
||||
|
||||
(ert-deftest jupyter-eval ()
|
||||
:tags '(client)
|
||||
|
@ -921,7 +930,8 @@
|
|||
(jupyter-mlet* ((req (jupyter-sent (jupyter-execute-request :code "1 + 1"))))
|
||||
(should-not (jupyter-request-idle-p req))
|
||||
(jupyter-idle-sync req)
|
||||
(should (jupyter-request-idle-p req))))
|
||||
(should (jupyter-request-idle-p req))
|
||||
(jupyter-return-delayed nil)))
|
||||
(jupyter-run-with-client client
|
||||
(jupyter-mlet* ((req (jupyter-sent (jupyter-execute-request :code "1 + 1"))))
|
||||
(should (null jupyter-test-idle-sync-hook))
|
||||
|
@ -930,7 +940,8 @@
|
|||
(should-not (jupyter-request-idle-p req))
|
||||
(run-hooks 'jupyter-test-idle-sync-hook)
|
||||
(should (jupyter-request-idle-p req))
|
||||
(should (null jupyter-test-idle-sync-hook))))))
|
||||
(should (null jupyter-test-idle-sync-hook))
|
||||
(jupyter-return-delayed nil)))))
|
||||
|
||||
;;; IOloop
|
||||
|
||||
|
@ -1104,7 +1115,8 @@
|
|||
(jupyter-sent (jupyter-execute-request :code "1 + 1"))))
|
||||
(res (jupyter-result
|
||||
(jupyter-execute-request :code "1 + 1"))))
|
||||
(should (equal (jupyter-message-data res :text/plain) "2"))))
|
||||
(should (equal (jupyter-message-data res :text/plain) "2"))
|
||||
(jupyter-return-delayed nil)))
|
||||
(jupyter-shutdown-kernel client))))
|
||||
|
||||
;;; Completion
|
||||
|
|
Loading…
Add table
Reference in a new issue