branch: externals/compat
commit 820c4cd7ac7d623c5438ba3db5ecd073487324c5
Author: Daniel Mendler <[email protected]>
Commit: Daniel Mendler <[email protected]>

    Restore tests
---
 compat-tests.el | 300 ++++++++++++++++++++++++++++----------------------------
 1 file changed, 150 insertions(+), 150 deletions(-)

diff --git a/compat-tests.el b/compat-tests.el
index f3e52c6177..b6c5f7d10b 100644
--- a/compat-tests.el
+++ b/compat-tests.el
@@ -232,156 +232,156 @@
   (should (equal "t\ta" (compat-call string-trim "t\ta\t\n")))
   (should (equal "a" (compat-call string-trim "\n  \ta  \n"))))
 
-;; (ert-deftest string-search ()
-;;   ;; Find needle at the beginning of a haystack:
-;;   (should (equal 0 (string-search "a" "abb")))
-;;   ;; Find needle at the begining of a haystack, with more potential
-;;   ;; needles that could be found:
-;;   (should (equal 0 (string-search "a" "abba")))
-;;   ;; Find needle with more than one charachter at the beginning of
-;;   ;; a line:
-;;   (should (equal 0 (string-search "aa" "aabbb")))
-;;   ;; Find a needle midstring:
-;;   (should (equal 1 (string-search "a" "bab")))
-;;   ;; Find a needle at the end:
-;;   (should (equal 2 (string-search "a" "bba")))
-;;   ;; Find a longer needle midstring:
-;;   (should (equal 1 (string-search "aa" "baab")))
-;;   ;; Find a longer needle at the end:
-;;   (should (equal 2 (string-search "aa" "bbaa")))
-;;   ;; Find a case-sensitive needle:
-;;   (should (equal 2 (string-search "a" "AAa")))
-;;   ;; Find another case-sensitive needle:
-;;   (should (equal 2 (string-search "aa" "AAaa")))
-;;   ;; Test regular expression quoting (1):
-;;   (should (equal 5 (string-search "." "abbbb.b")))
-;;   ;; Test regular expression quoting (2):
-;;   (should (equal 5 (string-search ".*" "abbbb.*b")))
-;;   ;; Attempt to find non-existent needle:
-;;   (should (equal nil (string-search "a" "bbb")))
-;;   ;; Attempt to find non-existent needle that has the form of a
-;;   ;; regular expression:
-;;   (should (equal nil (string-search "." "bbb")))
-;;   ;; Handle empty string as needle:
-;;   (should (equal 0 (string-search "" "abc")))
-;;   ;; Handle empty string as haystack:
-;;   (should (equal nil (string-search "a" "")))
-;;   ;; Handle empty string as needle and haystack:
-;;   (should (equal 0 (string-search "" "")))
-;;   ;; Handle START argument:
-;;   (should (equal 3 (string-search "a" "abba" 1)))
-;;   ;; Additional test copied from:
-;;   (should (equal 6 (string-search "zot" "foobarzot")))
-;;   (should (equal 0 (string-search "foo" "foobarzot")))
-;;   (should (equal nil (string-search "fooz" "foobarzot")))
-;;   (should (equal nil (string-search "zot" "foobarzo")))
-;;   (should (equal 0 (string-search "ab" "ab")))
-;;   (should (equal nil (string-search "ab\0" "ab")))
-;;   (should (equal 4 (string-search "ab" "abababab" 3)))
-;;   (should (equal nil (string-search "ab" "ababac" 3)))
-;;   (should (equal nil (string-search "aaa" "aa")))
-;;   ;; The `make-string' calls with three arguments have been replaced
-;;   ;; here with the result of their evaluation, to avoid issues with
-;;   ;; older versions of Emacs that only support two arguments.
-;;   (should (equal 5
-;;                  (string-search (make-string 2 130)
-;;                                 ;; Per (concat "helló" (make-string 5 130 
t) "bár")
-;;                                 "hell󂂂‚‚bár")))
-;;   (should (equal 5
-;;                   (string-search (make-string 2 127)
-;;                                  ;; Per (concat "helló" (make-string 5 127 
t) "bár")
-;;                                  "hellóbár")))
-;;   (should (equal 1 (string-search "\377" "a\377ø")))
-;;   (should (equal 1 (string-search "\377" "a\377a")))
-;;   (should (equal nil (string-search (make-string 1 255) "a\377ø")))
-;;   (should (equal nil (string-search (make-string 1 255) "a\377a")))
-;;   (should (equal 3 (string-search "fóo" "zotfóo")))
-;;   (should (equal nil (string-search "\303" "aøb")))
-;;   (should (equal nil (string-search "\270" "aøb")))
-;;   (should (equal nil (string-search "ø" "\303\270")))
-;;   (should (equal nil (string-search "ø" (make-string 32 ?a))))
-;;   (should (equal nil (string-search "ø" (string-to-multibyte (make-string 
32 ?a)))))
-;;   (should (equal 14 (string-search "o" (string-to-multibyte
-;;                                         (apply #'string (number-sequence ?a 
?z))))))
-;;   (should (equal 2 (string-search "a\U00010f98z" 
"a\U00010f98a\U00010f98z")))
-;;   (should-error (string-search "a" "abc" -1) :type '(args-out-of-range -1))
-;;   (should-error (string-search "a" "abc" 4) :type '(args-out-of-range 4))
-;;   (should-error (string-search "a" "abc" 100000000000) :type 
'(args-out-of-range 100000000000))
-;;   (should (equal nil (string-search "a" "aaa" 3)))
-;;   (should (equal nil (string-search "aa" "aa" 1)))
-;;   (should (equal nil (string-search "\0" "")))
-;;   (should (equal 0 (string-search "" "")))
-;;   (should-error (string-search "" "" 1) :type '(args-out-of-range 1))
-;;   (should (equal 0 (string-search "" "abc")))
-;;   (should (equal 2 (string-search "" "abc" 2)))
-;;   (should (equal 3 (string-search "" "abc" 3)))
-;;   (should-error (string-search "" "abc" 4) :type '(args-out-of-range 4))
-;;   (should-error (string-search "" "abc" -1) :type '(args-out-of-range -1))
-;;   (should (equal nil (string-search "ø" "foo\303\270")))
-;;   (should (equal nil (string-search "\303\270" "ø")))
-;;   (should (equal nil (string-search "\370" "ø")))
-;;   (should (equal nil (string-search (string-to-multibyte "\370") "ø")))
-;;   (should (equal nil (string-search "ø" "\370")))
-;;   (should (equal nil (string-search "ø" (string-to-multibyte "\370"))))
-;;   (should (equal nil (string-search "\303\270" "\370")))
-;;   (should (equal nil (string-search (string-to-multibyte "\303\270") 
"\370")))
-;;   (should (equal nil (string-search "\303\270" (string-to-multibyte 
"\370"))))
-;;   (should (equal nil
-;;                   (string-search (string-to-multibyte "\303\270")
-;;                                  (string-to-multibyte "\370"))))
-;;   (should (equal nil (string-search "\370" "\303\270")))
-;;   (should (equal nil (string-search (string-to-multibyte "\370") 
"\303\270")))
-;;   (should (equal nil (string-search "\370" (string-to-multibyte 
"\303\270"))))
-;;   (should (equal nil
-;;                  (string-search (string-to-multibyte "\370")
-;;                                 (string-to-multibyte "\303\270"))))
-;;   (should (equal 3 "\303\270" "foo\303\270"))
-;;   (when (version<= "27" emacs-version)
-;;     ;; FIXME The commit a1f76adfb03c23bb4242928e8efe6193c301f0c1 in
-;;     ;; emacs.git fixes the behaviour of regular expressions matching
-;;     ;; raw bytes.  The compatibility functions should updated to
-;;     ;; backport this behaviour.
-;;     (should (equal 2 (string-search (string-to-multibyte "\377") 
"ab\377c")))
-;;     (should (equal 2
-;;                     (string-search (string-to-multibyte "o\303\270")
-;;                                    "foo\303\270")))))
-
-;; (ert-deftest string-replace ()
-;;   (should (equal "bba" "aa" "bb" "aaa")
-;;   (should (equal "AAA" "aa" "bb" "AAA")
-;;   ;; Additional test copied from subr-tests.el:
-;;   (should (equal "zot" "foo" "bar" "zot")
-;;   (should (equal "barzot" "foo" "bar" "foozot")
-;;   (should (equal "barbarzot" "foo" "bar" "barfoozot")
-;;   (should (equal "barfoobar" "zot" "bar" "barfoozot")
-;;   (should (equal "barfoobarot" "z" "bar" "barfoozot")
-;;   (should (equal "zat" "zot" "bar" "zat")
-;;   (should (equal "zat" "azot" "bar" "zat")
-;;   (should (equal "bar" "azot" "bar" "azot")
-;;   (should (equal "foozotbar" "azot" "bar" "foozotbar")
-;;   (should (equal "labarbarbarzot" "fo" "bar" "lafofofozot")
-;;   (should (equal "axb" "\377" "x" "a\377b")
-;;   (should (equal "axø" "\377" "x" "a\377ø")
-;;   (when (version<= "27" emacs-version)
-;;     ;; FIXME The commit a1f76adfb03c23bb4242928e8efe6193c301f0c1
-;;     ;; in emacs.git fixes the behaviour of regular
-;;     ;; expressions matching raw bytes.  The compatibility
-;;     ;; functions should updated to backport this
-;;     ;; behaviour.
-;;     (should (equal "axb" (string-to-multibyte "\377") "x" "a\377b")
-;;     (should (equal "axø" (string-to-multibyte "\377") "x" "a\377ø"))
-;;   (should (equal "ANAnas" "ana" "ANA" "ananas")
-;;   (should (equal "" "a" "" "")
-;;   (should (equal "" "a" "" "aaaaa")
-;;   (should (equal "" "ab" "" "ababab")
-;;   (should (equal "ccc" "ab" "" "abcabcabc")
-;;   (should (equal "aaaaaa" "a" "aa" "aaa")
-;;   (should (equal "defg" "abc" "defg" "abc")
-;;   (when (version<= "24.4" emacs-version)
-;;     ;; FIXME: Emacs 24.3 do not know of `wrong-length-argument' and
-;;     ;; therefore fail this test, even if the right symbol is being
-;;     ;; thrown.
-;;     (expect wrong-length-argument "" "x" "abc")))
+(ert-deftest string-search ()
+  ;; Find needle at the beginning of a haystack:
+  (should (equal 0 (string-search "a" "abb")))
+  ;; Find needle at the begining of a haystack, with more potential
+  ;; needles that could be found:
+  (should (equal 0 (string-search "a" "abba")))
+  ;; Find needle with more than one charachter at the beginning of
+  ;; a line:
+  (should (equal 0 (string-search "aa" "aabbb")))
+  ;; Find a needle midstring:
+  (should (equal 1 (string-search "a" "bab")))
+  ;; Find a needle at the end:
+  (should (equal 2 (string-search "a" "bba")))
+  ;; Find a longer needle midstring:
+  (should (equal 1 (string-search "aa" "baab")))
+  ;; Find a longer needle at the end:
+  (should (equal 2 (string-search "aa" "bbaa")))
+  ;; Find a case-sensitive needle:
+  (should (equal 2 (string-search "a" "AAa")))
+  ;; Find another case-sensitive needle:
+  (should (equal 2 (string-search "aa" "AAaa")))
+  ;; Test regular expression quoting (1):
+  (should (equal 5 (string-search "." "abbbb.b")))
+  ;; Test regular expression quoting (2):
+  (should (equal 5 (string-search ".*" "abbbb.*b")))
+  ;; Attempt to find non-existent needle:
+  (should (equal nil (string-search "a" "bbb")))
+  ;; Attempt to find non-existent needle that has the form of a
+  ;; regular expression:
+  (should (equal nil (string-search "." "bbb")))
+  ;; Handle empty string as needle:
+  (should (equal 0 (string-search "" "abc")))
+  ;; Handle empty string as haystack:
+  (should (equal nil (string-search "a" "")))
+  ;; Handle empty string as needle and haystack:
+  (should (equal 0 (string-search "" "")))
+  ;; Handle START argument:
+  (should (equal 3 (string-search "a" "abba" 1)))
+  ;; Additional test copied from:
+  (should (equal 6 (string-search "zot" "foobarzot")))
+  (should (equal 0 (string-search "foo" "foobarzot")))
+  (should (equal nil (string-search "fooz" "foobarzot")))
+  (should (equal nil (string-search "zot" "foobarzo")))
+  (should (equal 0 (string-search "ab" "ab")))
+  (should (equal nil (string-search "ab\0" "ab")))
+  (should (equal 4 (string-search "ab" "abababab" 3)))
+  (should (equal nil (string-search "ab" "ababac" 3)))
+  (should (equal nil (string-search "aaa" "aa")))
+  ;; The `make-string' calls with three arguments have been replaced
+  ;; here with the result of their evaluation, to avoid issues with
+  ;; older versions of Emacs that only support two arguments.
+  (should (equal 5
+                 (string-search (make-string 2 130)
+                                ;; Per (concat "helló" (make-string 5 130 t) 
"bár")
+                                "hell󂂂‚‚bár")))
+  (should (equal 5
+                  (string-search (make-string 2 127)
+                                 ;; Per (concat "helló" (make-string 5 127 t) 
"bár")
+                                 "hellóbár")))
+  (should (equal 1 (string-search "\377" "a\377ø")))
+  (should (equal 1 (string-search "\377" "a\377a")))
+  (should (equal nil (string-search (make-string 1 255) "a\377ø")))
+  (should (equal nil (string-search (make-string 1 255) "a\377a")))
+  (should (equal 3 (string-search "fóo" "zotfóo")))
+  (should (equal nil (string-search "\303" "aøb")))
+  (should (equal nil (string-search "\270" "aøb")))
+  (should (equal nil (string-search "ø" "\303\270")))
+  (should (equal nil (string-search "ø" (make-string 32 ?a))))
+  (should (equal nil (string-search "ø" (string-to-multibyte (make-string 32 
?a)))))
+  (should (equal 14 (string-search "o" (string-to-multibyte
+                                        (apply #'string (number-sequence ?a 
?z))))))
+  (should (equal 2 (string-search "a\U00010f98z" "a\U00010f98a\U00010f98z")))
+  (should-error (string-search "a" "abc" -1) :type '(args-out-of-range -1))
+  (should-error (string-search "a" "abc" 4) :type '(args-out-of-range 4))
+  (should-error (string-search "a" "abc" 100000000000) :type 
'(args-out-of-range 100000000000))
+  (should (equal nil (string-search "a" "aaa" 3)))
+  (should (equal nil (string-search "aa" "aa" 1)))
+  (should (equal nil (string-search "\0" "")))
+  (should (equal 0 (string-search "" "")))
+  (should-error (string-search "" "" 1) :type '(args-out-of-range 1))
+  (should (equal 0 (string-search "" "abc")))
+  (should (equal 2 (string-search "" "abc" 2)))
+  (should (equal 3 (string-search "" "abc" 3)))
+  (should-error (string-search "" "abc" 4) :type '(args-out-of-range 4))
+  (should-error (string-search "" "abc" -1) :type '(args-out-of-range -1))
+  (should (equal nil (string-search "ø" "foo\303\270")))
+  (should (equal nil (string-search "\303\270" "ø")))
+  (should (equal nil (string-search "\370" "ø")))
+  (should (equal nil (string-search (string-to-multibyte "\370") "ø")))
+  (should (equal nil (string-search "ø" "\370")))
+  (should (equal nil (string-search "ø" (string-to-multibyte "\370"))))
+  (should (equal nil (string-search "\303\270" "\370")))
+  (should (equal nil (string-search (string-to-multibyte "\303\270") "\370")))
+  (should (equal nil (string-search "\303\270" (string-to-multibyte "\370"))))
+  (should (equal nil
+                  (string-search (string-to-multibyte "\303\270")
+                                 (string-to-multibyte "\370"))))
+  (should (equal nil (string-search "\370" "\303\270")))
+  (should (equal nil (string-search (string-to-multibyte "\370") "\303\270")))
+  (should (equal nil (string-search "\370" (string-to-multibyte "\303\270"))))
+  (should (equal nil
+                 (string-search (string-to-multibyte "\370")
+                                (string-to-multibyte "\303\270"))))
+  (should (equal 3 (string-search "\303\270" "foo\303\270")))
+  (when (version<= "27" emacs-version)
+    ;; FIXME The commit a1f76adfb03c23bb4242928e8efe6193c301f0c1 in
+    ;; emacs.git fixes the behaviour of regular expressions matching
+    ;; raw bytes.  The compatibility functions should updated to
+    ;; backport this behaviour.
+    (should (equal 2 (string-search (string-to-multibyte "\377") "ab\377c")))
+    (should (equal 2
+                    (string-search (string-to-multibyte "o\303\270")
+                                   "foo\303\270")))))
+
+(ert-deftest string-replace ()
+  (should (equal "bba" (string-replace "aa" "bb" "aaa")))
+  (should (equal "AAA" (string-replace "aa" "bb" "AAA")))
+  ;; Additional test copied from subr-tests.el:
+  (should (equal "zot" (string-replace "foo" "bar" "zot")))
+  (should (equal "barzot" (string-replace "foo" "bar" "foozot")))
+  (should (equal "barbarzot" (string-replace "foo" "bar" "barfoozot")))
+  (should (equal "barfoobar" (string-replace "zot" "bar" "barfoozot")))
+  (should (equal "barfoobarot" (string-replace "z" "bar" "barfoozot")))
+  (should (equal "zat" (string-replace "zot" "bar" "zat")))
+  (should (equal "zat" (string-replace "azot" "bar" "zat")))
+  (should (equal "bar" (string-replace "azot" "bar" "azot")))
+  (should (equal "foozotbar" (string-replace "azot" "bar" "foozotbar")))
+  (should (equal "labarbarbarzot" (string-replace "fo" "bar" "lafofofozot")))
+  (should (equal "axb" (string-replace "\377" "x" "a\377b")))
+  (should (equal "axø" (string-replace "\377" "x" "a\377ø")))
+  (when (version<= "27" emacs-version)
+    ;; FIXME The commit a1f76adfb03c23bb4242928e8efe6193c301f0c1
+    ;; in emacs.git fixes the behaviour of regular
+    ;; expressions matching raw bytes.  The compatibility
+    ;; functions should updated to backport this
+    ;; behaviour.
+    (should (equal "axb" (string-replace (string-to-multibyte "\377") "x" 
"a\377b")))
+    (should (equal "axø" (string-replace (string-to-multibyte "\377") "x" 
"a\377ø"))))
+  (should (equal "ANAnas" (string-replace "ana" "ANA" "ananas")))
+  (should (equal "" (string-replace "a" "" "")))
+  (should (equal "" (string-replace "a" "" "aaaaa")))
+  (should (equal "" (string-replace "ab" "" "ababab")))
+  (should (equal "ccc" (string-replace "ab" "" "abcabcabc")))
+  (should (equal "aaaaaa" (string-replace "a" "aa" "aaa")))
+  (should (equal "defg" (string-replace "abc" "defg" "abc")))
+  (when (version<= "24.4" emacs-version)
+    ;; FIXME: Emacs 24.3 do not know of `wrong-length-argument' and
+    ;; therefore fail this test, even if the right symbol is being
+    ;; thrown.
+    (should-error (string-replace "" "x" "abc") :type 'wrong-length-argument)))
 
 (ert-deftest hash-table-keys ()
   (let ((ht (make-hash-table)))

Reply via email to