annotate tests/automated/tag-tests.el @ 2227:8e7b4a0c1a81

[xemacs-hg @ 2004-08-21 17:05:49 by michaels] 2004-08-15 Jan Rychter <jwr@xemacs.org> * window-xemacs.el (really-set-window-configuration): deal gracefully with the case when the buffer previously saved in the configuration (and that we want to switch to) has been killed. Switch to the next buffer on the buffer-list in that case.
author michaels
date Sat, 21 Aug 2004 17:05:51 +0000
parents 58228a446857
children 43b4a54fbf66
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2071
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
1 ;; Copyright (C) 2004 Vin Shelton
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
2
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
3 ;; Author: Vin Shelton <acs@xemacs.org>
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
4 ;; Maintainer: Vin Shelton <acs@xemacs.org>
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
5 ;; Created: 2004
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
6 ;; Keywords: tests
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
7
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
8 ;; This file is part of XEmacs.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
9
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
10 ;; XEmacs is free software; you can redistribute it and/or modify it
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
11 ;; under the terms of the GNU General Public License as published by
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
12 ;; the Free Software Foundation; either version 2, or (at your option)
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
13 ;; any later version.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
14
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
15 ;; XEmacs is distributed in the hope that it will be useful, but
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
16 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
18 ;; General Public License for more details.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
19
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
20 ;; You should have received a copy of the GNU General Public License
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
21 ;; along with XEmacs; see the file COPYING. If not, write to the Free
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
22 ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
23 ;; 02111-1307, USA.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
24
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
25 ;;; Synched up with: Not in FSF.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
26
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
27 ;;; Commentary:
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
28
2073
65dae79be48b [xemacs-hg @ 2004-05-12 06:16:14 by stephent]
stephent
parents: 2071
diff changeset
29 ;; Test tag support.
2071
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
30 ;; See test-harness.el for instructions on how to run these tests.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
31
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
32 (let ((testfile "tag-test.c")
2073
65dae79be48b [xemacs-hg @ 2004-05-12 06:16:14 by stephent]
stephent
parents: 2071
diff changeset
33 (tagfile "TAGS")
65dae79be48b [xemacs-hg @ 2004-05-12 06:16:14 by stephent]
stephent
parents: 2071
diff changeset
34 (tags-build-completion-table nil))
65dae79be48b [xemacs-hg @ 2004-05-12 06:16:14 by stephent]
stephent
parents: 2071
diff changeset
35
65dae79be48b [xemacs-hg @ 2004-05-12 06:16:14 by stephent]
stephent
parents: 2071
diff changeset
36 (cd (temp-directory))
2071
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
37
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
38 ;; Create a TAGS file
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
39 (with-temp-file tagfile
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
40 (insert
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
41 "
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
42 tag-test.c,99
2076
58228a446857 [xemacs-hg @ 2004-05-13 16:41:23 by stephent]
stephent
parents: 2073
diff changeset
43 struct mystruct mystruct2,1
2071
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
44 struct mystruct *foo\(4,23
2076
58228a446857 [xemacs-hg @ 2004-05-13 16:41:23 by stephent]
stephent
parents: 2073
diff changeset
45 DEFUN \(\"require\", Frequire,require,7,51
2071
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
46 "))
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
47
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
48 ;; Create the test file
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
49 (with-temp-file testfile
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
50 (insert
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
51 "
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
52 struct mystruct { };
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
53
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
54 struct mystruct *foo\(\) {
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
55 }
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
56
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
57 DEFUN \(\"require\", Frequire, 1, 2, 0, /*
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
58 If feature FEATURE is not loaded, load it from FILENAME.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
59 If FEATURE is not a member of the list `features', then the feature
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
60 is not loaded; so load the file FILENAME.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
61 If FILENAME is omitted, the printname of FEATURE is used as the file name.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
62 */
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
63 \(feature, filename\)\)
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
64 {
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
65 }
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
66 "))
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
67
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
68 (let ((tags-always-exact t))
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
69
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
70 ;; Search for the tag "mystruct"; this should succeed
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
71 (find-tag "mystruct")
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
72 (Assert (eq (point) 2))
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
73
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
74 ;; Search again. The search should fail, based on the patch that
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
75 ;; Sven Grundmann submitted for 21.4.16.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
76 (Check-Error-Message error "No more entries matching mystruct"
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
77 (tags-loop-continue)))
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
78
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
79 (let ((tags-always-exact nil))
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
80
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
81 ;; Search for the definition of "require". Until the etags.el upgrade
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
82 ;; from 21.5 in 21.4.16, this test would fail.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
83 (condition-case nil
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
84 (find-tag "require")
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
85 (t t))
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
86 (Assert (eq (point) 52)))
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
87
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
88 (kill-buffer testfile)
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
89 (delete-file testfile)
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
90 (kill-buffer tagfile)
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
91 (delete-file tagfile))