diff options
Diffstat (limited to 'test/automated/sgml-mode-tests.el')
-rw-r--r-- | test/automated/sgml-mode-tests.el | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/test/automated/sgml-mode-tests.el b/test/automated/sgml-mode-tests.el deleted file mode 100644 index 4184e2c3802..00000000000 --- a/test/automated/sgml-mode-tests.el +++ /dev/null @@ -1,135 +0,0 @@ -;;; sgml-mode-tests.el --- Tests for sgml-mode - -;; Copyright (C) 2015-2016 Free Software Foundation, Inc. - -;; Author: Przemysław Wojnowski <esperanto@cumego.com> -;; Keywords: tests - -;; This file is part of GNU Emacs. - -;; GNU Emacs 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. - -;; GNU Emacs 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 GNU Emacs. If not, see <http://www.gnu.org/licenses/>. - -;;; Commentary: - -;;; Code: - -(require 'sgml-mode) -(require 'ert) - -(defmacro sgml-with-content (content &rest body) - "Insert CONTENT into a temporary `sgml-mode' buffer and execute BODY on it. -The point is set to the beginning of the buffer." - `(with-temp-buffer - (sgml-mode) - (insert ,content) - (goto-char (point-min)) - ,@body)) - -;;; sgml-delete-tag - -(ert-deftest sgml-delete-tag-should-not-delete-tags-when-wrong-args () - "Don't delete tag, when number of tags to delete is not positive number." - (let ((content "<p>Valar Morghulis</p>")) - (sgml-with-content - content - (sgml-delete-tag -1) - (should (string= content (buffer-string))) - (sgml-delete-tag 0) - (should (string= content (buffer-string)))))) - -(ert-deftest sgml-delete-tag-should-delete-tags-n-times () - ;; Delete only 1, when 1 available: - (sgml-with-content - "<br />" - (sgml-delete-tag 1) - (should (string= "" (buffer-string)))) - ;; Delete from position on whitespaces before tag: - (sgml-with-content - " \t\n<br />" - (sgml-delete-tag 1) - (should (string= "" (buffer-string)))) - ;; Delete from position on tag: - (sgml-with-content - "<br />" - (goto-char 3) - (sgml-delete-tag 1) - (should (string= "" (buffer-string)))) - ;; Delete one by one: - (sgml-with-content - "<h1><p>You know nothing, Jon Snow.</p></h1>" - (sgml-delete-tag 1) - (should (string= "<p>You know nothing, Jon Snow.</p>" (buffer-string))) - (sgml-delete-tag 1) - (should (string= "You know nothing, Jon Snow." (buffer-string)))) - ;; Delete 2 at a time, when 2 available: - (sgml-with-content - "<h1><p>You know nothing, Jon Snow.</p></h1>" - (sgml-delete-tag 2) - (should (string= "You know nothing, Jon Snow." (buffer-string))))) - -(ert-deftest sgml-delete-tag-should-delete-unclosed-tag () - (sgml-with-content - "<ul><li>Keep your stones connected.</ul>" - (goto-char 5) ; position on "li" tag - (sgml-delete-tag 1) - (should (string= "<ul>Keep your stones connected.</ul>" (buffer-string))))) - -(ert-deftest sgml-delete-tag-should-signal-error-for-malformed-tags () - (let ((content "<h1><h2>Drakaris!</h1></h2>")) - ;; Delete outside tag: - (sgml-with-content - content - (sgml-delete-tag 1) - (should (string= "<h2>Drakaris!</h2>" (buffer-string)))) - ;; Delete inner tag: - (sgml-with-content - content - (goto-char 5) ; position the inner tag - (sgml-delete-tag 1) - (should (string= "<h1>Drakaris!</h1>" (buffer-string)))))) - -(ert-deftest sgml-delete-tag-should-signal-error-when-deleting-too-much () - (let ((content "<emph>Drakaris!</emph>")) - ;; No tags to delete: - (sgml-with-content - "Drakaris!" - (should-error (sgml-delete-tag 1) :type 'error) - (should (string= "Drakaris!" (buffer-string)))) - ;; Trying to delete 2 tags, when only 1 available: - (sgml-with-content - content - (should-error (sgml-delete-tag 2) :type 'error) - (should (string= "Drakaris!" (buffer-string)))) - ;; Trying to delete a tag, but not on/before a tag: - (sgml-with-content - content - (goto-char 7) ; D in Drakaris - (should-error (sgml-delete-tag 1) :type 'error) - (should (string= content (buffer-string)))) - ;; Trying to delete a tag from position outside tag: - (sgml-with-content - content - (goto-char (point-max)) - (should-error (sgml-delete-tag 1) :type 'error) - (should (string= content (buffer-string)))))) - -(ert-deftest sgml-delete-tag-bug-8203-should-not-delete-apostrophe () - :expected-result :failed - (sgml-with-content - "<title>Winter is comin'</title>" - (sgml-delete-tag 1) - (should (string= "Winter is comin'" (buffer-string))))) - -(provide 'sgml-mode-tests) -;;; sgml-mode-tests.el ends here |