Add completion/company tests

This commit is contained in:
Henrik Lissner 2018-06-20 19:09:05 +02:00
parent d7f8a9591e
commit 898449e374
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -1,44 +1,50 @@
;; -*- lexical-binding: t; no-byte-compile: t; -*- ;; -*- lexical-binding: t; no-byte-compile: t; -*-
;;; completion/company/test/test-company.el ;;; completion/company/test/test-company.el
(load! "../autoload") (describe "completion/company"
;;
(xdescribe "completion/company"
:var (company-backends)
(before-all (before-all
(provide 'company)) (load! "../autoload"))
(after-all
(unload-feature 'company t))
(describe ":company-backend" (describe ":company-backend"
:var (text-mode-hook company-backends) :var (a)
(before-each (before-each
(setq company-backends '(default) (setq company-backends '(default)
text-mode-hook nil)) text-mode-hook nil
a (get-buffer-create "x"))
(set-buffer a)
(spy-on 'require))
(after-each
(fmakunbound '+company|init-text-mode)
(kill-buffer a))
(it "adds hooks and defines +company|init-MODE"
(set-company-backend! 'text-mode '(backend-1))
(expect (fboundp '+company|init-text-mode))
(expect text-mode-hook :to-equal '(+company|init-text-mode)))
(it "adds grouped backends" (it "adds grouped backends"
(set-company-backend! 'text-mode '(backend-1)) (set-company-backend! 'text-mode '(backend-1))
(with-temp-buffer (text-mode)
(text-mode) (expect company-backends :to-equal '((backend-1) default)))
(expect company-backends :to-equal '((backend-1) default))))
(it "adds multiple backends" (it "adds multiple backends"
(set-company-backend! 'text-mode 'backend-1 'backend-2) (set-company-backend! 'text-mode 'backend-1 'backend-2)
(with-temp-buffer (text-mode)
(text-mode) (expect company-backends :to-equal '(backend-1 backend-2 default)))
(expect company-backends :to-equal '(backend-1 backend-2 default))))
(it "adds single backend" (it "adds single backend"
(set-company-backend! 'text-mode 'backend-1) (set-company-backend! 'text-mode 'backend-1)
(with-temp-buffer (text-mode)
(text-mode) (expect company-backends :to-equal '(backend-1 default)))
(expect company-backends :to-equal '(backend-1 default))))
(it "overwrites past values" (it "overwrites past values"
(set-company-backend! 'text-mode 'backend-1) (set-company-backend! 'text-mode 'backend-1)
(set-company-backend! 'text-mode 'backend-2) (set-company-backend! 'text-mode 'backend-2)
(with-temp-buffer (text-mode)
(text-mode) (expect company-backends :to-equal '(backend-2 default)))
(expect company-backends :to-equal '(backend-2 default))))))
(it "unsets past values"
(set-company-backend! 'text-mode 'backend-1)
(set-company-backend! 'text-mode nil)
(text-mode)
(expect company-backends :to-equal '(default)))))