diff options
Diffstat (limited to 'tcllib/modules/tepam/adbox_all.test')
-rw-r--r-- | tcllib/modules/tepam/adbox_all.test | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/tcllib/modules/tepam/adbox_all.test b/tcllib/modules/tepam/adbox_all.test new file mode 100644 index 0000000..b9c71c3 --- /dev/null +++ b/tcllib/modules/tepam/adbox_all.test @@ -0,0 +1,156 @@ +# -*- tcl -*- +########################################################################## +# TEPAM - Tcl's Enhanced Procedure and Argument Manager +########################################################################## +# +# adbox_all.test: +# This file is part of the enhanced procedure and argument manager's regression +# test. It verifies the argument_dialogbox in conjunction with all its different +# data entry widgets. +# +# Copyright (C) 2009, 2010 Andreas Drollinger +# +# Id: adbox_all.test +########################################################################## +# See the file "license.terms" for information on usage and redistribution +# of this file, and for a DISCLAIMER OF ALL WARRANTIES. +########################################################################## + +source [file join \ + [file dirname [file dirname [file join [pwd] [info script]]]] \ + devtools testutilities.tcl] + +testsNeedTcl 8.3 +testsNeedTcltest 1.0 +testsNeed Tk 8.3 + +catch {namespace delete ::tepam} +testing { + useLocal tepam.tcl tepam +} + +tepam::GuiEnvironmentInit + +######## Check all major functionalities of the argument dialogbox in conjunction with all widgets ######## + +# Evaluate the default font name. Use the 'font actual' command to evaluate the real font +# names (Tk8.5 uses pseudo font names like 'TkDefaultFont'). +set DefaultFontOrig [[label .lfont] cget -font] +set DefaultFont [list [font actual $DefaultFontOrig -family] \ + [expr [font actual $DefaultFontOrig -size]<6 ? 6 : [font actual $DefaultFontOrig -size]]] + +foreach {ShortType WidgetType OkCode OkValue DefaultValue SetValue Attributes} { + ent entry ok "" "Test Phrase" "This is a test" "" + txt text ok "" "Test Phrase" "This is a test" "" + col color error "*Required type is *" "red" "blue" "" + dir directory ok "" "test_dir" "other_dir" "" + file file error "*Required type is *" "test_file" "other_file" "" + lbx1 listbox ok "1" "2" "3" "-choices {1 2 3 4 5 6}" + lbx2 listbox ok "1" {2 4} {3 5} "-choices {1 2 3 4 5 6} -multiple_selection 1" + lbx1 combobox ok "" "2" "3" "-choices {1 2 3 4 5 6}" + dlbx disjointlistbox ok "" {2 4} {2 5} "-choices {1 2 3 4 5 6}" + cbx checkbox ok "" {2 4} {2 5} "-choices {1 2 3 4 5 6}" + rbx radiobox ok "1" {2 4} {2 5} "-choices {1 2 3 4 5 6}" + cbtn checkbutton ok "0" 1 1 "" + fnt font ok $DefaultFont {Courier 7} {Arial 6} "" +} { + append Attributes " -variable Result" + + # Check the 'Cancel' functionality: + + set tepam::argument_dialogbox(test,status) cancel + set tepam::argument_dialogbox(test,script) "" + catch {unset Result} + + test tepam-adbox.all.$ShortType.cr1 "argument_dialogbox with $WidgetType widget - create 1" \ + -body "tepam::argument_dialogbox -$WidgetType \{$Attributes\} " \ + -result "cancel" \ + -match exact + + test tepam-adbox.all.$ShortType.re1 "argument_dialogbox with $WidgetType widget - result 1" \ + -body {info exists Result} \ + -result 0 \ + -match exact + + # Check the 'OK' functionality without providing a default value: + + set tepam::argument_dialogbox(test,status) ok + set tepam::argument_dialogbox(test,script) "" + catch {unset Result} + + if {$OkCode=="ok"} { + test tepam-adbox.all.$ShortType.cr2 "argument_dialogbox with $WidgetType widget - create 2" \ + -body "tepam::argument_dialogbox -$WidgetType \{$Attributes\}" \ + -result "ok" \ + -match exact + + test tepam-adbox.all.$ShortType.re2 "argument_dialogbox with $WidgetType widget - result 2" \ + -body {set Result} \ + -result [subst $OkValue] \ + -match exact + } else { + test tepam-adbox.all.$ShortType.cr2 "argument_dialogbox with $WidgetType widget - create 2" \ + -body { tepam::argument_dialogbox -$WidgetType {-variable Result} } \ + -returnCodes $OkCode \ + -result [subst $OkValue] \ + -match glob + } + + # Check the 'OK' functionality, provide a default value: + + set tepam::argument_dialogbox(test,status) ok + set tepam::argument_dialogbox(test,script) "" + catch {unset Result} + + test tepam-adbox.all.$ShortType.cr3 "argument_dialogbox with $WidgetType widget - create 3" \ + -body "tepam::argument_dialogbox -$WidgetType \{$Attributes -default \"$DefaultValue\"\}" \ + -result "ok" \ + -match exact + + test tepam-adbox.all.$ShortType.re3 "argument_dialogbox with $WidgetType widget - result 3" \ + -body {set Result} \ + -result [subst $DefaultValue] \ + -match exact + + # Check the 'OK' functionality, provide a default value and change change then this value: + + set tepam::argument_dialogbox(test,status) ok + set tepam::argument_dialogbox(test,script) "ad_form($WidgetType) \$WChild(0).f set \"$SetValue\"" + catch {unset Result} + + test tepam-adbox.all.$ShortType.cr4 "argument_dialogbox with $WidgetType widget - create 4" \ + -body "tepam::argument_dialogbox -$WidgetType \{$Attributes -default \"$DefaultValue\"\}" \ + -result "ok" \ + -match exact + + test tepam-adbox.all.$ShortType.re4 "argument_dialogbox with $WidgetType widget - result 4" \ + -body {set Result} \ + -result [subst $SetValue] \ + -match exact + +} + +######## That's all ######## + +destroy .lfont; # Remove again the label widget to evaluate the default font +::tcltest::cleanupTests +return + +########################################################################## +# Id: adbox_all.test +# Modifications: +# +# Revision 1.3 2012/05/07 20:26:02 droll +# * TEPAM version 0.4.0 +# * Add the new text procedure argument type and the text multi line data +# entry widget. +# +# Revision 1.2 2011/11/09 05:43:30 andreas_kupries +# +# * adbox_all.test: [Bug 3422990]: Fixed these test files to +# * adbox_widgets.test: properly register their need for Tk +# * proc_interactive.test: and not execute without it. +# +# Revision 1.1 2010/02/11 21:50:55 droll +# * TEPAM module checkin +########################################################################## |