Commit graph

932 commits

Author SHA1 Message Date
Nicolas Petton
b0c0b96ee3 Fix a unit test for map.el
* test/automated/map-tests.el (test-map-let): Fix the test to work
with the new syntax of `map-let'.
2015-06-06 01:54:51 +02:00
Glenn Morris
45fbcfe37d * test/automated/map-tests.el: Replace "assert" with "should". 2015-06-05 16:29:41 -04:00
Nicolas Petton
d4aca72ead Merge branch 'map' 2015-06-04 22:30:29 +02:00
Nicolas Petton
41a929c5ae Add new function string-greaterp
* lisp/subr.el (string-greaterp): New function.  Also aliased to
`string>'.
* test/automated/subr-tests.el (string-comparison-test): Add unit
tests for `string>'and `string<'.
* src/fns.c (string-lessp): Better docstring.
2015-06-04 18:27:54 +02:00
Michael Albinus
0c182b332d Fix error introduced recently in file-notify-tests.el
* test/automated/file-notify-tests.el
(file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
(file-notify--deftest-remote): Revert previous patch, not
necessary anymore.
2015-06-03 20:03:42 +02:00
Michael Albinus
a62306bbcb Instrument file-notify-test.el in order to catch hydra error.
* test/automated/file-notify-tests.el (file-notify--deftest-remote):
Wrap body by `ignore-case', in order to trap non-local errors.
2015-06-03 14:07:06 +02:00
Michael Albinus
420b293c7d Ensure, that autorevert works for remote files in file-notify-tests.el
* test/automated/file-notify-tests.el (file-notify--test-desc):
New defvar.
(file-notify--test-remote-enabled)
(file-notify-test00-availability, file-notify-test01-add-watch)
(file-notify-test02-events): Use it.
(file-notify--test-event-test): Check proper descriptor.
(file-notify-test03-autorevert): Ensure, that
`visited-file-modtime' has changed.

Fixes: debbugs:20392
2015-06-02 23:47:17 +02:00
Nicolas Petton
988d721186 Add a pcase pattern for maps and `map-let' based on it
* lisp/emacs-lisp/map.el (map-let): New macro.
(map--make-pcase-bindings, map--make-pcase-patterns): New functions.
* test/automated/map-tests.el: New test for `map-let'.
2015-06-02 22:19:48 +02:00
Paul Eggert
a158324abd Generate curved quotes in ert doc
* lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
(ert-results-mode-menu)
(ert-results-pop-to-backtrace-for-test-at-point)
(ert-results-pop-to-messages-for-test-at-point)
(ert-results-pop-to-should-forms-for-test-at-point)
(ert-describe-test):
Quote ‘like this’, not `like this', when generating doc strings
and the like.
* test/automated/ert-x-tests.el (ert-test-describe-test):
Allow quoting ‘like this’.
2015-06-02 07:33:14 -07:00
Nicolas Richard
c7695d0adb Add test for previous commit
* test/automated/replace-tests.el: New file.
(query-replace--split-string-tests): Add test for previous commit.
2015-06-02 10:54:31 +02:00
Eli Zaretskii
0acb538bb0 Add etags test for the new -Q option
* test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
* test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
* test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
test-case changes below.
* test/etags/ETAGS.good_6: New file.

* test/etags/cp-src/x.cc: New file.
* test/etags/Makefile (CPSRC): Add x.cc.
(check): Add one more test, for -Q.
2015-05-30 15:01:49 +03:00
Eli Zaretskii
5e73eab8fa Restore EOL format testing in etags
* test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
* test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
* test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
test-case changes below.
* test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
* test/etags/cp-src/c.C (B): Add back stray CR character.
* test/etags/c-src/dostorture.c: Add back.
* test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
2015-05-30 14:00:06 +03:00
Glenn Morris
33065aaf33 * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org. 2015-05-29 08:33:11 -07:00
Glenn Morris
708889b3e2 * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
Mark as an expected failure.
2015-05-29 00:12:15 -07:00
Paul Eggert
622f345b30 Change package test to look for curved quotes
* test/automated/package-test.el (package-test-describe-package)
(package-test-signed): Search for curved single quotes as well as
for grave accent and apostrophe.
2015-05-28 21:46:14 -07:00
Glenn Morris
8d216325ea * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
(f90-no-block-limit): Add "enum".  (Bug#20680)

* test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
New tests.
2015-05-27 23:10:46 -07:00
Michael Albinus
abf082383a New test tramp-test30-make-auto-save-file-name
* tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
(tramp-test31-special-characters)
(tramp-test31-special-characters-with-stat)
(tramp-test31-special-characters-with-perl)
(tramp-test31-special-characters-with-ls, tramp-test32-utf8)
(tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
(tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
(tramp-test34-recursive-load, tramp-test35-unload): Rename.
2015-05-27 15:48:13 +02:00
Eli Zaretskii
ac59d53898 Fix a typo in last commit
* lib-src/etags.c (C_entries): Fix a typo.

* test/etags/ETAGS.good_1:
* test/etags/ETAGS.good_2:
* test/etags/ETAGS.good_3:
* test/etags/ETAGS.good_4:
* test/etags/ETAGS.good_5:
* test/etags/CTAGS.good: Update due to the change in etags.c.
2015-05-25 18:08:09 +03:00
Eli Zaretskii
9c66c5a0ca Fix tagging of class members in C-like OO languages
* lib-src/etags.c (longopts): Add new option --class-qualify and
its shorthand -Q.
(print_help): Add help text for --class-qualify.
(main): Add handling of -Q.
(consider_token, C_entries) <omethodparm>: Append argument types
to Objective C methods only if --class-qualify was specified.
Qualify C++, Objective C, and Java class members with their class
names only if --class-qualify was specified.
(C_entries): If --class-qualify was not specified, remove the
namespace and class qualifiers from tag names of C++ methods.
This allows to use etags.el as xref back-end without the
tag-symbol-match-p method, which greatly increases the number of
potentially false positives.  (Bug#20629)

* doc/man/etags.1: Update to document the new --class-qualify
option.

* test/etags/ETAGS.good_1:
* test/etags/ETAGS.good_2:
* test/etags/ETAGS.good_3:
* test/etags/ETAGS.good_4:
* test/etags/ETAGS.good_5:
* test/etags/CTAGS.good: Update due to changes in etags.c.
2015-05-25 18:02:21 +03:00
Eli Zaretskii
1f83c3e524 Fix etags reading of compressed files
* lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
Include fcntl.h, for O_CLOEXEC.
(process_file_name): Don't use 'popen', whose streams cannot be
rewound.  Instead, uncompress the file to a temporary file,
created by 'etags_mktmp', and read from that as usual.
(etags_mktmp): New function.

* test/etags/ETAGS.good_1:
* test/etags/ETAGS.good_2:
* test/etags/ETAGS.good_3:
* test/etags/ETAGS.good_4:
* test/etags/ETAGS.good_5: Update to be consistent with latest
changes in etags.c regarding reading compressed files.
2015-05-23 11:35:45 +03:00
Stefan Monnier
ea92591983 Change defgeneric so it doesn't completely redefine the function
* lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
previously defined methods.
(cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
(cl--generic-prefill-dispatchers): Only define during compilation.
(cl-method-qualifiers): Remove redundant alias.
(help-fns-short-filename): Silence byte-compiler.
* test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
2015-05-21 23:46:10 -04:00
Paul Eggert
96794d2f97 Don't quote nil and t in doc strings
This is as per "Tips for Documentation Strings" in the elisp manual.
For consistency, do the same in diagnostics and comments.
2015-05-21 10:06:44 -07:00
Glenn Morris
e2f5b72f78 ; * test/automated/subr-tests.el: Standardize license notice. 2015-05-20 08:34:53 -07:00
Oleh Krehel
028d80f3a2 Add an automated test for let-when-compile
* test/automated/subr-tests.el (let-when-compile): New test.
2015-05-20 15:38:55 +02:00
Paul Eggert
c7acb6dd92 Try to port new etags tests to MS-Windows
* test/etags/CTAGS.good, test/etags/ETAGS.good_1:
* test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
* test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
Adjust to test-case changes below.
* test/etags/Makefile (CSRC): Remove dostorture.c.
Whatever it was trying to test, wasn't working portably.
(LC_ALL): Remove.  Apparently there wasn't an encoding problem,
just a line-ending problem.
* test/etags/c-src/dostorture.c: Remove.
* test/etags/cp-src/c.C: Remove stray CR.
* test/etags/html-src/algrthms.html: Remove trailing CRs.
State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
but if someone edits it later it should stay UTF-8-compatible.
2015-05-19 10:38:47 -07:00
Paul Eggert
88e4dfaadb Don't skip new etags tests on non-UTF-8 hosts
Problem reported by Eli Zaretskii for MS-Windows.
* test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
(LC_ALL): Set to C if the current locale isn't UTF-8.
(.PHONY): Remove ediff_1 thru ediff_5.
(check): Always run.
2015-05-18 18:06:05 -07:00
Dmitry Gutov
941ae9f257 Add a test case for Maven warning ouput
* test/automated/compile-tests.el
(compile-tests--test-regexps-data): Add a case for Maven warning
ouput.
(compile--test-error-line): Check the compilation message type, if
it's specified in the test data.
2015-05-19 00:02:39 +03:00
Przemysław Wojnowski
505f207089 * test/automated/sgml-mode-tests.el: New file. 2015-05-18 22:31:20 +03:00
Paul Eggert
e0117b17c4 Change new etags test to use UTF-8 encoding
* test/etags/CTAGS.good, test/etags/ETAGS.good_1:
* test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
* test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
* test/etags/html-src/index.shtml, test/etags/html-src/software.html:
* test/etags/html-src/softwarelibero.html:
Switch to UTF-8 encoding.
* test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
Remove Makefile, as it's too incestuous to have the test input
include the build procedure.
(UTF8_LOCALE, UTF_ENCODING): New macros.
(LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
(check): Skip if not UTF-8.
(.PHONY): New rule.
(FRC): Remove, as superseded by .PHONY.  All uses removed.
(regexfile): Prefer printf to echo when outputting oddball chars.
(.PRECIOUS): Remove, as these files are not built.
2015-05-17 17:30:23 -07:00
Paul Eggert
ef5c3eb66b Rename 'foo-gzipped' to 'foo.gz'
* test/automated/data/decompress/foo.gz:
Rename from test/automated/data/decompress/foo-gzipped,
to make it easier for other tools to tell that it's compressed.
* test/automated/zlib-tests.el (zlib--decompress):
Adjust to renamed file.
2015-05-17 17:30:22 -07:00
Eli Zaretskii
17bbb94dca ; Remove etags test files whose copyright is incompatible 2015-05-14 18:35:13 +03:00
Eli Zaretskii
000f5e0e43 Add a test suite for etags
* test/etags/: New test suite, adapted from
http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
whose original author is Francesco Potortì <pot@gnu.org>.
2015-05-12 20:08:00 +03:00
Stefan Monnier
d1b74200da * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
(cl--generic-mandatory-args): Remove.
(cl--generic-split-args): New function.
(cl-generic-define, cl--generic-lambda): Use it.
(cl-generic-define-method): Use it as well, and add support for
context args.
(cl--generic-get-dispatcher): Handle &context dispatch.
(cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
(cl--generic-dispatchers): Pre-fill.

* test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
2015-05-12 00:10:38 -04:00
Nicolas Petton
4ac426a1b9 Merge branch 'seq-let' 2015-05-05 22:10:32 +02:00
Nicolas Petton
6cd7415598 Add support for &rest in `seq-let'
* lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
in the argument list.
* test/automated/seq-tests.el: Add a test for parsing and binding
`&rest' in `seq-let'.
2015-05-05 21:45:36 +02:00
Paul Eggert
0508aa2670 Spelling fixes 2015-05-05 12:25:48 -07:00
Dmitry Gutov
fbe7fb0547 Only skip some variables that have function counterparts
* lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
Only skip minor-mode-named variable if it's defined in a Lisp
file, and it's in minor-mode-list (bug#20506).

* test/automated/elisp-mode-tests.el
(elisp-xref-finds-both-function-and-variable)
(elisp-xref-finds-only-function-for-minor-mode): New tests.
2015-05-05 15:11:14 +03:00
Dmitry Gutov
46c94cd599 Make sure we're inside the let bindings
* lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
Make sure we're inside the let bindings.

* test/automated/elisp-mode-tests.el
(elisp-completes-functions-after-let-bindings): New test.
2015-05-05 05:14:01 +03:00
Dmitry Gutov
fe4e258b17 Classify lone symbol inside let varlist as variable
* lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
Classify lone symbol inside let varlist as variable.

* test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
New test.
2015-05-04 18:51:48 +03:00
Dmitry Gutov
ac5586a103 elisp-completion-at-point: Prioritize being quoted over funpos
* lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
Only consider function position when not inside quoted form
(bug#20425).

* test/automated/elisp-mode-tests.el: New file.
2015-05-03 23:57:38 +03:00
Glenn Morris
be8cdfaabb * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it. 2015-05-01 14:09:06 -04:00
Nicolas Petton
c856843f6b New macro seq-let, providing destructuring support to seq.el
* lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
to `cl-destructuring-bind' but works on all sequence types supported
by `seq.el'.  Bump version number to 1.6.
* test/automated/seq-tests.el: Add tests for seq-let.
* doc/lispref/sequences.texi: Add documentation for seq-let.
2015-05-01 19:33:40 +02:00
Przemysław Wojnowski
85eb934e96 ; Add cl-adjoin tests
* test/automated/cl-lib-tests.el (cl-lib-adjoin-test): New tests.
2015-05-01 13:24:52 -04:00
Glenn Morris
56d487bdc2 * test/automated/package-test.el (package-test-update-archives-async):
Skip test on hydra.nixos.org.
2015-04-28 23:24:48 -07:00
Glenn Morris
b09deaa5a9 * test/automated/package-test.el (package-test-update-archives-async):
Try to handle the test server script dying.
2015-04-27 21:33:01 -04:00
Nicolas Petton
62879799ea Fix a false negative in `map-elt' with alists and values being nil
* lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
found but its associated value is nil, do not return the default
value.

* test/automated/map-tests.el: Add a regression test.
2015-04-25 12:07:12 +02:00
Nicolas Petton
d75151a671 Do not signal an error when trying to delete a key from an array
* lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
the key is present to avoid signaling an error.

* test/automated/map-tests.el: Add a test for deleting non-existing
keys from maps.
2015-04-24 19:29:59 +02:00
Nicolas Petton
f37e265ea9 Minor improvement in map-elt.
* lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
doing a lookup in arrays, but check the boundaries of the array
instead.

* test/automated/map-tests.el: Adds a test for `map-elt' with arrays
and a negative integer as key.
2015-04-24 19:10:45 +02:00
Glenn Morris
a3ac56ca55 * test/automated/message-mode-tests.el (message-mode-propertize):
Handle non-writable HOME; eg on hydra.nixos.org.
2015-04-24 00:10:11 -07:00
Paul Eggert
7128b0de89 Omit needless "\ " after multibyte then newline
* src/print.c: Include <c-ctype.h>, for c_isxdigit.
(print_object): When print-escape-multibyte is non-nil and a
multibyte character is followed by a newline or formfeed, followed
by a hex digit, don't output a needless "\ " before the hex digit.
* test/automated/print-tests.el (print-hex-backslash): New test.
2015-04-22 11:00:16 -07:00