Mercurial > hg > xemacs-beta
annotate tests/gtk/event-stream-tests.el @ 5750:66d2f63df75f
Correct some spelling and formatting in behavior.el.
Mentioned in tracker issue 826, the third thing mentioned there (the file
name at the bottom of the file) had already been fixed.
lisp/ChangeLog addition:
2013-08-05 Aidan Kehoe <kehoea@parhasard.net>
* behavior.el:
(override-behavior):
Correct some spelling and formatting here, thank you Steven
Mitchell in tracker issue 826.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Mon, 05 Aug 2013 10:05:32 +0100 |
parents | 4dee0387b9de |
children |
rev | line source |
---|---|
5287
cd167465bf69
More permission consistency.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5231
diff
changeset
|
1 ;; event-stream-tests.el --- test the GTK event stream |
cd167465bf69
More permission consistency.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5231
diff
changeset
|
2 ;; |
cd167465bf69
More permission consistency.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5231
diff
changeset
|
3 ;; Copyright 2000, 2001 William Perry |
cd167465bf69
More permission consistency.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5231
diff
changeset
|
4 ;; Seems to be based on the comment at the end of src/event-stream.c. |
cd167465bf69
More permission consistency.
Stephen J. Turnbull <stephen@xemacs.org>
parents:
5231
diff
changeset
|
5 ;; |
4709
db7068430402
Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents:
4021
diff
changeset
|
6 ;; This file is part of XEmacs. |
5407
7ba892d101ce
Convert remainder in "tests" with plain text GPLv2 to GPLv3
Mats Lidell <matsl@xemacs.org>
parents:
5231
diff
changeset
|
7 |
7ba892d101ce
Convert remainder in "tests" with plain text GPLv2 to GPLv3
Mats Lidell <matsl@xemacs.org>
parents:
5231
diff
changeset
|
8 ;; XEmacs is free software: you can redistribute it and/or modify it |
4709
db7068430402
Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents:
4021
diff
changeset
|
9 ;; under the terms of the GNU General Public License as published by the |
5407
7ba892d101ce
Convert remainder in "tests" with plain text GPLv2 to GPLv3
Mats Lidell <matsl@xemacs.org>
parents:
5231
diff
changeset
|
10 ;; Free Software Foundation, either version 3 of the License, or (at your |
7ba892d101ce
Convert remainder in "tests" with plain text GPLv2 to GPLv3
Mats Lidell <matsl@xemacs.org>
parents:
5231
diff
changeset
|
11 ;; option) any later version. |
7ba892d101ce
Convert remainder in "tests" with plain text GPLv2 to GPLv3
Mats Lidell <matsl@xemacs.org>
parents:
5231
diff
changeset
|
12 |
4709
db7068430402
Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents:
4021
diff
changeset
|
13 ;; XEmacs is distributed in the hope that it will be useful, but WITHOUT |
db7068430402
Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents:
4021
diff
changeset
|
14 ;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
db7068430402
Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents:
4021
diff
changeset
|
15 ;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
db7068430402
Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents:
4021
diff
changeset
|
16 ;; for more details. |
5407
7ba892d101ce
Convert remainder in "tests" with plain text GPLv2 to GPLv3
Mats Lidell <matsl@xemacs.org>
parents:
5231
diff
changeset
|
17 |
4709
db7068430402
Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents:
4021
diff
changeset
|
18 ;; You should have received a copy of the GNU General Public License |
5407
7ba892d101ce
Convert remainder in "tests" with plain text GPLv2 to GPLv3
Mats Lidell <matsl@xemacs.org>
parents:
5231
diff
changeset
|
19 ;; along with XEmacs. If not, see <http://www.gnu.org/licenses/>. |
4709
db7068430402
Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents:
4021
diff
changeset
|
20 |
462 | 21 ;also do this: make two frames, one viewing "*scratch*", the other "foo". |
22 ;in *scratch*, type (sit-for 20)^J | |
23 ;wait a couple of seconds, move cursor to foo, type "a" | |
24 ;a should be inserted in foo. Cursor highlighting should not change in | |
25 ;the meantime. | |
26 | |
27 ;do it with sleep-for. move cursor into foo, then back into *scratch* | |
28 ;before typing. | |
29 ;repeat also with (accept-process-output nil 20) | |
30 | |
31 ;make sure ^G aborts sit-for, sleep-for and accept-process-output: | |
32 | |
33 (defun tst () | |
34 (list (condition-case c | |
35 (sleep-for 20) | |
36 (quit c)) | |
37 (read-char))) | |
38 | |
39 (tst)^Ja^G ==> ((quit) 97) with no signal | |
40 (tst)^J^Ga ==> ((quit) 97) with no signal | |
41 (tst)^Jabc^G ==> ((quit) 97) with no signal, and "bc" inserted in buffer | |
42 | |
43 ; with sit-for only do the 2nd test. | |
5384
3889ef128488
Fix misspelled words, and some grammar, across the entire source tree.
Jerry James <james@xemacs.org>
parents:
5287
diff
changeset
|
44 ; Do all 3 tests with (accept-process-output nil 20) |
462 | 45 |
46 /* | |
47 Additional test cases for accept-process-output, sleep-for, sit-for. | |
48 Be sure you do all of the above checking for C-g and focus, too! | |
49 | |
50 ; Make sure that timer handlers are run during, not after sit-for: | |
51 (defun timer-check () | |
4021 | 52 (add-timeout 2 #'(lambda (ignore) (message "timer ran")) nil) |
462 | 53 (sit-for 5) |
54 (message "after sit-for")) | |
55 | |
56 ; The first message should appear after 2 seconds, and the final message | |
57 ; 3 seconds after that. | |
58 ; repeat above test with (sleep-for 5) and (accept-process-output nil 5) | |
59 | |
60 ; Make sure that process filters are run during, not after sit-for. | |
61 (defun fubar () | |
62 (message "sit-for = %s" (sit-for 30))) | |
63 (add-hook 'post-command-hook 'fubar) | |
64 | |
65 ; Now type M-x shell RET | |
66 ; wait for the shell prompt then send: ls RET | |
67 ; the output of ls should fill immediately, and not wait 30 seconds. | |
68 | |
69 ; repeat above test with (sleep-for 30) and (accept-process-output nil 30) | |
70 | |
71 | |
72 | |
73 ; Make sure that recursive invocations return immediately: | |
74 (defmacro test-diff-time (start end) | |
75 `(+ (* (- (car ,end) (car ,start)) 65536.0) | |
76 (- (cadr ,end) (cadr ,start)) | |
77 (/ (- (caddr ,end) (caddr ,start)) 1000000.0))) | |
78 | |
79 (defun testee (ignore) | |
80 (sit-for 10)) | |
81 | |
82 (defun test-them () | |
83 (let ((start (current-time)) | |
84 end) | |
85 (add-timeout 2 'testee nil) | |
86 (sit-for 5) | |
87 (add-timeout 2 'testee nil) | |
88 (sleep-for 5) | |
89 (add-timeout 2 'testee nil) | |
90 (accept-process-output nil 5) | |
91 (setq end (current-time)) | |
92 (test-diff-time start end))) | |
93 | |
94 (test-them) should sit for 15 seconds. |