# # AAA - first test executed in test suite # ---------------------------------------------------------------------- # AUTHOR: Michael J. McLennan Phone: (610)712-2842 # AT&T Bell Laboratories E-mail: michael.mclennan@att.com # # RCS: AAA.test,v 1.1.1.1 1994/03/21 22:09:50 mmc Exp # ---------------------------------------------------------------------- # Copyright (c) 1993 AT&T Bell Laboratories # ====================================================================== # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose and without fee is hereby granted, # provided that the above copyright notice appear in all copies and that # both that the copyright notice and warranty disclaimer appear in # supporting documentation, and that the names of AT&T Bell Laboratories # any of their entities not be used in advertising or publicity # pertaining to distribution of the software without specific, written # prior permission. # # AT&T disclaims all warranties with regard to this software, including # all implied warranties of merchantability and fitness. In no event # shall AT&T be liable for any special, indirect or consequential # damages or any damages whatsoever resulting from loss of use, data or # profits, whether in an action of contract, negligence or other # tortuous action, arising out of or in connection with the use or # performance of this software. # ====================================================================== # ---------------------------------------------------------------------- # SHOULD HAVE A CLEAN SLATE # ---------------------------------------------------------------------- test {No object info (no classes)} { itcl_info classes } { $result == "" } test {No object info (no objects)} { itcl_info objects } { $result == "" } # ---------------------------------------------------------------------- # TEST CLASS AUTO-LOADING # ---------------------------------------------------------------------- test {Force auto-loading through inheritance} { FooBar x } { $result == "x" } test {Info: all classes} { itcl_info classes } { [test_cmp_lists $result {Foo Bar FooBar}] } test {Info: all classes matching a pattern} { itcl_info classes *oo* } { [test_cmp_lists $result {Foo FooBar}] } # ---------------------------------------------------------------------- # OBJECT AUTO-NUMBERING # ---------------------------------------------------------------------- test {Create object with auto-naming} { FooBar #auto -blit x } { $result == "FooBar0" && [FooBar0 info public blit -value] == "x" } test {Create object with auto-naming} { FooBar #auto -blit y } { $result == "FooBar1" && [FooBar1 info public blit -value] == "y" } test {Auto-naming should avoid names already in use} { FooBar FooBar2 FooBar FooBar3 FooBar FooBar4 FooBar #auto } { $result == "FooBar5" } test {Destroy all outstanding objects} { foreach obj [itcl_info objects] { $obj delete } } { $result == "" }