1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
#- - -- --- ----- -------- ------------- ---------------------
# cat.test -*- tcl -*-
# (C) 2019 Andreas Kupries. BSD licensed.
#- - -- --- ----- -------- ------------- ---------------------
source [file join \
[file dirname [file dirname [file join [pwd] [info script]]]] \
devtools testutilities.tcl]
testsNeedTcl 8.5
testsNeedTcltest 2.0
testsNeed TclOO 1
support {
use virtchannel_core/core.tcl tcl::chan::core
use virtchannel_core/events.tcl tcl::chan::events
useLocal string.tcl tcl::chan::string
}
testing {
useLocal cat.tcl tcl::chan::cat
}
#- - -- --- ----- -------- ------------- ---------------------
## No wrong#args, allowed to zero and up
#- - -- --- ----- -------- ------------- ---------------------
test tcl-chan-cat-2.0 {tell, nothing} -setup {
set c [tcl::chan::cat]
} -body {
tell $c
} -cleanup {
close $c
unset c
} -result -1
test tcl-chan-cat-2.1 {ticket 1975182bdd - file events} -setup {
# setup a cat'enated channel
set fa [tcl::chan::string "ABCDE..XYZ"]
set fb [tcl::chan::string "0123456789"]
set ch [tcl::chan::cat $fa $fb]
} -body {
set r {}
chan event $ch readable {
if { [eof $ch] } {
set done .
} else {
lappend r [read $ch 4]
}
}
vwait done
set r
} -cleanup {
close $ch
unset ch fa fb r
} -result {ABCD E..X YZ01 2345 6789 {}}
#- - -- --- ----- -------- ------------- ---------------------
# Explicit cleanup of loaded support classes.
rename tcl::chan::events {}
rename tcl::chan::core {}
testsuiteCleanup
return
# Local Variables:
# mode: tcl
# indent-tabs-mode: nil
# End:
|