annotate tests/automated/README @ 5855:0bddb59072b6

Look for cased character classes when deciding on case-fold-search, #'isearch lisp/ChangeLog addition: 2015-03-11 Aidan Kehoe <kehoea@parhasard.net> * isearch-mode.el: * isearch-mode.el (isearch-fix-case): Use the new #'no-case-regexp-p function if treating ISEARCH-STRING as a regular expression; otherwise, use the [[:upper:]] character class. * isearch-mode.el (isearch-no-upper-case-p): Removed. * isearch-mode.el (with-caps-disable-folding): Removed. These two haven't been used since 1998. * occur.el (occur-1): Use #'no-case-regexp-p here. * replace.el (perform-replace): Don't use #'no-upper-case-p, use #'no-case-regexp-p or (string-match "[[:upper:]]" ...) as appropriate. * simple.el: * simple.el (no-upper-case-p): Removed. This did two different things, and its secondary function (examining regular expressions) just became much more complicated; move the regular expression functionality to its own function, use character classes when examining non-regular-expressions instead. The code to look for character classes, and the design decision that this should be done, are from GNU, thank you Stefan Monnier. * simple.el (no-case-regexp-p): New. Given a REGEXP, return non-nil if it has nothing to suggest an interactive user wants a case-sensitive search. * simple.el (with-search-caps-disable-folding): * simple.el (with-interactive-search-caps-disable-folding): Update both these macros to use #'no-case-regexp-p.
author Aidan Kehoe <kehoea@parhasard.net>
date Wed, 11 Mar 2015 18:06:15 +0000
parents 74fd4e045ea6
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
1 This directory contains XEmacs' automated test suite. The usual way
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
2 of running all the tests is running `make check' from the top-level
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
3 source directory.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
4
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
5 The test suite is unfinished and it's still lacking some essential
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
6 features. It is nevertheless recommended that you run the tests to
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
7 confirm that XEmacs behaves correctly.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
8
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
9 If you want to run a specific test case, you can do it from the
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
10 command-line like this:
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
11
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
12 $ xemacs -batch -l test-harness.elc -f batch-test-emacs TEST-FILE
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
13
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
14 If something goes wrong, you can run the test suite interactively by
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
15 loading `test-harness.el' into a running XEmacs and typing
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
16 `M-x test-emacs-test-file RET <filename> RET'. You will see a log of
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
17 passed and failed tests, which should allow you to investigate the
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
18 source of the error and ultimately fix the bug.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
19
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
20 Adding a new test file is trivial: just create a new file here and it
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
21 will be run. There is no need to byte-compile any of the files in
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
22 this directory -- the test-harness will take care of any necessary
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
23 byte-compilation.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
24
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
25 Look at the existing test cases for the examples of coding test cases.
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
26 It all boils down to your imagination and judicious use of the macros
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents:
diff changeset
27 `Assert', `Check-Error', `Check-Error-Message', and `Check-Message'.