annotate tests/automated/tag-tests.el @ 2071:0f60caa73962

[xemacs-hg @ 2004-05-11 11:33:08 by stephent] gensym docstring <87r7tryzla.fsf@tleepslib.sk.tsukuba.ac.jp> set-eol-detection fix <87vfj3yzs8.fsf@tleepslib.sk.tsukuba.ac.jp> etags.el tests <87zn8fz03v.fsf@tleepslib.sk.tsukuba.ac.jp>
author stephent
date Tue, 11 May 2004 11:33:22 +0000
parents
children 65dae79be48b
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
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
29 ;; Test tag completion.
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")
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
33 (tagfile "TAGS"))
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
34
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
35 ;; Create a TAGS file
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
36 (with-temp-file tagfile
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
37 (insert
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
38 "
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
39 tag-test.c,99
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
40 struct mystruct mystruct2,1
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
41 struct mystruct *foo\(4,23
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
42 DEFUN \(\"require\", Frequire,require,7,51
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
43 "))
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
44
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
45 ;; Create the test file
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
46 (with-temp-file testfile
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
47 (insert
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
48 "
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
49 struct mystruct { };
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
50
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
51 struct mystruct *foo\(\) {
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
52 }
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 DEFUN \(\"require\", Frequire, 1, 2, 0, /*
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
55 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
56 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
57 is not loaded; so load the file FILENAME.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
58 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
59 */
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
60 \(feature, filename\)\)
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
61 {
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 "))
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 (let ((tags-always-exact t))
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 ;; Search for the tag "mystruct"; this should succeed
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
68 (find-tag "mystruct")
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
69 (Assert (eq (point) 2))
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
70
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
71 ;; 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
72 ;; Sven Grundmann submitted for 21.4.16.
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
73 (Check-Error-Message error "No more entries matching mystruct"
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
74 (tags-loop-continue)))
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
75
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
76 (let ((tags-always-exact nil))
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
77
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
78 ;; 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
79 ;; 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
80 (condition-case nil
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
81 (find-tag "require")
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
82 (t t))
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
83 (Assert (eq (point) 52)))
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
84
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
85 (kill-buffer testfile)
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
86 (delete-file testfile)
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
87 (kill-buffer tagfile)
0f60caa73962 [xemacs-hg @ 2004-05-11 11:33:08 by stephent]
stephent
parents:
diff changeset
88 (delete-file tagfile))