Add completion/company tests
This commit is contained in:
parent
d7f8a9591e
commit
898449e374
1 changed files with 29 additions and 23 deletions
|
@ -1,44 +1,50 @@
|
|||
;; -*- lexical-binding: t; no-byte-compile: t; -*-
|
||||
;;; completion/company/test/test-company.el
|
||||
|
||||
(load! "../autoload")
|
||||
|
||||
;;
|
||||
(xdescribe "completion/company"
|
||||
:var (company-backends)
|
||||
|
||||
(describe "completion/company"
|
||||
(before-all
|
||||
(provide 'company))
|
||||
(after-all
|
||||
(unload-feature 'company t))
|
||||
(load! "../autoload"))
|
||||
|
||||
(describe ":company-backend"
|
||||
:var (text-mode-hook company-backends)
|
||||
:var (a)
|
||||
(before-each
|
||||
(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"
|
||||
(set-company-backend! 'text-mode '(backend-1))
|
||||
(with-temp-buffer
|
||||
(text-mode)
|
||||
(expect company-backends :to-equal '((backend-1) default))))
|
||||
(expect company-backends :to-equal '((backend-1) default)))
|
||||
|
||||
(it "adds multiple backends"
|
||||
(set-company-backend! 'text-mode 'backend-1 'backend-2)
|
||||
(with-temp-buffer
|
||||
(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"
|
||||
(set-company-backend! 'text-mode 'backend-1)
|
||||
(with-temp-buffer
|
||||
(text-mode)
|
||||
(expect company-backends :to-equal '(backend-1 default))))
|
||||
(expect company-backends :to-equal '(backend-1 default)))
|
||||
|
||||
(it "overwrites past values"
|
||||
(set-company-backend! 'text-mode 'backend-1)
|
||||
(set-company-backend! 'text-mode 'backend-2)
|
||||
(with-temp-buffer
|
||||
(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)))))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue