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 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
|
# -------------------------------------------------------------------------
# variable.test -*- tcl -*-
# (C) 2017 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
}
testing {
useLocal variable.tcl tcl::chan::variable
}
# -------------------------------------------------------------------------
test tcl-chan-variable-1.0 {constructor wrong\#args} -body {
tcl::chan::variable
} -returnCodes error \
-result {wrong # args: should be "tcl::chan::variable varname"}
test tcl-chan-variable-1.1 {constructor wrong\#args} -body {
tcl::chan::variable V X
} -returnCodes error \
-result {wrong # args: should be "tcl::chan::variable varname"}
# -------------------------------------------------------------------------
test tcl-chan-variable-2.0 {tell, initial, empty} -setup {
set content ""
set c [tcl::chan::variable content]
} -body {
tell $c
} -cleanup {
close $c
unset c content
} -result 0
test tcl-chan-variable-2.1 {seek from start, expand, tell} -setup {
set content ""
set c [tcl::chan::variable content]
} -body {
seek $c 10
tell $c
} -cleanup {
close $c
unset c content
} -result 10
test tcl-chan-variable-2.2 {seek from end, eof, empty, tell} -setup {
set content ""
set c [tcl::chan::variable content]
} -body {
seek $c 0 end
tell $c
} -cleanup {
close $c
unset c content
} -result 0
test tcl-chan-variable-2.3 {seek from end, eof, non-empty, tell} -setup {
set content ""
set c [tcl::chan::variable content]
chan configure $c -translation lf
puts $c Hello
} -body {
seek $c 0 end
tell $c
} -cleanup {
close $c
unset c content
} -result 6
test tcl-chan-variable-2.4 {seek from end, non-eof, non-empty, tell} -setup {
set content ""
set c [tcl::chan::variable content]
chan configure $c -translation lf
puts $c Hello
} -body {
seek $c -6 end
tell $c
} -cleanup {
close $c
unset c content
} -result 0
# -------------------------------------------------------------------------
# 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:
|