From a0cb4a3edcd0f2851a98d4e542e3a5e4bf36568d Mon Sep 17 00:00:00 2001 From: Le Wang Date: Thu, 13 Dec 2012 23:46:40 +0800 Subject: [PATCH] add tests for org-src-edit --- testing/lisp/test-org-src.el | 98 ++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 testing/lisp/test-org-src.el diff --git a/testing/lisp/test-org-src.el b/testing/lisp/test-org-src.el new file mode 100644 index 000000000..42b0f9e95 --- /dev/null +++ b/testing/lisp/test-org-src.el @@ -0,0 +1,98 @@ +;;; test-org-src.el --- Tests for org-src.el + +;; Copyright (C) 2012 Le Wang + +;; Author: Le Wang + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + + +(require 'org-test) + + + +(ert-deftest test-org-src/basic () + "Editing regular block works. with point on + +#+begin_src line +" + (org-test-with-temp-text + " +#+begin_src emacs-lisp + (message hello) +#+end_src +" + (goto-line 2) + (org-edit-special) + (insert "blah") + (org-edit-src-exit) + (should (equal (buffer-string) " +#+begin_src emacs-lisp + blah(message hello) +#+end_src +")) + (should (equal (word-at-point) "blah")))) + +(ert-deftest test-org-src/point-outside-block () + "Editing with point before/after block signals expected error." + (org-test-with-temp-text + " +#+begin_src emacs-lisp + (message hello) +#+end_src +" + (goto-line 1) + (should-error (org-edit-special)) + (goto-char (point-max)) + (should-error (org-edit-special)))) + +(ert-deftest test-org-src/empty-block () + "Editing empty block." + (org-test-with-temp-text + " +#+begin_src emacs-lisp +#+end_src +" + (goto-line 2) + (org-edit-special) + (insert "blah") + (org-edit-src-exit) + (should (equal (buffer-string) " +#+begin_src emacs-lisp + blah +#+end_src +")) + (should (equal (word-at-point) "blah")))) + +(ert-deftest test-org-src/blank-line-block () + "Editing block with just a blank line." + (org-test-with-temp-text + " +#+begin_src emacs-lisp + +#+end_src +" + (goto-line 3) + (org-edit-special) + (insert "blah") + (org-edit-src-exit) + (should (equal (buffer-string) " +#+begin_src emacs-lisp + blah +#+end_src +")) + (should (equal (word-at-point) "blah")))) + +(provide 'test-org-src) +;;; test-org-src.el ends here