xmfbox.test
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:5k
源码类别:

通讯编程

开发平台:

Visual C++

  1. # xmfbox.test -- 
  2. #
  3. # This file is a Tcl script to test the file dialog that's used
  4. # when the tk_strictMotif flag is set. Because the file dialog
  5. # runs in a modal loop, the only way to test it sufficiently is
  6. # to call the internal Tcl procedures in xmfbox.tcl directly.
  7. #
  8. # Copyright (c) 1997 Sun Microsystems, Inc.
  9. # Copyright (c) 1998-1999 by Scriptics Corporation.
  10. # Contributions from Don Porter, NIST, 2002.  (not subject to US copyright)
  11. # All rights reserved.
  12. #
  13. # RCS: @(#) $Id: xmfbox.test,v 1.7 2002/07/13 20:28:36 dgp Exp $
  14. package require tcltest 2.1
  15. namespace import -force tcltest::configure
  16. namespace import -force tcltest::testsDirectory
  17. configure -testdir [file join [pwd] [file dirname [info script]]]
  18. configure -loadfile [file join [testsDirectory] constraints.tcl]
  19. tcltest::loadTestedCommands
  20. set testPWD [pwd]
  21. catch {unset foo}
  22. catch {unset data foo}
  23. proc cleanup {} {
  24.     global testPWD
  25.     set err0 [catch {
  26. cd $testPWD
  27.     } msg0]
  28.     set err1 [catch {
  29. if [file exists ./~nosuchuser1] {
  30.     file delete ./~nosuchuser1
  31. }
  32.     } msg1]
  33.     set err2 [catch {
  34. if [file exists ./~nosuchuser2] {
  35.     file delete ./~nosuchuser2
  36. }
  37.     } msg2]
  38.     set err3 [catch {
  39. if [file exists ./~nosuchuser3] {
  40.     file delete ./~nosuchuser3
  41. }
  42.     } msg3]
  43.     set err4 [catch {
  44. if [file exists ./~nosuchuser4] {
  45.     file delete ./~nosuchuser4
  46. }
  47.     } msg4]
  48.     if {$err0 || $err1 || $err2 || $err3 || $err4} {
  49. error [list $msg0 $msg1 $msg2 $msg3 $msg4] 
  50.     }
  51.     catch {unset foo}
  52.     catch {destroy .foo}
  53. }
  54. test xmfbox-1.1 {tk::MotifFDialog_Create, -parent switch} {unixOnly} {
  55.     catch {unset foo}
  56.     set x [tk::MotifFDialog_Create foo open {-parent .}]
  57.     catch {destroy $x}
  58.     set x
  59. } .foo
  60. test xmfbox-1.2 {tk::MotifFDialog_Create, -parent switch} {unixOnly} {
  61.     catch {unset foo}
  62.     toplevel .bar
  63.     wm geometry .bar +0+0
  64.     set x [tk::MotifFDialog_Create foo open {-parent .bar}]
  65.     catch {destroy $x}
  66.     catch {destroy .bar}
  67.     set x
  68. } .bar.foo
  69. test xmfbox-2.1 {tk::MotifFDialog_InterpFilter, ~ in dir names} {unixOnly} {
  70.     cleanup
  71.     file mkdir ./~nosuchuser1
  72.     set x [tk::MotifFDialog_Create foo open {}]
  73.     $::tk::dialog::file::foo(fEnt) delete 0 end
  74.     $::tk::dialog::file::foo(fEnt) insert 0 [pwd]/~nosuchuser1
  75.     set kk [tk::MotifFDialog_InterpFilter $x]
  76. } [list $testPWD/~nosuchuser1 *]
  77. test xmfbox-2.2 {tk::MotifFDialog_InterpFilter, ~ in file names} {unixOnly} {
  78.     cleanup
  79.     close [open ./~nosuchuser1 {CREAT TRUNC WRONLY}]
  80.     set x [tk::MotifFDialog_Create foo open {}]
  81.     $::tk::dialog::file::foo(fEnt) delete 0 end
  82.     $::tk::dialog::file::foo(fEnt) insert 0 [pwd]/~nosuchuser1
  83.     set kk [tk::MotifFDialog_InterpFilter $x]
  84. } [list $testPWD ./~nosuchuser1]
  85. test xmfbox-2.3 {tk::MotifFDialog_Update, ~ in file names} {unixOnly} {
  86.     cleanup
  87.     close [open ./~nosuchuser1 {CREAT TRUNC WRONLY}]
  88.     set x [tk::MotifFDialog_Create foo open {}]
  89.     $::tk::dialog::file::foo(fEnt) delete 0 end
  90.     $::tk::dialog::file::foo(fEnt) insert 0 [pwd]/~nosuchuser1
  91.     tk::MotifFDialog_InterpFilter $x
  92.     tk::MotifFDialog_Update $x
  93.     $::tk::dialog::file::foo(fList) get end
  94. } ~nosuchuser1
  95. test xmfbox-2.4 {tk::MotifFDialog_LoadFile, ~ in file names} {unixOnly} {
  96.     cleanup
  97.     close [open ./~nosuchuser1 {CREAT TRUNC WRONLY}]
  98.     set x [tk::MotifFDialog_Create foo open {}]
  99.     set i [lsearch [$::tk::dialog::file::foo(fList) get 0 end] ~nosuchuser1]
  100.     expr {$i >= 0}
  101. } 1
  102. test xmfbox-2.5 {tk::MotifFDialog_BrowseFList, ~ in file names} {unixOnly} {
  103.     cleanup
  104.     close [open ./~nosuchuser1 {CREAT TRUNC WRONLY}]
  105.     set x [tk::MotifFDialog_Create foo open {}]
  106.     set i [lsearch [$::tk::dialog::file::foo(fList) get 0 end] ~nosuchuser1]
  107.     $::tk::dialog::file::foo(fList) selection clear 0 end
  108.     $::tk::dialog::file::foo(fList) selection set $i
  109.     tk::MotifFDialog_BrowseFList $x
  110.     $::tk::dialog::file::foo(sEnt) get
  111. } $testPWD/~nosuchuser1
  112. test xmfbox-2.6 {tk::MotifFDialog_ActivateFList, ~ in file names} {unixOnly} {
  113.     cleanup
  114.     close [open ./~nosuchuser1 {CREAT TRUNC WRONLY}]
  115.     set x [tk::MotifFDialog_Create foo open {}]
  116.     set i [lsearch [$::tk::dialog::file::foo(fList) get 0 end] ~nosuchuser1]
  117.     $::tk::dialog::file::foo(fList) selection clear 0 end
  118.     $::tk::dialog::file::foo(fList) selection set $i
  119.     tk::MotifFDialog_BrowseFList $x
  120.     tk::MotifFDialog_ActivateFList $x
  121.     list $::tk::dialog::file::foo(selectPath) 
  122.     $::tk::dialog::file::foo(selectFile) $tk::Priv(selectFilePath)
  123. } [list $testPWD ~nosuchuser1 $testPWD/~nosuchuser1]
  124. # cleanup
  125. cleanup
  126. ::tcltest::cleanupTests
  127. return