00e35bed创建于 2024年7月18日历史提交
// EXEC: cjc %import-path %L %l %f
// EXEC: ./main

import io4cj.*
import std.posix.*
import std.io.*
import std.time.*
import std.fs.*

main () {
    let pi: Pipe = Pipe(6)
    let bu: Buffer = Buffer()
    //let bs: BufferedSink = RealBufferedSink()
    let abcString: String = "abc"
    let abc: Array<UInt8> = abcString.toArray()
    pi.sink().write(bu.write(abc) , 3)

    let so: Source = pi.source()
    let bu1: Buffer = Buffer()


    if(so.read(bu1,6) != 3) {
        return 1
    }
    if(bu1.readUtf8() != "abc") {
        return 1
    }
    pi.sink().close()

    if(so.read(bu1 , 6) != -1){
        return 1
    }
    so.close()
    return 0
}