specify posix.stdio:
- before:
    stdio = require "posix.stdio"


- describe fdopen:
    - before:
        fdopen = stdio.fdopen
        unistd = require "posix.unistd"
        STDOUT_FILENO = unistd.STDOUT_FILENO
        f = fdopen (STDOUT_FILENO, "w")

    - context with bad arguments:
        badargs.diagnose (fdopen, "(int,string)")

    - it duplicates a stream:
        expect (type (f)).to_be "userdata"

    - it writes to the duplicated stream:
        -- Lua 5.1 file.write returns true; > 5.1 returns file handle
        expect (f:write ("writing to fdopen(stdout)\n")).not_to_be (nil)
