summaryrefslogtreecommitdiff
path: root/test/src/fns-tests.el
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2018-04-28 10:27:53 +0300
committerEli Zaretskii <eliz@gnu.org>2018-04-28 10:27:53 +0300
commita7a3918a16c85f89d797d48b09e751ab30e0f032 (patch)
treea48809d67e91a60cbdb622f6a4145c8081d4bb1c /test/src/fns-tests.el
parentc6e6503900534d939dd94b812563c27f22c49b7d (diff)
downloademacs-a7a3918a16c85f89d797d48b09e751ab30e0f032.tar.gz
emacs-a7a3918a16c85f89d797d48b09e751ab30e0f032.tar.bz2
emacs-a7a3918a16c85f89d797d48b09e751ab30e0f032.zip
Fix documentation and tests for 'string-distance'
* src/fns.c (Fstring_distance): Doc fix. * doc/lispref/strings.texi (Text Comparison): Document 'string-distance'. * etc/NEWS: Fix wording and mark as documented in the manuals. * test/src/fns-tests.el (test-string-distance): Move from subr-tests.el and rename.
Diffstat (limited to 'test/src/fns-tests.el')
-rw-r--r--test/src/fns-tests.el18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/src/fns-tests.el b/test/src/fns-tests.el
index f8554636bac..0301ceaad52 100644
--- a/test/src/fns-tests.el
+++ b/test/src/fns-tests.el
@@ -575,4 +575,22 @@
:type 'wrong-type-argument)
'(wrong-type-argument plistp (:foo 1 . :bar)))))
+(ert-deftest test-string-distance ()
+ "Test `string-distance' behavior."
+ ;; ASCII characters are always fine
+ (should (equal 1 (string-distance "heelo" "hello")))
+ (should (equal 2 (string-distance "aeelo" "hello")))
+ (should (equal 0 (string-distance "ab" "ab" t)))
+ (should (equal 1 (string-distance "ab" "abc" t)))
+
+ ;; string containing hanzi character, compare by byte
+ (should (equal 6 (string-distance "ab" "ab我她" t)))
+ (should (equal 3 (string-distance "ab" "a我b" t)))
+ (should (equal 3 (string-distance "我" "她" t)))
+
+ ;; string containing hanzi character, compare by character
+ (should (equal 2 (string-distance "ab" "ab我她")))
+ (should (equal 1 (string-distance "ab" "a我b")))
+ (should (equal 1 (string-distance "我" "她"))))
+
(provide 'fns-tests)