Add tests for foreign completions in CSS mode

* test/lisp/textmodes/css-mode-tests.el
(css-test-foreign-completions): New test for
`css--foreign-completions'.
(css-test-complete-selector-tag): Rename test.
(css-test-complete-selector-class): New test testing completion of
class names in selectors.
(css-test-complete-selector-id): New test testing completion of IDs in
selectors.
This commit is contained in:
Simen Heggestøyl 2016-10-15 11:23:26 +02:00
parent 1a99d5dda2
commit 07c0db4344

View file

@ -161,7 +161,23 @@
(should (member "filter" completions))
(should-not (member "position" completions)))))
(ert-deftest css-test-complete-selector ()
(ert-deftest css-test-foreign-completions ()
(let ((other-buffer-1 (generate-new-buffer "1"))
(other-buffer-2 (generate-new-buffer "2")))
(with-current-buffer other-buffer-1
(setq-local css-class-list-function (lambda () '("foo" "bar"))))
(with-current-buffer other-buffer-2
(setq-local css-class-list-function (lambda () '("bar" "baz"))))
(let ((completions
(css--foreign-completions 'css-class-list-function)))
;; Completions from `other-buffer-1' and `other-buffer-2' should
;; be merged.
(should (equal (seq-sort #'string-lessp completions)
'("bar" "baz" "foo"))))
(kill-buffer other-buffer-1)
(kill-buffer other-buffer-2)))
(ert-deftest css-test-complete-selector-tag ()
(with-temp-buffer
(css-mode)
(insert "b")
@ -169,6 +185,24 @@
(should (member "body" completions))
(should-not (member "article" completions)))))
(ert-deftest css-test-complete-selector-class ()
(with-temp-buffer
(setq-local css-class-list-function (lambda () '("foo" "bar")))
(with-temp-buffer
(css-mode)
(insert ".f")
(let ((completions (css-mode-tests--completions)))
(should (equal completions '("foo")))))))
(ert-deftest css-test-complete-selector-id ()
(with-temp-buffer
(setq-local css-id-list-function (lambda () '("foo" "bar")))
(with-temp-buffer
(css-mode)
(insert "#b")
(let ((completions (css-mode-tests--completions)))
(should (equal completions '("bar")))))))
(ert-deftest css-test-complete-nested-selector ()
(with-temp-buffer
(css-mode)