* ptexinfmt.el: Use lexical binding.
[elisp/wanderlust.git] / tests / test-elmo-util.el
index 73a05df..6c0c6b8 100644 (file)
@@ -1,3 +1,4 @@
+;; -*- lexical-binding: t -*-
 (require 'lunit)
 (require 'elmo-util)
 
 ;;;   (equal '(1 2 "3" 5 4)
 ;;;      (elmo-list-insert '(1 2 "3" 5) 4 "3"))
 
+(defun test-elmo-same-list-p (list1 list2)
+  (let ((clist1 (copy-sequence list1))
+       (clist2 (copy-sequence list2)))
+    (while list2
+      (setq clist1 (delq (car list2) clist1))
+      (setq list2 (cdr list2)))
+    (while list1
+      (setq clist2 (delq (car list1) clist2))
+      (setq list1 (cdr list1)))
+    (equal (list clist1 clist2) '(nil nil))))
+
+(defun test-elmo-same-diff-p (diff1 diff2)
+  (and (test-elmo-same-list-p (car diff1)
+                             (car diff2))
+       (test-elmo-same-list-p (nth 1 diff1)
+                             (nth 1 diff2))))
+
 (luna-define-method test-elmo-list-diff ((case test-elmo-util))
   (let ((list1 '(1 2 3))
        (list2 '(1 2 3 4))
        (list4 '(4 5 6))
        (list5 '(3 4 5 6)))
     (lunit-assert
-     (equal '(nil nil)
-           (elmo-list-diff nil nil)))
+     (test-elmo-same-diff-p '(nil nil)
+                           (elmo-list-diff nil nil)))
     (lunit-assert
-     (equal '(nil (1 2 3))
-           (elmo-list-diff nil list1)))
+     (test-elmo-same-diff-p '(nil (1 2 3))
+                           (elmo-list-diff nil list1)))
     (lunit-assert
-     (equal '((1 2 3) nil)
-           (elmo-list-diff list1 nil)))
+     (test-elmo-same-diff-p '((1 2 3) nil)
+                           (elmo-list-diff list1 nil)))
     (lunit-assert
-     (equal '(nil nil)
-           (elmo-list-diff list1 list1)))
+     (test-elmo-same-diff-p '(nil nil)
+                           (elmo-list-diff list1 list1)))
     (lunit-assert
-     (equal '(nil (4))
-           (elmo-list-diff list1 list2)))
+     (test-elmo-same-diff-p '(nil (4))
+                           (elmo-list-diff list1 list2)))
     (lunit-assert
-     (equal '((3) (4))
-           (elmo-list-diff list1 list3)))
+     (test-elmo-same-diff-p '((3) (4))
+                           (elmo-list-diff list1 list3)))
     (lunit-assert
-     (equal '((3 2 1) (6 5 4))
-           (elmo-list-diff list1 list4)))
+     (test-elmo-same-diff-p '((1 2 3) (4 5 6))
+                           (elmo-list-diff list1 list4)))
     (lunit-assert
-     (equal '((2 1) (6 5))
-           (elmo-list-diff list3 list4)))
+     (test-elmo-same-diff-p '((1 2) (5 6))
+                           (elmo-list-diff list3 list4)))
     (lunit-assert
-     (equal '((2 1) (6 5 3))
-           (elmo-list-diff list3 list5)))))
+     (test-elmo-same-diff-p '((1 2) (3 5 6))
+                           (elmo-list-diff list3 list5)))))
 
 (luna-define-method test-elmo-delete-char-1 ((case test-elmo-util))
   (lunit-assert
   (lunit-assert
    (equal '(1)
          (elmo-number-set-to-number-list '(1)))))
+
+(luna-define-method test-elmo-delete-cr-1 ((case test-elmo-util))
+  (lunit-assert (string= "" (elmo-delete-cr "")))
+  (lunit-assert (string= "\n" (elmo-delete-cr "\r\n")))
+  (lunit-assert (string= "\n\n" (elmo-delete-cr "\r\n\n")))
+  (lunit-assert (string= "\n\n" (elmo-delete-cr "\r\n\r\n"))))