Skip to content

Commit

Permalink
Use (elpy-enable) in tests, to ensure everything is set properly
Browse files Browse the repository at this point in the history
  • Loading branch information
galaunay committed Nov 10, 2019
1 parent 161b498 commit 91a6ccc
Show file tree
Hide file tree
Showing 37 changed files with 116 additions and 92 deletions.
13 changes: 13 additions & 0 deletions elpy.el
Original file line number Diff line number Diff line change
Expand Up @@ -3506,6 +3506,19 @@ which we're looking."
(defun python-info-encoding ()
'utf-8))

;; first-prompt-hook has been added in emacs 25.
;; for earlier versions, make sure Elpy's setup code is
;; send to the python shell
;; (it is sent just after the shell creation, which
;; is not ideal as we don't know if the shell is ready,
;; but that should work for non-exotic interpreters).
(unless (boundp 'python-shell-first-prompt-hook)
(setq python-shell--first-prompt-received t)
(defvar python-shell-first-prompt-hook ())
(add-hook 'inferior-python-mode
(lambda ()
(run-hooks python-shell-first-prompt-hook))))

;; Added in Emacs 25
(unless (fboundp 'python-shell-comint-end-of-output-p)
(defun python-shell-comint-end-of-output-p (output)
Expand Down
15 changes: 5 additions & 10 deletions test/elpy-company-backend-test.el
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,23 @@

(ert-deftest elpy-company-backend-should-find-no-prefix-in-string ()
(elpy-testcase ()
(elpy-modules-run 'global-init)
(elpy-enable)
(python-mode)
(elpy-mode)
(insert "# hello")
(should-not (elpy-company-backend 'prefix))))

(ert-deftest elpy-company-backend-should-find-simple-prefix-string ()
(elpy-testcase ()
(elpy-modules-run 'global-init)
(elpy-enable)
(python-mode)
(elpy-mode)
(insert "hello")
(should (equal (elpy-company-backend 'prefix)
"hello"))))

(ert-deftest elpy-company-backend-should-find-full-prefix-string ()
(elpy-testcase ()
(elpy-modules-run 'global-init)
(elpy-enable)
(python-mode)
(elpy-mode)
(insert "hello.world")
(should (equal (elpy-company-backend 'prefix)
'("world" . t)))))
Expand Down Expand Up @@ -120,9 +117,8 @@

(ert-deftest elpy-company-backend-should-add-shell-candidates ()
(elpy-testcase ()
(elpy-modules-run 'global-init)
(elpy-enable)
(python-mode)
(elpy-mode)
(let ((elpy-get-info-from-shell t)
(elpy-get-info-from-shell-timeout 10))
(insert "variable_script = 3\n")
Expand Down Expand Up @@ -154,9 +150,8 @@

(ert-deftest elpy-company-backend-should-not-add-shell-candidates ()
(elpy-testcase ()
(elpy-modules-run 'global-init)
(elpy-enable)
(python-mode)
(elpy-mode)
(insert "variable_script = 3\n")
(insert "def function_script(a): print(a)\n")
(elpy-shell-get-or-create-process)
Expand Down
2 changes: 1 addition & 1 deletion test/elpy-config-test.el
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
(ert-deftest elpy-config-should-show-flake8-pip-button-when-no-syntax-checker-available ()
(elpy-testcase ()
(mletf* ((elpy-syntax-check-command "/foo/bar/flake8"))
(elpy-enable)
(python-mode)
(elpy-mode)
(elpy-config)
(let ((output (with-current-buffer "*Elpy Config*"
(elpy/wait-for-output "Options")
Expand Down
4 changes: 2 additions & 2 deletions test/elpy-doc-test.el
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,17 @@

(ert-deftest elpy-doc ()
(elpy-testcase ()
(elpy-enable)
(python-mode)
(elpy-mode)
(insert "sys")
(elpy-doc)
(with-current-buffer "*Python Doc*"
(should (re-search-forward "This module provides access")))))

(ert-deftest elpy-doc-should-find-documentation-from-inside-arguments ()
(elpy-testcase ()
(elpy-enable)
(python-mode)
(elpy-mode)
(insert "import socket\n"
"socket.getaddrinfo(socket.gethostname(")
(save-excursion
Expand Down
2 changes: 1 addition & 1 deletion test/elpy-keymap-test.el
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(ert-deftest elpy-shell-prefix-key-should-be-changed-when-customized ()
(elpy-testcase ()
(elpy-enable)
(python-mode)
(elpy-mode)
(customize-set-variable 'elpy-shell-command-prefix-key "C-c C-a")
(should (equal elpy-shell-command-prefix-key "C-c C-a"))
(should (equal (key-binding (kbd "C-c C-a")) 'elpy-shell-map))
Expand Down
5 changes: 3 additions & 2 deletions test/elpy-module-autodoc-test.el
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ def fun2():
(elpy-testcase ()
(let ((elpy-autodoc-delay 0.01))
(add-to-list 'elpy-modules 'elpy-module-autodoc)
(elpy-enable)
(python-mode)
(elpy-mode)
(elpy-doc-test-insert-functions)
(insert "fun1")
(elpy-doc)
Expand All @@ -32,6 +32,7 @@ def fun2():
(ert-deftest elpy-doc-should-not-be-updated-if-doc-not-visible ()
(elpy-testcase ()
(let ((elpy-autodoc-delay 0.01))
(elpy-enable)
(add-to-list 'elpy-modules 'elpy-module-autodoc)
(python-mode)
(elpy-doc-test-insert-functions)
Expand All @@ -49,9 +50,9 @@ def fun2():
(ert-deftest elpy-doc-should-not-be-updated-if-deactivated ()
(elpy-testcase ()
(let ((elpy-autodoc-delay 0.01))
(elpy-enable)
(add-to-list 'elpy-modules 'elpy-module-autodoc)
(python-mode)
(elpy-mode)
(setq elpy-autodoc-delay nil)
(elpy-doc-test-insert-functions)
(insert "fun1")
Expand Down
4 changes: 1 addition & 3 deletions test/elpy-module-company-test.el
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
(ert-deftest elpy-module-company ()
(elpy-testcase ()
(elpy-module-company 'global-init)
(elpy-enable)
(python-mode)
(elpy-mode)
(elpy-module-company 'buffer-init)

(should company-mode)
(should (< (abs (- company-idle-delay 0.1))
Expand Down
4 changes: 1 addition & 3 deletions test/elpy-module-sane-defaults-test.el
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
(ert-deftest elpy-module-sane-defaults-buffer-init ()
(elpy-testcase ()
(elpy-enable)
(python-mode)
(elpy-mode)

(elpy-module-sane-defaults 'buffer-init)

(should (eq forward-sexp-function nil))
(should (= comment-inline-offset 2))))
6 changes: 2 additions & 4 deletions test/elpy-module-yasnippet-test.el
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,15 @@

(ert-deftest elpy-module-yasnippet-buffer-init ()
(elpy-testcase ()
(elpy-enable)
(python-mode)
(elpy-mode)

(elpy-module-yasnippet 'buffer-init)

(should yas-minor-mode)))

(ert-deftest elpy-module-yasnippet-buffer-stop ()
(elpy-testcase ()
(elpy-enable)
(python-mode)
(elpy-mode)
(yas-minor-mode 1)

(elpy-module-yasnippet 'buffer-stop)
Expand Down
2 changes: 1 addition & 1 deletion test/elpy-pdb-clear-breakpoints-test.el
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
(elpy-testcase ((:project project-root "test.py")
(:emacs-required "25.0"))
(find-file (f-join project-root "test.py"))
(elpy-enable)
(python-mode)
(elpy-mode 1)
(insert "def foo(a):\n"
" b = 1 + 2\n"
" c = a/B\n"
Expand Down
4 changes: 2 additions & 2 deletions test/elpy-pdb-debug-buffer-and-break-at-point-test.el
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
(elpy-testcase ((:project project-root "test.py")
(:emacs-required "25.0"))
(find-file (f-join project-root "test.py"))
(elpy-enable)
(python-mode)
(elpy-mode 1)
(insert "def foo(a):\n"
" b = 1 + 2\n"
" c = a/b\n"
Expand All @@ -22,8 +22,8 @@
(elpy-testcase ((:project project-root "test.py")
(:emacs-required "25.0"))
(find-file (f-join project-root "test.py"))
(elpy-enable)
(python-mode)
(elpy-mode 1)
(insert "def foo(a):\n"
" b = 1 + 2\n"
" c = a/b\n"
Expand Down
6 changes: 3 additions & 3 deletions test/elpy-pdb-debug-buffer-from-beginning-test.el
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
(elpy-testcase ((:project project-root "test.py")
(:emacs-required "25.0"))
(find-file (f-join project-root "test.py"))
(elpy-enable)
(python-mode)
(elpy-mode 1)
(insert "def foo(a):\n"
" b = 1 + 2\n"
" c = a/b\n"
Expand All @@ -20,8 +20,8 @@
(elpy-testcase ((:project project-root "test.py")
(:emacs-required "25.0"))
(find-file (f-join project-root "test.py"))
(elpy-enable)
(python-mode)
(elpy-mode 1)
(insert "def foo(a):\n"
" b = 1 + 2\n"
" c = a/b\n"
Expand All @@ -41,8 +41,8 @@
(elpy-testcase ((:project project-root "test.py")
(:emacs-required "25.0"))
(find-file (f-join project-root "test.py"))
(elpy-enable)
(python-mode)
(elpy-mode 1)
(insert "def foo(a):\n"
" b = 1 + 2\n"
" c = a/b\n"
Expand Down
8 changes: 4 additions & 4 deletions test/elpy-pdb-debug-buffer-test.el
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
(elpy-testcase ((:project project-root "test.py")
(:emacs-required "25.0"))
(find-file (f-join project-root "test.py"))
(elpy-enable)
(python-mode)
(elpy-mode 1)
(insert "def foo(a):\n"
" b = 1 + 2\n"
" c = a/b\n"
Expand All @@ -20,8 +20,8 @@
(elpy-testcase ((:project project-root "test.py")
(:emacs-required "25.0"))
(find-file (f-join project-root "test.py"))
(elpy-enable)
(python-mode)
(elpy-mode 1)
(insert "def foo(a):\n"
" b = 1 + 2\n"
" c = a/b\n"
Expand All @@ -41,8 +41,8 @@
(elpy-testcase ((:project project-root "test.py")
(:emacs-required "25.0"))
(find-file (f-join project-root "test.py"))
(elpy-enable)
(python-mode)
(elpy-mode 1)
(insert "def foo(a):\n"
" b = 1 + 2\n"
" c = a/b\n"
Expand Down Expand Up @@ -70,8 +70,8 @@
(elpy-testcase ((:project project-root "test.py")
(:emacs-required "25.0"))
(find-file (f-join project-root "test.py"))
(elpy-enable)
(python-mode)
(elpy-mode 1)
(insert "def foo(a):\n"
" b = 1 + 2\n"
" c = a/b\n"
Expand Down
4 changes: 2 additions & 2 deletions test/elpy-pdb-debug-last-exception-test.el
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
(elpy-testcase ((:project project-root "test.py")
(:emacs-required "25.0"))
(find-file (f-join project-root "test.py"))
(elpy-enable)
(python-mode)
(elpy-mode 1)
(insert "def foo(a):\n"
" b = 1 + 2\n"
" c = a/B\n"
Expand All @@ -24,8 +24,8 @@
(elpy-testcase ((:project project-root "test.py")
(:emacs-required "25.0"))
(find-file (f-join project-root "test.py"))
(elpy-enable)
(python-mode)
(elpy-mode 1)
(insert "def foo(a):\n"
" b = 1 + 2\n"
" c = a/B\n"
Expand Down
4 changes: 2 additions & 2 deletions test/elpy-pdb-toggle-breakpoint-at-point-test.el
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
(elpy-testcase ((:project project-root "test.py")
(:emacs-required "25.0"))
(find-file (f-join project-root "test.py"))
(elpy-enable)
(python-mode)
(elpy-mode 1)
(insert "def foo(a):\n"
" b = 1 + 2\n"
" c = a/B\n"
Expand All @@ -24,8 +24,8 @@
(elpy-testcase ((:project project-root "test.py")
(:emacs-required "25.0"))
(find-file (f-join project-root "test.py"))
(elpy-enable)
(python-mode)
(elpy-mode 1)
(insert "def foo(a):\n"
" b = 1 + 2\n"
" c = a/B\n"
Expand Down
8 changes: 4 additions & 4 deletions test/elpy-profile.el
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
(ert-deftest elpy-profile-buffer-or-region-test-succeed ()
(elpy-testcase ((:project project-root "test.py"))
(find-file (f-join project-root "test.py"))
(elpy-enable)
(python-mode)
(elpy-mode)
(insert "a = 0\nfor i in range(10000):\n a += (i**2 + 1)**.5")
(let ((prof-file (elpy-profile-buffer-or-region nil t)))
(while (string= (get-message-last-line) "[test.py] Profiling ...")
Expand All @@ -21,8 +21,8 @@
(ert-deftest elpy-profile-buffer-or-region-test-fail ()
(elpy-testcase ((:project project-root "test.py"))
(find-file (f-join project-root "test.py"))
(elpy-enable)
(python-mode)
(elpy-mode)
(insert "a = 0\nfor i in range(10000):\n a += i**2 + 1)**.5")
(let ((prof-file (elpy-profile-buffer-or-region nil t)))
(while (string= (get-message-last-line) "[test.py] Profiling ...")
Expand All @@ -34,8 +34,8 @@
(ert-deftest elpy-profile-buffer-or-region-test-indir-succeed ()
(elpy-testcase ((:project project-root "test.py"))
(find-file (f-join project-root "test.py"))
(elpy-enable)
(python-mode)
(elpy-mode)
(insert "a = 0\nfor i in range(10000):\n a += (i**2 + 1)**.5")
(let ((prof-file (elpy-profile-buffer-or-region t t)))
(while (string= (get-message-last-line) "[test.py] Profiling ...")
Expand All @@ -47,8 +47,8 @@
(ert-deftest elpy-profile-buffer-or-region-test-indir-failed ()
(elpy-testcase ((:project project-root "test.py"))
(find-file (f-join project-root "test.py"))
(elpy-enable)
(python-mode)
(elpy-mode)
(insert "a = 0\nfor i in range(10000):\n a += i**2 + 1)**.5")
(let ((prof-file (elpy-profile-buffer-or-region t t)))
(while (string= (get-message-last-line) "[test.py] Profiling ...")
Expand Down
6 changes: 3 additions & 3 deletions test/elpy-rpc-get-completions-test.el
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
(elpy-testcase ((:project project-root "test.py")
(:emacs-required "25.1"))
(find-file (f-join project-root "test.py"))
(elpy-enable)
(python-mode)
(elpy-mode)
(insert "def addition(x, y):\n"
" return x + y\n"
"def addition2(x, y):\n"
Expand All @@ -37,8 +37,8 @@
(elpy-testcase ((:project project-root "test.py")
(:emacs-required "25.1"))
(find-file (f-join project-root "test.py"))
(elpy-enable)
(python-mode)
(elpy-mode)
(insert "def foo(x, y):\n"
" return x + y\n"
"a = 893")
Expand All @@ -49,8 +49,8 @@
(elpy-testcase ((:project project-root "test.py")
(:emacs-required "25.1"))
(find-file (f-join project-root "test.py"))
(elpy-enable)
(python-mode)
(elpy-mode)
(insert "def foo12345(x, y):\n"
" return x + y\n"
"a = foo12")
Expand Down
Loading

0 comments on commit 91a6ccc

Please sign in to comment.