go2hx

manual

github

Module: stdgo.testing.iotest

(view library index)

Overview

Package iotest implements Readers and Writers useful mainly for testing.

Index

Examples

Variables

import stdgo.testing.iotest.Iotest
var _truncateWriterTests:stdgo.Slice<stdgo.testing.iotest.T__struct_0>
var errTimeout:stdgo.Error

ErrTimeout is a fake timeout error.

Functions

import stdgo.testing.iotest.Iotest

function dataErrReader

function dataErrReader(_r:stdgo.io.Reader):stdgo.io.Reader

DataErrReader changes the way errors are handled by a Reader. Normally, a Reader returns an error (typically EOF) from the first Read call after the last piece of data is read. DataErrReader wraps a Reader and changes its behavior so the final error is returned along with the final data, instead of in the first call after the final data.

(view code)

function errReader

function errReader(_err:stdgo.Error):stdgo.io.Reader

ErrReader returns an io.Reader that returns 0, err from all Read calls.

exampleErrReader

function exampleErrReader():Void {
        var _r:stdgo.io.Io.Reader = stdgo.testing.iotest.Iotest.errReader(stdgo.errors.Errors.new_(("custom error" : stdgo.GoString)));
        var __tmp__ = _r.read((null : stdgo.Slice<stdgo.GoUInt8>)), _n:stdgo.GoInt = __tmp__._0, _err:stdgo.Error = __tmp__._1;
        stdgo.fmt.Fmt.printf(("n:   %d\nerr: %q\n" : stdgo.GoString), stdgo.Go.toInterface(_n), stdgo.Go.toInterface(_err));
    }

(view code)

function halfReader

function halfReader(_r:stdgo.io.Reader):stdgo.io.Reader

HalfReader returns a Reader that implements Read by reading half as many requested bytes from r.

(view code)

function newReadLogger

function newReadLogger(_prefix:stdgo.GoString, _r:stdgo.io.Reader):stdgo.io.Reader

NewReadLogger returns a reader that behaves like r except that it logs (using log.Printf) each read to standard error, printing the prefix and the hexadecimal data read.

(view code)

function newWriteLogger

function newWriteLogger(_prefix:stdgo.GoString, _w:stdgo.io.Writer):stdgo.io.Writer

NewWriteLogger returns a writer that behaves like w except that it logs (using log.Printf) each write to standard error, printing the prefix and the hexadecimal data written.

(view code)

function oneByteReader

function oneByteReader(_r:stdgo.io.Reader):stdgo.io.Reader

OneByteReader returns a Reader that implements each non-empty Read by reading one byte from r.

(view code)

function testDataErrReader_emptyReader

function testDataErrReader_emptyReader(_t:stdgo.Ref<stdgo.testing.T_>):Void

(view code)

function testDataErrReader_nonEmptyReader

function testDataErrReader_nonEmptyReader(_t:stdgo.Ref<stdgo.testing.T_>):Void

(view code)

function testErrReader

function testErrReader(_t:stdgo.Ref<stdgo.testing.T_>):Void

(view code)

function testHalfReader_emptyReader

function testHalfReader_emptyReader(_t:stdgo.Ref<stdgo.testing.T_>):Void

(view code)

function testHalfReader_nonEmptyReader

function testHalfReader_nonEmptyReader(_t:stdgo.Ref<stdgo.testing.T_>):Void

(view code)

function testOneByteReader_emptyReader

function testOneByteReader_emptyReader(_t:stdgo.Ref<stdgo.testing.T_>):Void

(view code)

function testOneByteReader_nonEmptyReader

function testOneByteReader_nonEmptyReader(_t:stdgo.Ref<stdgo.testing.T_>):Void

(view code)

function testReadLogger

function testReadLogger(_t:stdgo.Ref<stdgo.testing.T_>):Void

(view code)

function testReadLogger_errorOnRead

function testReadLogger_errorOnRead(_t:stdgo.Ref<stdgo.testing.T_>):Void

(view code)

function testReader

function testReader(_r:stdgo.io.Reader, _content:stdgo.Slice<stdgo.GoByte>):stdgo.Error

TestReader tests that reading from r returns the expected file content. It does reads of different sizes, until EOF. If r implements io.ReaderAt or io.Seeker, TestReader also checks that those operations behave as they should.

If TestReader finds any misbehaviors, it returns an error reporting them. The error text may span multiple lines.

(view code)

function testStringsReader

function testStringsReader(_t:stdgo.Ref<stdgo.testing.T_>):Void

(view code)

function testTimeOutReader_emptyReader

function testTimeOutReader_emptyReader(_t:stdgo.Ref<stdgo.testing.T_>):Void

(view code)

function testTimeOutReader_nonEmptyReader

function testTimeOutReader_nonEmptyReader(_t:stdgo.Ref<stdgo.testing.T_>):Void

(view code)

function testTruncateWriter

function testTruncateWriter(_t:stdgo.Ref<stdgo.testing.T_>):Void

(view code)

function testWriteLogger

function testWriteLogger(_t:stdgo.Ref<stdgo.testing.T_>):Void

(view code)

function testWriteLogger_errorOnWrite

function testWriteLogger_errorOnWrite(_t:stdgo.Ref<stdgo.testing.T_>):Void

(view code)

function timeoutReader

function timeoutReader(_r:stdgo.io.Reader):stdgo.io.Reader

TimeoutReader returns ErrTimeout on the second read with no data. Subsequent calls to read succeed.

(view code)

function truncateWriter

function truncateWriter(_w:stdgo.io.Writer, _n:stdgo.GoInt64):stdgo.io.Writer

TruncateWriter returns a Writer that writes to w but stops silently after n bytes.

(view code)

Typedefs

import stdgo.testing.iotest.*

typedef T__struct_0

typedef T__struct_0 = {
	_want:stdgo.GoString;
	_trunc:stdgo.GoInt64;
	_n:stdgo.GoInt;
	_in:stdgo.GoString;
};