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

通讯编程

开发平台:

Visual C++

  1. # This file tests the tclWinFile.c file.
  2. #
  3. # This file contains a collection of tests for one or more of the Tcl
  4. # built-in commands.  Sourcing this file into Tcl runs the tests and
  5. # generates output for errors.  No output means no errors were found.
  6. #
  7. # Copyright (c) 1997 Sun Microsystems, Inc.
  8. # Copyright (c) 1998-1999 by Scriptics Corporation.
  9. #
  10. # See the file "license.terms" for information on usage and redistribution
  11. # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  12. #
  13. # RCS: @(#) $Id: winFile.test,v 1.9.2.1 2003/04/14 15:45:58 vincentdarley Exp $
  14. if {[lsearch [namespace children] ::tcltest] == -1} {
  15.     package require tcltest
  16.     namespace import -force ::tcltest::*
  17. }
  18. test winFile-1.1 {TclpGetUserHome} {pcOnly} {
  19.     list [catch {glob ~nosuchuser} msg] $msg
  20. } {1 {user "nosuchuser" doesn't exist}}
  21. test winFile-1.2 {TclpGetUserHome} {pcOnly nt nonPortable} {
  22.     # The administrator account should always exist.
  23.     catch {glob ~administrator}
  24. } {0}
  25. test winFile-1.3 {TclpGetUserHome} {pcOnly 95} {
  26.     # Find some user in system.ini and then see if they have a home.
  27.     set f [open $::env(windir)/system.ini]
  28.     set x 0
  29.     while {![eof $f]} {
  30. set line [gets $f]
  31. if {$line == "[Password Lists]"} {
  32.     gets $f
  33.     set name [lindex [split [gets $f] =] 0]
  34.     if {$name != ""} {
  35. set x [catch {glob ~$name}]
  36. break
  37.     }
  38. }
  39.     }
  40.     close $f
  41.     set x
  42. } {0}
  43. test winFile-1.4 {TclpGetUserHome} {pcOnly nt nonPortable} {
  44.     catch {glob ~stanton@workgroup}
  45. } {0}
  46. test winFile-2.1 {TclpMatchFiles: case sensitivity} {pcOnly} {
  47.     makeFile {} GlobCapS
  48.     set result [list [glob -nocomplain GlobC*] [glob -nocomplain globc*]]
  49.     removeFile GlobCapS
  50.     set result
  51. } {GlobCapS GlobCapS}
  52. test winFile-2.2 {TclpMatchFiles: case sensitivity} {pcOnly} {
  53.     makeFile {} globlower
  54.     set result [list [glob -nocomplain globl*] [glob -nocomplain gLOBl*]]
  55.     removeFile globlower
  56.     set result
  57. } {globlower globlower}
  58. test winFile-3.1 {file system} {pcOnly} {
  59.     set res "volume types ok"
  60.     foreach vol [file volumes] {
  61. # Have to catch in case there is a removable drive (CDROM, floppy)
  62. # with nothing in it.
  63. catch {
  64.     if {![string equal [lindex [file system $vol] 1] [testvolumetype $vol]]} {
  65. set res "For $vol, we found [file system $vol]
  66.   and [testvolumetype $vol] are different"
  67. break
  68.     }
  69. }
  70.     }
  71.     set res
  72. } {volume types ok}
  73. # cleanup
  74. ::tcltest::cleanupTests
  75. return