From 07c0db4344072895726101e39eb92a26e1d2d3d1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Simen=20Heggest=C3=B8yl?= Date: Sat, 15 Oct 2016 11:23:26 +0200 Subject: [PATCH] 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. --- test/lisp/textmodes/css-mode-tests.el | 36 ++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) 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) -- 2.39.5