emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 07c0db4: Add tests for foreign completions in CSS m


From: Simen Heggestøyl
Subject: [Emacs-diffs] master 07c0db4: Add tests for foreign completions in CSS mode
Date: Sat, 15 Oct 2016 09:23:58 +0000 (UTC)

branch: master
commit 07c0db4344072895726101e39eb92a26e1d2d3d1
Author: Simen Heggestøyl <address@hidden>
Commit: Simen Heggestøyl <address@hidden>

    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 d281787..f92ac11 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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]