diff options
Diffstat (limited to 'test/automated/tabulated-list-test.el')
-rw-r--r-- | test/automated/tabulated-list-test.el | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/test/automated/tabulated-list-test.el b/test/automated/tabulated-list-test.el deleted file mode 100644 index 0fb8dee7fd1..00000000000 --- a/test/automated/tabulated-list-test.el +++ /dev/null @@ -1,118 +0,0 @@ -;;; tabulated-list-test.el --- Tests for emacs-lisp/tabulated-list.el -*- lexical-binding: t; -*- - -;; Copyright (C) 2015-2016 Free Software Foundation, Inc. - -;; Author: Artur Malabarba <bruce.connor.am@gmail.com> - -;; 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/>. - -;;; Code: - -(require 'tabulated-list) -(require 'ert) - -(defconst tabulated-list--test-entries - '(("zzzz-game" ["zzzz-game" "zzzz-game" "2113" "installed" " play zzzz in Emacs"]) - ("4clojure" ["4clojure" "4clojure" "1507" "obsolete" " Open and evaluate 4clojure.com questions"]) - ("abc-mode" ["abc-mode" "abc-mode" "944" "available" " Major mode for editing abc music files"]) - ("mode" ["mode" "mode" "1128" "installed" " A simple mode for editing Actionscript 3 files"]))) - -(defun tabulated-list--test-sort-car (a b) - (string< (car a) (car b))) - -(defconst tabulated-list--test-format - [("name" 10 tabulated-list--test-sort-car) - ("name-2" 10 t) - ("Version" 9 nil) - ("Status" 10 ) - ("Description" 0 nil)]) - -(defmacro tabulated-list--test-with-buffer (&rest body) - `(with-temp-buffer - (tabulated-list-mode) - (setq tabulated-list-entries (copy-alist tabulated-list--test-entries)) - (setq tabulated-list-format tabulated-list--test-format) - (setq tabulated-list-padding 7) - (tabulated-list-init-header) - (tabulated-list-print) - ,@body)) - - -;;; Tests -(ert-deftest tabulated-list-print () - (tabulated-list--test-with-buffer - ;; Basic printing. - (should (string= (buffer-substring-no-properties (point-min) (point-max)) - " zzzz-game zzzz-game 2113 installed play zzzz in Emacs - 4clojure 4clojure 1507 obsolete Open and evaluate 4clojure.com questions - abc-mode abc-mode 944 available Major mode for editing abc music files - mode mode 1128 installed A simple mode for editing Actionscript 3 files\n")) - ;; Preserve position. - (forward-line 3) - (let ((pos (thing-at-point 'line))) - (pop tabulated-list-entries) - (tabulated-list-print t) - (should (equal (thing-at-point 'line) pos)) - (should (string= (buffer-substring-no-properties (point-min) (point-max)) - " 4clojure 4clojure 1507 obsolete Open and evaluate 4clojure.com questions - abc-mode abc-mode 944 available Major mode for editing abc music files - mode mode 1128 installed A simple mode for editing Actionscript 3 files\n")) - ;; Check the UPDATE argument - (pop tabulated-list-entries) - (setf (cdr (car tabulated-list-entries)) (list ["x" "x" "944" "available" " XX"])) - (tabulated-list-print t t) - (should (string= (buffer-substring-no-properties (point-min) (point-max)) - " x x 944 available XX - mode mode 1128 installed A simple mode for editing Actionscript 3 files\n")) - (should (equal (thing-at-point 'line) pos))))) - -(ert-deftest tabulated-list-sort () - (tabulated-list--test-with-buffer - ;; Basic sorting - (goto-char (point-min)) - (skip-chars-forward "[:blank:]") - (tabulated-list-sort) - (let ((text (buffer-substring-no-properties (point-min) (point-max)))) - (should (string= text " 4clojure 4clojure 1507 obsolete Open and evaluate 4clojure.com questions - abc-mode abc-mode 944 available Major mode for editing abc music files - mode mode 1128 installed A simple mode for editing Actionscript 3 files - zzzz-game zzzz-game 2113 installed play zzzz in Emacs\n")) - - (skip-chars-forward "^[:blank:]") - (skip-chars-forward "[:blank:]") - (should (equal (get-text-property (point) 'tabulated-list-column-name) - "name-2")) - (tabulated-list-sort) - ;; Check a `t' as the sorting predicate. - (should (string= text (buffer-substring-no-properties (point-min) (point-max)))) - ;; Invert. - (tabulated-list-sort 1) - (should (string= (buffer-substring-no-properties (point-min) (point-max)) - " zzzz-game zzzz-game 2113 installed play zzzz in Emacs - mode mode 1128 installed A simple mode for editing Actionscript 3 files - abc-mode abc-mode 944 available Major mode for editing abc music files - 4clojure 4clojure 1507 obsolete Open and evaluate 4clojure.com questions\n")) - ;; Again - (tabulated-list-sort 1) - (should (string= text (buffer-substring-no-properties (point-min) (point-max))))) - ;; Check that you can't sort some cols. - (skip-chars-forward "^[:blank:]") - (skip-chars-forward "[:blank:]") - (should-error (tabulated-list-sort) :type 'user-error) - (should-error (tabulated-list-sort 4) :type 'user-error))) - -(provide 'tabulated-list-test) -;;; tabulated-list-test.el ends here |