1# Commands covered:  various
2#
3# This file contains a collection of miscellaneous Tcl tests that
4# don't fit naturally in any of the other test files.  Many of these
5# tests are pathological cases that caused bugs in earlier Tcl
6# releases.
7#
8# Copyright © 1992-1993 The Regents of the University of California.
9# Copyright © 1994-1996 Sun Microsystems, Inc.
10# Copyright © 1998-1999 Scriptics Corporation.
11#
12# See the file "license.terms" for information on usage and redistribution
13# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
14
15if {"::tcltest" ni [namespace children]} {
16    package require tcltest 2.5
17    namespace import -force ::tcltest::*
18}
19
20::tcltest::loadTestedCommands
21catch [list package require -exact tcl::test [info patchlevel]]
22
23testConstraint testhashsystemhash [llength [info commands testhashsystemhash]]
24
25test misc-1.1 {error in variable ref. in command in array reference} {
26    proc tstProc {} {
27	global a
28
29	set tst $a([winfo name $zz])
30	# this is a bogus comment
31	# this is a bogus comment
32	# this is a bogus comment
33	# this is a bogus comment
34	# this is a bogus comment
35	# this is a bogus comment
36	# this is a bogus comment
37	# this is a bogus comment
38    }
39    set msg {}
40    list [catch tstProc msg] $msg
41} {1 {can't read "zz": no such variable}}
42test misc-1.2 {error in variable ref. in command in array reference} {
43    proc tstProc {} "
44	global a
45
46	set tst \$a(\[winfo name \$\{zz)
47	# this is a bogus comment
48	# this is a bogus comment
49	# this is a bogus comment
50	# this is a bogus comment
51	# this is a bogus comment
52	# this is a bogus comment
53	# this is a bogus comment
54	# this is a bogus comment
55    "
56    set msg {}
57    join [list [catch tstProc msg] $msg $::errorInfo] \n
58} [subst -novariables -nocommands {1
59missing close-brace for variable name
60missing close-brace for variable name
61    while executing
62"set tst $a([winfo name $\{"
63    (procedure "tstProc" line 4)
64    invoked from within
65"tstProc"}]
66
67for {set i 1} {$i<300} {incr i} {
68    test misc-2.$i {hash table with sys-alloc} testhashsystemhash \
69	    "testhashsystemhash $i" OK
70}
71
72# cleanup
73::tcltest::cleanupTests
74return
75