user - ActiveState ActiveGo 1.8
...

Package user

import "github.com/golang/mock/sample"
Overview
Index
Subdirectories

Overview ▾

An example package with an interface.

func GrabPointer

func GrabPointer(index Index) int

func Remember

func Remember(index Index, keys []string, values []interface{})

A function that we will test that uses the above interface. It takes a list of keys and values, and puts them in the index.

type Embed

An interface with an embedded interface.

type Embed interface {
    RegularMethod()
    Embedded
    imp1.ForeignEmbedded
}

type Embedded

type Embedded interface {
    EmbeddedMethod()
}

type Index

A bizarre interface to test corner cases in mockgen. This would normally be in its own file or package, separate from the user of it (e.g. io.Reader).

type Index interface {
    Get(key string) interface{}
    GetTwo(key1, key2 string) (v1, v2 interface{})
    Put(key string, value interface{})

    // Check that imports are handled correctly.
    Summary(buf *btz.Buffer, w io.Writer)
    Other() hash.Hash
    Templates(a t1.CSS, b t2.FuncMap)

    // A method with an anonymous argument.
    Anon(string)

    // Methods using foreign types outside the standard library.
    ForeignOne(imp1.Imp1)
    ForeignTwo(renamed2.Imp2)
    ForeignThree(Imp3)
    ForeignFour(imp_four.Imp4)

    // A method that returns a nillable type.
    NillableRet() error
    // A method that returns a non-interface type.
    ConcreteRet() chan<- bool

    // Methods with an ellipsis argument.
    Ellip(fmt string, args ...interface{})
    EllipOnly(...string)

    // A method with a pointer argument that we will set.
    Ptr(arg *int)

    // A method with a slice argument and an array return.
    Slice(a []int, b []byte) [3]int

    // A method with channel arguments.
    Chan(a chan int, b chan<- hash.Hash)

    // A method with a function argument.
    Func(f func(http.Request) (int, bool))

    // A method with a map argument.
    Map(a map[int]hash.Hash)

    // Methods with an unnamed empty struct argument.
    Struct(a struct{})          // not so likely
    StructChan(a chan struct{}) // a bit more common
}

Subdirectories

Name Synopsis
..
imp1
imp2
imp3
imp4
mock_user