# -*- tcl -*- ########################################################################## # TEPAM - Tcl's Enhanced Procedure and Argument Manager ########################################################################## # # adbox_widgets.test: # This file is part of the enhanced procedure and argument manager's regression # test. It verifies the basic functionalities (create, set, get) of all entry widgets. # # Copyright (C) 2009, 2010 Andreas Drollinger # # Id: adbox_widgets.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 ######## Entry ######## frame .f array set Option {} test tepam-adbox.widg.ent.cr "argument_dialogbox, all widgets: entry - create" \ -body {tepam::ad_form(entry) .f create} \ -result "*" \ -match glob set tn 0 foreach Data { "This is a basic entry" "This is another entry" } { incr tn test tepam-adbox.widg.ent$tn.st "argument_dialogbox, all widgets: entry $tn - set" \ -body "tepam::ad_form(entry) .f set \"$Data\"" \ -result "*" \ -match glob test tepam-adbox.widg.ent$tn.gt "argument_dialogbox, all widgets: entry $tn - get" \ -body {tepam::ad_form(entry) .f get} \ -result $Data \ -match exact } destroy .f array unset Option ######## Text ######## frame .f frame .f.f array set Option {} set Framed 0 test tepam-adbox.widg.txt.cr "argument_dialogbox, all widgets: text - create" \ -body {tepam::ad_form(text) .f.f create} \ -result "*" \ -match glob set tn 0 foreach Data { "This is a text entry" "This is another text" } { incr tn test tepam-adbox.widg.txt$tn.st "argument_dialogbox, all widgets: text $tn - set" \ -body "tepam::ad_form(text) .f.f set \"$Data\"" \ -result "*" \ -match glob test tepam-adbox.widg.txt$tn.gt "argument_dialogbox, all widgets: text $tn - get" \ -body {tepam::ad_form(text) .f.f get} \ -result $Data \ -match exact } destroy .f array unset Option ######## Color ######## frame .f array set Option {} test tepam-adbox.widg.col.cr "argument_dialogbox, all widgets: color - create" \ -body {tepam::ad_form(color) .f create} \ -result "*" \ -match glob set tn 0 foreach Data {red blue yellow} { incr tn test tepam-adbox.widg.col$tn.st "argument_dialogbox, all widgets: color $tn - set" \ -body "tepam::ad_form(color) .f set \"$Data\"" \ -result "*" \ -match glob test tepam-adbox.widg.col$tn.gt "argument_dialogbox, all widgets: color $tn - get" \ -body {tepam::ad_form(color) .f get} \ -result $Data \ -match exact } destroy .f array unset Option ######## File and Directories ######## set fd 0 foreach FileDir {existingdirectory directory existingfile file} { incr fd frame .f array set Option {} test tepam-adbox.widg.fd$fd.cr "argument_dialogbox, all widgets: Files/Directories - create" \ -body "tepam::ad_form($FileDir) .f create" \ -result "*" \ -match glob set tn 0 foreach Data {my_dir your_directory} { incr tn test tepam-adbox.widg.fd$fd.st$tn "argument_dialogbox, all widgets: Files/Directories $tn - set" \ -body "tepam::ad_form($FileDir) .f set \"$Data\"" \ -result "*" \ -match glob test tepam-adbox.widg.fd$fd.gt$tn "argument_dialogbox, all widgets: Files/Directories $tn - get" \ -body "tepam::ad_form($FileDir) .f get" \ -result $Data \ -match exact } destroy .f array unset Option } ######## Combobox ######## frame .f array set Option {} test tepam-adbox.widg.combo.cr "argument_dialogbox, all widgets: Combo box - create" \ -body { tepam::ad_form(combobox) .f create; tepam::ad_form(combobox) .f set_choice {123 234 345 456 567 678 789} } \ -result "*" \ -match glob set tn 0 foreach Data {234 456 678} { incr tn test tepam-adbox.widg.combo$tn.st "argument_dialogbox, all widgets: Combo box $tn - set" \ -body "tepam::ad_form(combobox) .f set \"$Data\"" \ -result "*" \ -match glob test tepam-adbox.widg.combo$tn.oc "argument_dialogbox, all widgets: Combo box $tn - open/close selection" \ -body { tepam::ad_form(combobox) .f open_selection; tepam::ad_form(combobox) .f close_selection } \ -result "*" \ -match glob test tepam-adbox.widg.combo$tn.gt "argument_dialogbox, all widgets: Combo box $tn - get" \ -body {tepam::ad_form(combobox) .f get} \ -result $Data \ -match exact } destroy .f array unset Option ######## Listbox ######## set tn 0 foreach {ListboxOptions Choices Datas} { "-multiple_selection 0" {123 234 345 456 567 678 789} {234 456 678} "-multiple_selection 1" {123 234 345 456 567 678 789} {234 678} "-multiple_selection 1" {123 234 345 456 567 678 789} {{234 456} {345 678}} } { incr tn frame .f frame .f.f array set Option $ListboxOptions set Framed 0 test tepam-adbox.widg.lstb$tn.cr "argument_dialogbox, all widgets: Listbox $tn - create" \ -body { tepam::ad_form(listbox) .f.f create tepam::ad_form(listbox) .f.f set_choice $Choices } \ -result "*" \ -match glob # Check that the default selected value is the first value in the list test tepam-adbox.widg.lstb$tn.gt "argument_dialogbox, all widgets: Listbox $tn - get" \ -body {tepam::ad_form(listbox) .f.f get} \ -result 123 \ -match exact # Perform several set/get operations set sn 0 foreach Data $Datas { incr sn test tepam-adbox.widg.lstb$tn.st$sn "argument_dialogbox, all widgets: Listbox $tn - set $sn" \ -body "tepam::ad_form(listbox) .f.f set \"$Data\"" \ -result "*" \ -match glob test tepam-adbox.widg.lstb$tn.gt$sn "argument_dialogbox, all widgets: Listbox $tn - get $sn" \ -body {tepam::ad_form(listbox) .f.f get} \ -result $Data \ -match exact } destroy .f array unset Option } ######## Disjoint listbox ######## frame .f frame .f.f array set Option {} set Framed 0 test tepam-adbox.widg.djlb.cr "argument_dialogbox, all widgets: Disjoint listbox - create" \ -body { tepam::ad_form(disjointlistbox) .f.f create; tepam::ad_form(disjointlistbox) .f.f set_choice {123 234 345 456 567 678 789} } \ -result "*" \ -match glob # Check that nothing is selected by default test tepam-adbox.widg.djlb.gt "argument_dialogbox, all widgets: Listbox $tn - get" \ -body {tepam::ad_form(disjointlistbox) .f.f get} \ -result {} \ -match exact set tn 0 foreach Data {234 {123 234 345 456 567 678 789} {234 456}} { incr tn test tepam-adbox.widg.djlb$tn.st "argument_dialogbox, all widgets: Disjoint listbox $tn - set" \ -body "tepam::ad_form(disjointlistbox) .f.f set \"$Data\"" \ -result "*" \ -match glob test tepam-adbox.widg.djlb$tn.gt "argument_dialogbox, all widgets: Disjoint listbox $tn - get" \ -body {tepam::ad_form(disjointlistbox) .f.f get} \ -result $Data \ -match exact } destroy .f array unset Option ######## Checkbox ######## frame .f array set Option {} set Framed 0 test tepam-adbox.widg.chkbx.cr "argument_dialogbox, all widgets: Checkbox - create" \ -body { tepam::ad_form(checkbox) .f create; tepam::ad_form(checkbox) .f set_choice {123 234 345 456 567} } \ -result "*" \ -match glob # Check that nothing is selected by default test tepam-adbox.widg.chkbx.gt "argument_dialogbox, all widgets: Listbox $tn - get" \ -body {tepam::ad_form(checkbox) .f get} \ -result {} \ -match exact set tn 0 foreach Data {234 {123 234 345 456 567} {234 456}} { incr tn test tepam-adbox.widg.chkbx$tn.st "argument_dialogbox, all widgets: Checkbox $tn - set" \ -body "tepam::ad_form(checkbox) .f set \"$Data\"" \ -result "*" \ -match glob test tepam-adbox.widg.chkbx$tn.gt "argument_dialogbox, all widgets: Checkbox $tn - get" \ -body {tepam::ad_form(checkbox) .f get} \ -result $Data \ -match exact } destroy .f array unset Option ######## Radiobox ######## frame .f array set Option {} set Framed 0 test tepam-adbox.widg.rdiobx.cr "argument_dialogbox, all widgets: Radiobox - create" \ -body { tepam::ad_form(radiobox) .f create; tepam::ad_form(radiobox) .f set_choice {123 234 345 456 567} } \ -result "*" \ -match glob # Check that the first item is selected by default test tepam-adbox.widg.rdiobx.gt "argument_dialogbox, all widgets: Listbox $tn - get" \ -body {tepam::ad_form(radiobox) .f get} \ -result 123 \ -match exact set tn 0 foreach Data {234 456 567} { incr tn test tepam-adbox.widg.rdiobx$tn.st "argument_dialogbox, all widgets: Radiobox $tn - set" \ -body "tepam::ad_form(radiobox) .f set \"$Data\"" \ -result "*" \ -match glob test tepam-adbox.widg.rdiobx$tn.gt "argument_dialogbox, all widgets: Radiobox $tn - get" \ -body {tepam::ad_form(radiobox) .f get} \ -result $Data \ -match exact } destroy .f array unset Option ######## Checkbutton ######## frame .f array set Option {} set Framed 0 test tepam-adbox.widg.chkbtn.cr "argument_dialogbox, all widgets: Checkbutton - create" \ -body { tepam::ad_form(checkbutton) .f create; } \ -result "*" \ -match glob # Check that the default value is 0 test tepam-adbox.widg.chkbtn.gt "argument_dialogbox, all widgets: Listbox $tn - get" \ -body {tepam::ad_form(checkbutton) .f get} \ -result 0 \ -match exact set tn 0 foreach Data {0 1} { incr tn test tepam-adbox.widg.chkbtn$tn.st "argument_dialogbox, all widgets: Checkbutton $tn - set" \ -body "tepam::ad_form(checkbutton) .f set \"$Data\"" \ -result "*" \ -match glob test tepam-adbox.widg.chkbtn$tn.gt "argument_dialogbox, all widgets: Checkbutton $tn - get" \ -body {tepam::ad_form(checkbutton) .f get} \ -result $Data \ -match exact } destroy .f array unset Option #### Font selector #### # 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]]] frame .f frame .f.f array set Option {} set Framed 0 test tepam-adbox.widg.f.font.cr "argument_dialogbox, all widgets: Font - create" \ -body { tepam::ad_form(font) .f.f create; } \ -result "*" \ -match glob test tepam-adbox.widg.f.font.gt "argument_dialogbox, all widgets: Listbox $tn - get" \ -body {tepam::ad_form(font) .f.f get} \ -result $DefaultFont \ -match exact set tn 0 foreach Data { {Arial 8} {Arial 10 bold} {Courier 12 underline} {Arial 12 italic} {Arial 12 overstrike} } { incr tn test tepam-adbox.widg.f.font$tn.st "argument_dialogbox, all widgets: Font $tn - set" \ -body "tepam::ad_form(font) .f.f set \"$Data\"" \ -result "*" \ -match glob test tepam-adbox.widg.f.font$tn.gt "argument_dialogbox, all widgets: Font $tn - get" \ -body {tepam::ad_form(font) .f.f get} \ -result $Data \ -match exact } destroy .f .lfont array unset Option ######## That's all ######## ::tcltest::cleanupTests return ########################################################################## # Id: adbox_widgets.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 ##########################################################################