emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[nongnu] elpa/bash-completion 4c216c4eea 286/313: Add an integration tes


From: ELPA Syncer
Subject: [nongnu] elpa/bash-completion 4c216c4eea 286/313: Add an integration test to cover multiple completion results.
Date: Sat, 3 Dec 2022 10:59:38 -0500 (EST)

branch: elpa/bash-completion
commit 4c216c4eeaeb7f92e27accd518bd4c61200e833e
Author: Stephane Zermatten <szermatt@gmx.net>
Commit: Stephane Zermatten <szermatt@gmx.net>

    Add an integration test to cover multiple completion results.
---
 test/bash-completion-integration-test.el | 26 ++++++++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/test/bash-completion-integration-test.el 
b/test/bash-completion-integration-test.el
index 1e227d8082..1a41dc3f47 100644
--- a/test/bash-completion-integration-test.el
+++ b/test/bash-completion-integration-test.el
@@ -142,11 +142,16 @@
    (or end (point-max))))
 
 (defun bash-completion_test-candidates (complete-me)
-  "Complete COMPLETE-ME and returns the candidates."
+  "Complete COMPLETE-ME and returns the candidates.
+
+The result is sorted to avoid hardcoding arbitrary order in the test."
   (goto-char (point-max))
   (delete-region (line-beginning-position) (line-end-position))
   (insert complete-me)
-  (nth 2 (bash-completion-dynamic-complete-nocomint)))
+  (sort 
+   (nth 2 (bash-completion-dynamic-complete-nocomint
+           (line-beginning-position) (point) nil))
+   'string<))
 
 (defun bash-completion_test-setup-env (bashrc)
   "Sets up a directory that contains a bashrc file other files
@@ -224,6 +229,23 @@ for testing completion."
                   (bash-completion_test-complete
                    "export SOMEPATH=some/directory:some/oth")))))
 
+(ert-deftest bash-completion-integration-multiple-completions-test ()
+  (bash-completion_test-multiple-completions-test ""))
+
+(ert-deftest bash-completion-integration-multiple-completions-prog-test ()
+  (bash-completion_test-multiple-completions-test
+   (concat "source " bash-completion_test-setup-completion "\n")))
+
+(defun bash-completion_test-multiple-completions-test (bashrc)
+  (bash-completion_test-with-shell-harness
+   bashrc
+   nil ; use-separate-process
+   (should (equal '("some/directory/" "some/other/")
+                  (sort (bash-completion_test-candidates "ls some/") 
'string<)))
+   (should (equal '("some/directory/") (bash-completion_test-candidates "ls 
some/d")))
+   (should (equal '("some/directory/") (bash-completion_test-candidates "ls 
some/di")))
+   (should (equal '() (bash-completion_test-candidates "ls some/do")))))
+
 (ert-deftest bash-completion-integration-nocomint-test ()
   (bash-completion_test-harness
    "function somefunction { echo ok; }\n"



reply via email to

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