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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
21 ;also do this: make two frames, one viewing "*scratch*", the other "foo".
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
22 ;in *scratch*, type (sit-for 20)^J
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
23 ;wait a couple of seconds, move cursor to foo, type "a"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
24 ;a should be inserted in foo. Cursor highlighting should not change in
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
25 ;the meantime.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
26
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
27 ;do it with sleep-for. move cursor into foo, then back into *scratch*
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
28 ;before typing.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
29 ;repeat also with (accept-process-output nil 20)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
30
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
31 ;make sure ^G aborts sit-for, sleep-for and accept-process-output:
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
32
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
33 (defun tst ()
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
34 (list (condition-case c
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
35 (sleep-for 20)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
36 (quit c))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
37 (read-char)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
38
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
39 (tst)^Ja^G ==> ((quit) 97) with no signal
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
40 (tst)^J^Ga ==> ((quit) 97) with no signal
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
41 (tst)^Jabc^G ==> ((quit) 97) with no signal, and "bc" inserted in buffer
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
42
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
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
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
45
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
46 /*
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
47 Additional test cases for accept-process-output, sleep-for, sit-for.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
48 Be sure you do all of the above checking for C-g and focus, too!
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
49
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
50 ; Make sure that timer handlers are run during, not after sit-for:
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
51 (defun timer-check ()
4021
cef5f57bb9e2 [xemacs-hg @ 2007-06-21 13:39:08 by aidan]
aidan
parents: 462
diff changeset
52 (add-timeout 2 #'(lambda (ignore) (message "timer ran")) nil)
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
53 (sit-for 5)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
54 (message "after sit-for"))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
55
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
56 ; The first message should appear after 2 seconds, and the final message
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
57 ; 3 seconds after that.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
58 ; repeat above test with (sleep-for 5) and (accept-process-output nil 5)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
59
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
60 ; Make sure that process filters are run during, not after sit-for.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
61 (defun fubar ()
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
62 (message "sit-for = %s" (sit-for 30)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
63 (add-hook 'post-command-hook 'fubar)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
64
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
65 ; Now type M-x shell RET
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
66 ; wait for the shell prompt then send: ls RET
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
67 ; the output of ls should fill immediately, and not wait 30 seconds.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
68
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
69 ; repeat above test with (sleep-for 30) and (accept-process-output nil 30)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
70
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
71
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
72
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
73 ; Make sure that recursive invocations return immediately:
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
74 (defmacro test-diff-time (start end)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
75 `(+ (* (- (car ,end) (car ,start)) 65536.0)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
76 (- (cadr ,end) (cadr ,start))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
77 (/ (- (caddr ,end) (caddr ,start)) 1000000.0)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
78
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
79 (defun testee (ignore)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
80 (sit-for 10))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
81
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
82 (defun test-them ()
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
83 (let ((start (current-time))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
84 end)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
85 (add-timeout 2 'testee nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
86 (sit-for 5)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
87 (add-timeout 2 'testee nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
88 (sleep-for 5)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
89 (add-timeout 2 'testee nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
90 (accept-process-output nil 5)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
91 (setq end (current-time))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
92 (test-diff-time start end)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
93
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
94 (test-them) should sit for 15 seconds.