summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimen Heggestøyl <simenheg@gmail.com>2016-10-15 11:23:26 +0200
committerSimen Heggestøyl <simenheg@gmail.com>2016-10-15 11:23:26 +0200
commit07c0db4344072895726101e39eb92a26e1d2d3d1 (patch)
treebec3eb97d00372c5cba058eca6a262873d7ca915
parent1a99d5dda2460946b1035827bd2407b5f0d8336c (diff)
downloademacs-07c0db4344072895726101e39eb92a26e1d2d3d1.tar.gz
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.
-rw-r--r--test/lisp/textmodes/css-mode-tests.el36
1 files changed, 35 insertions, 1 deletions
diff --git a/test/lisp/textmodes/css-mode-tests.el b/test/lisp/textmodes/css-mode-tests.el
index d2817875956..f92ac111142 100644
--- a/test/lisp/textmodes/css-mode-tests.el
+++ b/test/lisp/textmodes/css-mode-tests.el
@@ -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)