diff --git a/testing/lisp/test-ob-python.el b/testing/lisp/test-ob-python.el index ab2f7aaf3..48ca3d640 100644 --- a/testing/lisp/test-ob-python.el +++ b/testing/lisp/test-ob-python.el @@ -24,7 +24,9 @@ (signal 'missing-test-dependency "Support for Python code blocks")) (ert-deftest test-ob-python/colnames-yes-header-argument () - (org-test-with-temp-text "#+name: eg + (should + (equal '(("col") hline ("a") ("b")) + (org-test-with-temp-text "#+name: eg | col | |-----| | a | @@ -32,30 +34,30 @@ #+header: :colnames yes #+header: :var x = eg -#+begin_src python +#+begin_src python return x #+end_src" - (org-babel-next-src-block) - (should (equal '(("col") hline ("a") ("b")) - (org-babel-execute-src-block))))) + (org-babel-execute-src-block))))) (ert-deftest test-ob-python/colnames-yes-header-argument-again () - (org-test-with-temp-text "#+name: less-cols + (should + (equal '(("a") hline ("b*") ("c*")) + (org-test-with-temp-text "#+name: less-cols | a | |---| | b | | c | #+header: :colnames yes -#+begin_src python :var tab=less-cols +#+begin_src python :var tab=less-cols return [[val + '*' for val in row] for row in tab] #+end_src" - (org-babel-next-src-block) - (should (equal '(("a") hline ("b*") ("c*")) - (org-babel-execute-src-block))))) + (org-babel-execute-src-block))))) (ert-deftest test-ob-python/colnames-nil-header-argument () - (org-test-with-temp-text "#+name: eg + (should + (equal '(("col") hline ("a") ("b")) + (org-test-with-temp-text "#+name: eg | col | |-----| | a | @@ -63,30 +65,30 @@ return x #+header: :colnames nil #+header: :var x = eg -#+begin_src python +#+begin_src python return x #+end_src" - (org-babel-next-src-block) - (should (equal '(("col") hline ("a") ("b")) - (org-babel-execute-src-block))))) + (org-babel-execute-src-block))))) (ert-deftest test-ob-python/colnames-no-header-argument-again () - (org-test-with-temp-text "#+name: less-cols + (should + (equal '(("a*") ("b*") ("c*")) + (org-test-with-temp-text "#+name: less-cols | a | |---| | b | | c | #+header: :colnames no -#+begin_src python :var tab=less-cols +#+begin_src python :var tab=less-cols return [[val + '*' for val in row] for row in tab] #+end_src" - (org-babel-next-src-block) - (should (equal '(("a*") ("b*") ("c*")) - (org-babel-execute-src-block))))) + (org-babel-execute-src-block))))) (ert-deftest test-ob-python/colnames-no-header-argument () - (org-test-with-temp-text "#+name: eg + (should + (equal '(("col") ("a") ("b")) + (org-test-with-temp-text "#+name: eg | col | |-----| | a | @@ -94,19 +96,18 @@ return x #+header: :colnames no #+header: :var x = eg -#+begin_src python +#+begin_src python return x #+end_src" - (org-babel-next-src-block) - (should (equal '(("col") ("a") ("b")) - (org-babel-execute-src-block))))) + (org-babel-execute-src-block))))) (ert-deftest test-ob-python/session-multiline () ;; FIXME workaround to prevent starting prompt leaking into output (run-python) (sleep-for 0 10) - (org-test-with-temp-text " -#+begin_src python :session :results output + (should + (equal "20" + (org-test-with-temp-text "#+begin_src python :session :results output foo = 0 for _ in range(10): foo += 1 @@ -115,26 +116,28 @@ return x print(foo) #+end_src" - (org-babel-next-src-block) - (should (equal "20" (org-babel-execute-src-block))))) + (org-babel-execute-src-block))))) (ert-deftest test-ob-python/insert-necessary-blank-line-when-sending-code-to-interpreter () - (org-test-with-temp-text "#+begin_src python :session :results value + (should + (equal 2 (org-test-with-temp-text "#+begin_src python :session :results value if True: 1 2 #+end_src" - ;; Previously, while adding `:session' to a normal code block, also need to add extra blank lines - ;; to end indent block or indicate logical sections. Now, the `org-babel-python-evaluate-session' - ;; can do it automatically: - ;; >>> if True: - ;; >>> 1 - ;; >>> - ;; >>> 2 - (org-babel-execute-maybe) - (should (equal 2 (org-babel-execute-src-block))))) + ;; Previously, while adding `:session' to a normal code + ;; block, also need to add extra blank lines to end + ;; indent block or indicate logical sections. Now, the + ;; `org-babel-python-evaluate-session' can do it + ;; automatically: + ;; + ;; >>> if True: + ;; >>> 1 + ;; >>> + ;; >>> 2 + (org-babel-execute-maybe) + (org-babel-execute-src-block))))) (provide 'test-ob-python) ;;; test-ob-python.el ends here -