X-Git-Url: https://code.delx.au/gnu-emacs-elpa/blobdiff_plain/5ebcae8283b17198ce5f0ee94da7c38c11233259..971eea5ba3ff339ea6129cebff1fa2457fc9a6dc:/test/core-tests.el diff --git a/test/core-tests.el b/test/core-tests.el index 13e547e3d..89543b024 100644 --- a/test/core-tests.el +++ b/test/core-tests.el @@ -1,6 +1,6 @@ ;;; core-tests.el --- company-mode tests -*- lexical-binding: t -*- -;; Copyright (C) 2015 Free Software Foundation, Inc. +;; Copyright (C) 2015, 2016 Free Software Foundation, Inc. ;; Author: Dmitry Gutov @@ -153,6 +153,26 @@ (should (equal '("abb" "abc" "abd" "acc" "acd") (company-call-backend 'candidates "a")))))) +(ert-deftest company-multi-backend-handles-keyword-separate () + (let ((one (lambda (command &optional _) + (cl-case command + (prefix "a") + (candidates '("aa" "ca" "ba"))))) + (two (lambda (command &optional _) + (cl-case command + (prefix "a") + (candidates '("bb" "ab"))))) + (tri (lambda (command &optional _) + (cl-case command + (prefix "a") + (sorted t) + (candidates '("cc" "bc" "ac")))))) + (let ((company-backend (list one two tri :separate))) + (should (company-call-backend 'sorted)) + (should-not (company-call-backend 'duplicates)) + (should (equal '("aa" "ba" "ca" "ab" "bb" "cc" "bc" "ac") + (company-call-backend 'candidates "a")))))) + (ert-deftest company-begin-backend-failure-doesnt-break-company-backends () (with-temp-buffer (insert "a") @@ -399,6 +419,9 @@ (and (ert-equal-including-properties (car list1) (car list2)) (ct-equal-including-properties (cdr list1) (cdr list2))))) +(ert-deftest company-strips-duplicates-returns-nil () + (should (null (company--preprocess-candidates nil)))) + (ert-deftest company-strips-duplicates-within-groups () (let* ((kvs '(("a" . "b") ("a" . nil)