⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 io.test

📁 tcl是工具命令语言
💻 TEST
📖 第 1 页 / 共 5 页
字号:
    gets $f    fconfigure $f -blocking 0    set x [list [gets $f line] $line [testchannel queuedcr $f]]    fconfigure $f -blocking 1    puts -nonewline $f "\n\x1a"    lappend x [gets $f line] $line [testchannel queuedcr $f]    close $f    set x} [list 15 "123456789abcdef" 1 -1 "" 0]test io-6.47 {Tcl_GetsObj: auto mode: \r at end of buffer, peek for \n} {testchannel} {    # (eol == dstEnd)    set f [open $path(test1) w]    fconfigure $f -translation lf    puts -nonewline $f "123456789012345\r\nabcdefghijklmnopq"    close $f    set f [open $path(test1)]    fconfigure $f -translation auto -buffersize 16    set x [list [gets $f] [testchannel inputbuffered $f]]    close $f    set x} [list "123456789012345" 15]    test io-6.48 {Tcl_GetsObj: auto mode: \r at end of buffer, no more avail} {testchannel} {    # PeekAhead() did not get any, so (eol >= dstEnd)        set f [open $path(test1) w]    fconfigure $f -translation lf    puts -nonewline $f "123456789012345\r"    close $f    set f [open $path(test1)]    fconfigure $f -translation auto -buffersize 16    set x [list [gets $f] [testchannel queuedcr $f]]    close $f    set x} [list "123456789012345" 1]test io-6.49 {Tcl_GetsObj: auto mode: \r followed by \n} {testchannel} {    # if (*eol == '\n') {skip++}        set f [open $path(test1) w]    fconfigure $f -translation lf    puts -nonewline $f "123456\r\n78901"    close $f    set f [open $path(test1)]    set x [list [gets $f] [testchannel queuedcr $f] [tell $f] [gets $f]]    close $f    set x} [list "123456" 0 8 "78901"]test io-6.50 {Tcl_GetsObj: auto mode: \r not followed by \n} {testchannel} {    # not (*eol == '\n')         set f [open $path(test1) w]    fconfigure $f -translation lf    puts -nonewline $f "123456\r78901"    close $f    set f [open $path(test1)]    set x [list [gets $f] [testchannel queuedcr $f] [tell $f] [gets $f]]    close $f    set x} [list "123456" 0 7 "78901"]test io-6.51 {Tcl_GetsObj: auto mode: \n} {    # else if (*eol == '\n') {goto gotoeol;}        set f [open $path(test1) w]    fconfigure $f -translation lf    puts -nonewline $f "123456\n78901"    close $f    set f [open $path(test1)]    set x [list [gets $f] [tell $f] [gets $f]]    close $f    set x} [list "123456" 7 "78901"]test io-6.52 {Tcl_GetsObj: saw EOF character} {testchannel} {    # if (eof != NULL)    set f [open $path(test1) w]    fconfigure $f -translation lf    puts -nonewline $f "123456\x1ak9012345\r"    close $f    set f [open $path(test1)]    fconfigure $f -eofchar \x1a    set x [list [gets $f] [testchannel queuedcr $f] [tell $f] [gets $f]]    close $f    set x} [list "123456" 0 6 ""]test io-6.53 {Tcl_GetsObj: device EOF} {    # didn't produce any bytes    set f [open $path(test1) w]    close $f    set f [open $path(test1)]    set x [list [gets $f line] $line [eof $f]]    close $f    set x} {-1 {} 1}test io-6.54 {Tcl_GetsObj: device EOF} {    # got some bytes before EOF.    set f [open $path(test1) w]    puts -nonewline $f abc    close $f    set f [open $path(test1)]    set x [list [gets $f line] $line [eof $f]]    close $f    set x} {3 abc 1}test io-6.55 {Tcl_GetsObj: overconverted} {    # Tcl_ExternalToUtf(), make sure state updated    set f [open $path(test1) w]    fconfigure $f -encoding iso2022-jp    puts $f "there\u4e00ok\n\u4e01more bytes\nhere"    close $f    set f [open $path(test1)]    fconfigure $f -encoding iso2022-jp    set x [list [gets $f line] $line [gets $f line] $line [gets $f line] $line]    close $f    set x} [list 8 "there\u4e00ok" 11 "\u4e01more bytes" 4 "here"]test io-6.56 {Tcl_GetsObj: incomplete lines should disable file events} {stdio} {    update    set f [open "|[list [interpreter] $path(cat)]" w+]    fconfigure $f -buffering none    puts -nonewline $f "foobar"    fconfigure $f -blocking 0    variable x {}    after 500 [namespace code { lappend x timeout }]    fileevent $f readable [namespace code { lappend x [gets $f] }]    vwait [namespace which -variable x]    vwait [namespace which -variable x]    fconfigure $f -blocking 1    puts -nonewline $f "baz\n"    after 500 [namespace code { lappend x timeout }]    fconfigure $f -blocking 0    vwait [namespace which -variable x]    vwait [namespace which -variable x]    close $f    set x} {{} timeout foobarbaz timeout}test io-7.1 {FilterInputBytes: split up character at end of buffer} {    # (result == TCL_CONVERT_MULTIBYTE)    set f [open $path(test1) w]    fconfigure $f -encoding shiftjis    puts $f "1234567890123\uff10\uff11\uff12\uff13\uff14\nend"    close $f    set f [open $path(test1)]    fconfigure $f -encoding shiftjis -buffersize 16    set x [gets $f]    close $f    set x} "1234567890123\uff10\uff11\uff12\uff13\uff14"test io-7.2 {FilterInputBytes: split up character in middle of buffer} {    # (bufPtr->nextAdded < bufPtr->bufLength)        set f [open $path(test1) w]    fconfigure $f -encoding binary    puts -nonewline $f "1234567890\n123\x82\x4f\x82\x50\x82"    close $f    set f [open $path(test1)]    fconfigure $f -encoding shiftjis    set x [list [gets $f line] $line [eof $f]]    close $f    set x} [list 10 "1234567890" 0]test io-7.3 {FilterInputBytes: split up character at EOF} {testchannel} {    set f [open $path(test1) w]    fconfigure $f -encoding binary    puts -nonewline $f "1234567890123\x82\x4f\x82\x50\x82"    close $f    set f [open $path(test1)]    fconfigure $f -encoding shiftjis    set x [list [gets $f line] $line]    lappend x [tell $f] [testchannel inputbuffered $f] [eof $f]    lappend x [gets $f line] $line    close $f    set x} [list 15 "1234567890123\uff10\uff11" 18 0 1 -1 ""]test io-7.4 {FilterInputBytes: recover from split up character} {stdio} {    set f [open "|[list [interpreter] $path(cat)]" w+]    fconfigure $f -encoding binary -buffering none    puts -nonewline $f "1234567890123\x82\x4f\x82\x50\x82"    fconfigure $f -encoding shiftjis -blocking 0    fileevent $f read [namespace code "ready $f"]    variable x {}    proc ready {f} {	variable x	lappend x [gets $f line] $line [fblocked $f]    }    vwait [namespace which -variable x]    fconfigure $f -encoding binary -blocking 1    puts $f "\x51\x82\x52"    fconfigure $f -encoding shiftjis    vwait [namespace which -variable x]    close $f    set x} [list -1 "" 1 17 "1234567890123\uff10\uff11\uff12\uff13" 0]test io-8.1 {PeekAhead: only go to device if no more cached data} {testchannel} {    # (bufPtr->nextPtr == NULL)    set f [open $path(test1) w]    fconfigure $f -encoding ascii -translation lf    puts -nonewline $f "123456789012345\r\n2345678"    close $f    set f [open $path(test1)]    fconfigure $f -encoding ascii -translation auto -buffersize 16    # here    gets $f    set x [testchannel inputbuffered $f]    close $f    set x} "7"test io-8.2 {PeekAhead: only go to device if no more cached data} {stdio testchannel} {    # not (bufPtr->nextPtr == NULL)    set f [open "|[list [interpreter] $path(cat)]" w+]    fconfigure $f -translation lf -encoding ascii -buffering none    puts -nonewline $f "123456789012345\r\nbcdefghijklmnopqrstuvwxyz"    variable x {}    fileevent $f read [namespace code "ready $f"]    proc ready {f} {	variable x	lappend x [gets $f line] $line [testchannel inputbuffered $f]    }    fconfigure $f -encoding unicode -buffersize 16 -blocking 0    vwait [namespace which -variable x]    fconfigure $f -translation auto -encoding ascii -blocking 1    # here    vwait [namespace which -variable x]    close $f    set x} [list -1 "" 42 15 "123456789012345" 25]test io-8.3 {PeekAhead: no cached data available} {stdio testchannel} {    # (bytesLeft == 0)    set f [open "|[list [interpreter] $path(cat)]" w+]    fconfigure $f -translation {auto binary}    puts -nonewline $f "abcdefghijklmno\r"    flush $f    set x [list [gets $f line] $line [testchannel queuedcr $f]]    close $f    set x} [list 15 "abcdefghijklmno" 1]set a "123456789012345678901234567890"append a "123456789012345678901234567890"append a "1234567890123456789012345678901"test io-8.4 {PeekAhead: cached data available in this buffer} {    # not (bytesLeft == 0)    set f [open $path(test1) w+]    fconfigure $f -translation binary    puts $f "${a}\r\nabcdef"    close $f    set f [open $path(test1)]    fconfigure $f -encoding binary -translation auto    # "${a}\r" was converted in one operation (because ENCODING_LINESIZE    # is 30).  To check if "\n" follows, calls PeekAhead and determines    # that cached data is available in buffer w/o having to call driver.    set x [gets $f]    close $f    set x    } $aunset atest io-8.5 {PeekAhead: don't peek if last read was short} {stdio testchannel} {    # (bufPtr->nextAdded < bufPtr->length)    set f [open "|[list [interpreter] $path(cat)]" w+]    fconfigure $f -translation {auto binary}    puts -nonewline $f "abcdefghijklmno\r"    flush $f    # here    set x [list [gets $f line] $line [testchannel queuedcr $f]]    close $f    set x} {15 abcdefghijklmno 1}test io-8.6 {PeekAhead: change to non-blocking mode} {stdio testchannel} {    # ((chanPtr->flags & CHANNEL_NONBLOCKING) == 0)     set f [open "|[list [interpreter] $path(cat)]" w+]    fconfigure $f -translation {auto binary} -buffersize 16    puts -nonewline $f "abcdefghijklmno\r"    flush $f    # here    set x [list [gets $f line] $line [testchannel queuedcr $f]]    close $f    set x} {15 abcdefghijklmno 1}test io-8.7 {PeekAhead: cleanup} {stdio testchannel} {    # Make sure bytes are removed from buffer.    set f [open "|[list [interpreter] $path(cat)]" w+]    fconfigure $f -translation {auto binary} -buffering none    puts -nonewline $f "abcdefghijklmno\r"    # here    set x [list [gets $f line] $line [testchannel queuedcr $f]]    puts -nonewline $f "\x1a"    lappend x [gets $f line] $line    close $f    set x} {15 abcdefghijklmno 1 -1 {}}    test io-9.1 {CommonGetsCleanup} {} {}test io-10.1 {Tcl_ReadChars: CheckChannelErrors} {    # no test, need to cause an async error.} {}test io-10.2 {Tcl_ReadChars: loop until enough copied} {    # one time    # for (copied = 0; (unsigned) toRead > 0; )    set f [open $path(test1) w]    puts $f abcdefghijklmnop    close $f    set f [open $path(test1)]    set x [read $f 5]    close $f    set x} {abcde}test io-10.3 {Tcl_ReadChars: loop until enough copied} {    # multiple times    # for (copied = 0; (unsigned) toRead > 0; )    set f [open $path(test1) w]    puts $f abcdefghijklmnopqrstuvwxyz    close $f    set f [open $path(test1)]    fconfigure $f -buffersize 16    # here    set x [read $f 19]    close $f    set x} {abcdefghijklmnopqrs}test io-10.4 {Tcl_ReadChars: no more in channel buffer} {    # (copiedNow < 0)    set f [open $path(test1) w]    puts -nonewline $f abcdefghijkl    close $f    set f [open $path(test1)]    # here    set x [read $f 1000]    close $f    set x} {abcdefghijkl}test io-10.5 {Tcl_ReadChars: stop on EOF} {    # (chanPtr->flags & CHANNEL_EOF)    set f [open $path(test1) w]    puts -nonewline $f abcdefghijkl    close $f    set f [open $path(test1)]    # here    set x [read $f 1000]    close $f    set x} {abcdefghijkl}test io-11.1 {ReadBytes: want to read a lot} {    # ((unsigned) toRead > (unsigned) srcLen)    set f [open $path(test1) w]    puts -nonewline $f abcdefghijkl    close $f    set f [open $path(test1)]    fconfigure $f -encoding binary    # here    set x [read $f 1000]    close $f    set x} {abcdefghijkl}test io-11.2 {ReadBytes: want to read all} {    # ((unsigned) toRead > (unsigned) srcLen)    set f [open $path(test1) w]    puts -nonewline $f abcdefghijkl    close $f    set f [open $path(test1)]    fconfigure $f -encoding binary    # here    set x [read $f]    close $f    set x} {abcdefghijkl}test io-11.3 {ReadBytes: allocate more space} {    # (toRead > length - offset - 1)    set f [open $path(test1) w]    puts -nonewline $f abcdefghijklmnopqrstuvwxyz    close $f    set f [open $path(test1)]    fconfigure $f -buffersize 16 -encoding binary    # here    set x [read $f]    close $f    set x} {abcdefghijklmnopqrstuvwxyz}test io-11.4 {ReadBytes: EOF char found} {    # (TranslateInputEOL() != 0)    set f [open $path(test1) w]    puts $f abcdefghijklmnopqrstuvwxyz    close $f    set f [open $path(test1)]    fconfigure $f -eofchar m -encoding binary    # here    set x [list [read $f] [eof $f] [read $f] [eof $f]]    close $f    set x} [list "abcdefghijkl" 1 "" 1]    test io-12.1 {ReadChars: want to read a lot} {    # ((unsigned) toRead > (unsigned) srcLen)    set f [open $path(test1) w]    puts -nonewline $f abcdefghijkl    close $f    set f [open $path(test1)]    # here    set x [read $f 1000]    close $f    set x} {abcdefghijkl}test io-12.2 {ReadChars: want to read all} {    # ((unsigned) toRead > (unsigned) srcLen)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -