]> git.eshelyaron.com Git - emacs.git/commitdiff
Add tests for foreign completions in CSS mode
authorSimen Heggestøyl <simenheg@gmail.com>
Sat, 15 Oct 2016 09:23:26 +0000 (11:23 +0200)
committerSimen Heggestøyl <simenheg@gmail.com>
Sat, 15 Oct 2016 09:23:26 +0000 (11:23 +0200)
* 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

index d28178759564679f0a7b333ac31aae177368e7e9..f92ac1111424cc7b7d1ea2df2a01f9f827e92999 100644 (file)
       (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")
       (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)