Mercurial > hg > xemacs-beta
diff tests/automated/case-tests.el @ 4414:df576f30c1d8
Correct case-insensitive search for non-case, non-ASCII chars. Add tests.
2008-01-30 Aidan Kehoe <kehoea@parhasard.net>
* automated/case-tests.el:
Check for a bug Mike Sperber reported; check algorithms used, if
available.
2008-01-30 Aidan Kehoe <kehoea@parhasard.net>
* search.c (debug-xemacs-searches):
New variable, available on debug builds. Used in
tests/automated/case-tests.el.
(search_buffer): Only store the charset_base for characters with
translations. Correct some comments, correct some checks. If
debug_xemacs_searches is non-zero, record which search was used.
(boyer_moore): Remove an assertion that was incorrect. Remove its
documentation. Correct an assertion dealing with equivalence
tables; we may end up looking through the equivalence table if a
non-ASCII non-case character was searched for.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Wed, 30 Jan 2008 09:26:59 +0100 |
parents | 0784d089fdc9 |
children | bceb3e285ae7 |
line wrap: on
line diff
--- a/tests/automated/case-tests.el Mon Jan 28 08:13:37 2008 +0100 +++ b/tests/automated/case-tests.el Wed Jan 30 09:26:59 2008 +0100 @@ -268,3 +268,37 @@ (goto-char (point-max)) (Assert (not (search-backward string nil t 6)))))) +;; Bug reported in http://mid.gmane.org/y9lk5lu5orq.fsf@deinprogramm.de from +;; Michael Sperber. Fixed 2008-01-29. +(with-string-as-buffer-contents "\n\nDer beruhmte deutsche Flei\xdf\n\n" + (goto-char (point-min)) + (Assert (search-forward "Flei\xdf"))) + +(Skip-Test-Unless + (boundp 'debug-xemacs-searches) ; normal when we have DEBUG_XEMACS + "not a DEBUG_XEMACS build" + (let ((debug-xemacs-searches 1)) + (with-temp-buffer + (insert "\n\nDer beruhmte deutsche Fleiss\n\n") + (goto-char (point-min)) + (search-forward "Fleiss") + (delete-region (point-min) (point-max)) + (insert "\n\nDer beruhmte deutsche Flei\xdf\n\n") + (goto-char (point-min)) + (search-forward "Flei\xdf") + (Assert (eq 'boyer-moore search-algorithm-used)) + (delete-region (point-min) (point-max)) + (when (featurep 'mule) + (insert "\n\nDer beruhmte deutsche Flei\xdf\n\n") + (goto-char (point-min)) + (Assert + (search-forward (format "Fle%c\xdf" + (make-char 'latin-iso8859-9 #xfd)))) + (Assert (eq 'boyer-moore search-algorithm-used)) + (insert (make-char 'latin-iso8859-9 #xfd)) + (goto-char (point-min)) + (Assert + (search-forward (format "Fle%c\xdf" + (make-char 'latin-iso8859-9 #xfd)))) + (Assert (eq 'simple-search search-algorithm-used)))))) +