emacs-orgmode
[Top][All Lists]
Advanced

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

[O] [PATCH 6/6] Improve ‘org-sort-list’ test


From: Sebastian Reuße
Subject: [O] [PATCH 6/6] Improve ‘org-sort-list’ test
Date: Sun, 11 Mar 2018 16:43:52 +0100

* test-org-list.el (test-org-list/sort): Take case-sensitive
vs. insensitive sorting into account.
---
 testing/lisp/test-org-list.el | 36 ++++++++++++++++++++++++++----------
 1 file changed, 26 insertions(+), 10 deletions(-)

diff --git a/testing/lisp/test-org-list.el b/testing/lisp/test-org-list.el
index 866ee4799..e0c448ce9 100644
--- a/testing/lisp/test-org-list.el
+++ b/testing/lisp/test-org-list.el
@@ -1015,16 +1015,32 @@
 (ert-deftest test-org-list/sort ()
   "Test `org-sort-list'."
   ;; Sort alphabetically.
-  (should
-   (equal "- abc\n- def\n- xyz\n"
-         (org-test-with-temp-text "- def\n- xyz\n- abc\n"
-           (org-sort-list nil ?a)
-           (buffer-string))))
-  (should
-   (equal "- xyz\n- def\n- abc\n"
-         (org-test-with-temp-text "- def\n- xyz\n- abc\n"
-           (org-sort-list nil ?A)
-           (buffer-string))))
+  (let ((original-string-collate-lessp (symbol-function 
'string-collate-lessp)))
+    (cl-letf (((symbol-function 'string-collate-lessp)
+              (lambda (s1 s2 &optional locale ignore-case)
+                (funcall original-string-collate-lessp
+                         s1 s2 "C" ignore-case))))
+      (should
+       (equal "- abc\n- def\n- XYZ\n"
+             (org-test-with-temp-text "- def\n- XYZ\n- abc\n"
+               (org-sort-list nil ?a)
+               (buffer-string))))
+      (should
+       (equal "- XYZ\n- def\n- abc\n"
+             (org-test-with-temp-text "- def\n- XYZ\n- abc\n"
+               (org-sort-list nil ?A)
+               (buffer-string))))
+      ;; Sort alphabetically (with case).
+      (should
+       (equal "- C\n- a\n- b\n"
+             (org-test-with-temp-text "- b\n- C\n- a\n"
+               (org-sort-list t ?a)
+               (buffer-string))))
+      (should
+       (equal "- b\n- a\n- C\n"
+             (org-test-with-temp-text "- b\n- C\n- a\n"
+               (org-sort-list t ?A)
+               (buffer-string))))))
   ;; Sort numerically.
   (should
    (equal "- 1\n- 2\n- 10\n"
-- 
2.16.2




reply via email to

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