X-Git-Url: https://code.delx.au/gnu-emacs-elpa/blobdiff_plain/7d0348f081468e6af68879721190da7996e09c6e..900ae0d7a2270ea1d2ea00567e80a619333fd4e5:/company-tests.el diff --git a/company-tests.el b/company-tests.el index bb1e65482..f0d669d11 100644 --- a/company-tests.el +++ b/company-tests.el @@ -1,13 +1,36 @@ -(require 'ert) +;;; company-tests.el --- company-mode test helpers -*- lexical-binding: t -*- + +;; Copyright (C) 2011, 2013-2014 Free Software Foundation, Inc. + +;; Author: Dmitry Gutov + +;; 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 . + (require 'company) -(require 'company-keywords) - -(ert-deftest sorted-keywords () - "Test that keywords in `company-keywords-alist' are in alphabetical order." - (dolist (pair company-keywords-alist) - (when (consp (cdr pair)) - (let ((prev (cadr pair))) - (dolist (next (cddr pair)) - (should (not (equal prev next))) - (should (string< prev next)) - (setq prev next)))))) + +(defun company--column (&optional pos) + (car (company--col-row pos))) + +(defun company-call (name &rest args) + (let* ((maybe (intern (format "company-%s" name))) + (command (if (fboundp maybe) maybe name))) + (let ((this-command command)) + (run-hooks 'pre-command-hook)) + (apply command args) + (let ((this-command command)) + (run-hooks 'post-command-hook)))) + +(provide 'company-tests)