コード例 #1
0
ファイル: filters.go プロジェクト: fcavani/log
func init() {
	types.Insert(True{})
	types.Insert(False{})
	types.Insert(If{})
	gob.Register(True{})
	gob.Register(False{})
	gob.Register(If{})
}
コード例 #2
0
ファイル: tests-client.go プロジェクト: fcavani/gormethods
func init() {
	gob.Register(&TestExportClient{})
	types.Insert(&TestExportClient{})
}
コード例 #3
0
ファイル: tests-client.go プロジェクト: fcavani/gormethods
func init() {
	gob.Register(&ResultClient{})
	types.Insert(&ResultClient{})
}
コード例 #4
0
ファイル: error.go プロジェクト: fcavani/monlite
func init() {
	types.Insert(&Error{})
	gob.Register(&Error{})
}
コード例 #5
0
ファイル: cache-disk_test.go プロジェクト: fcavani/image
func TestRegisterPhoto(t *testing.T) {
	types.Insert(&photo{})
}
コード例 #6
0
ファイル: callrequest.go プロジェクト: fcavani/gormethods
func init() {
	types.Insert(&reqCall{})
}
コード例 #7
0
ファイル: tags.go プロジェクト: fcavani/tags
func init() {
	types.Insert(&Tags{})
}
コード例 #8
0
ファイル: status.go プロジェクト: mehulsbhatt/monitor-1
func init() {
	gob.Register(&status{})
	types.Insert(&status{})
}
コード例 #9
0
ファイル: log.go プロジェクト: fcavani/monlite
func init() {
	gob.Register(&log{})
	types.Insert(&log{})
}
コード例 #10
0
ファイル: event.go プロジェクト: mehulsbhatt/monitor-1
func init() {
	gob.Register(&Disk{})
	gob.Register(&Process{})
	types.Insert(&Disk{})
	types.Insert(&Process{})
}
コード例 #11
0
ファイル: watermark.go プロジェクト: fcavani/image
func init() {
	types.Insert(&markedImage{})
}
コード例 #12
0
ファイル: dummy.go プロジェクト: fcavani/gormethods
func init() {
	types.Insert(Calculator{})
}
コード例 #13
0
ファイル: dummy.go プロジェクト: fcavani/gormethods
func init() {
	types.Insert(foo(""))
}
コード例 #14
0
ファイル: dummy.go プロジェクト: fcavani/gormethods
func init() {
	types.Insert(&Time{})
	types.Insert(&timehold{})
	types.Insert(timehold{})
}
コード例 #15
0
ファイル: tests-client.go プロジェクト: fcavani/gormethods
func init() {
	gob.Register(&TestChannelClient{})
	types.Insert(&TestChannelClient{})
}
コード例 #16
0
ファイル: channel.go プロジェクト: fcavani/gormethods
func init() {
	types.Insert(&ChannelDescriptor{})
}
コード例 #17
0
ファイル: cache-client.go プロジェクト: fcavani/image
func init() {
	gob.Register(&CacheClient{})
	types.Insert(&CacheClient{})
}
コード例 #18
0
ファイル: storetests.go プロジェクト: fcavani/log
func init() {
	types.Insert(&TestStruct{})
}
コード例 #19
0
ファイル: auth.go プロジェクト: fcavani/gormethods
func init() {
	types.Insert(&PlainText{})
	types.Insert(&Hashed{})
}
コード例 #20
0
func TestReqCall(t *testing.T) {
	var nilstruct *reqCall
	var err error
	str := "string"
	//var inil interface{} = nilstruct
	var istr interface{} = str
	var ipstr interface{} = &str
	emptySlice := make([]int, 0)
	types.Insert(make([]int, 0))
	s := &strct{}
	types.Insert(s)
	tests := []*reqCall{
		{"", nil},
		{"oi", []reflect.Value{}},
		{"oi", []reflect.Value{reflect.ValueOf(nilstruct)}},
		{"oi", []reflect.Value{reflect.ValueOf(err)}},
		{"oi", []reflect.Value{reflect.ValueOf(e.New("oi"))}},
		{"oi", []reflect.Value{reflect.ValueOf(errors.New("oi"))}},
		{"oi", []reflect.Value{reflect.ValueOf(1)}},
		{"oi", []reflect.Value{reflect.ValueOf("string")}},
		//{"oi", []reflect.Value{reflect.ValueOf(&str)}},
		//{"oi", []reflect.Value{reflect.ValueOf(inil)}},
		{"oi", []reflect.Value{reflect.ValueOf(istr)}},
		{"oi", []reflect.Value{reflect.ValueOf(ipstr)}},
		{"oi", []reflect.Value{reflect.ValueOf(s)}},
		{"oi", []reflect.Value{reflect.ValueOf(emptySlice)}},
	}

	for i, test := range tests {
		buf := bytes.NewBuffer([]byte{})
		enc := msgpack.NewEncoder(buf)
		dec := msgpack.NewDecoder(buf)
		err := enc.Encode(test)
		if err != nil {
			t.Fatal(i, e.Trace(e.Forward(err)))
		}
		var req reqCall
		err = dec.Decode(&req)
		if err != nil {
			t.Fatal(i, e.Trace(e.Forward(err)))
		}
		if req.Method != test.Method {
			t.Fatal("method not equal")
		}
		if len(req.Args) != len(test.Args) {
			t.Fatal("num of args not equal")
		}
		for ii, arg := range req.Args {
			if zero.IsZero(arg) != zero.IsZero(test.Args[ii]) {
				t.Fatal("arg differ", i, ii, zero.IsZero(arg), zero.IsZero(test.Args[ii]))
			}
			if zero.IsZero(arg) {
				continue
			}

			if arg.IsValid() != test.Args[ii].IsValid() {
				t.Fatal("valid differ")
			}
			if !arg.IsValid() {
				continue
			}

			if test.Args[ii].Kind() == reflect.Interface || test.Args[ii].Kind() == reflect.Map || test.Args[ii].Kind() == reflect.Ptr || test.Args[ii].Kind() == reflect.Slice {
				if arg.IsNil() != test.Args[ii].IsNil() {
					t.Fatal("arg differ", i, arg.IsNil(), test.Args[ii].IsNil())
				}
				if arg.IsNil() {
					continue
				}
			}
			if _, ok := arg.Interface().(*e.Error); !ok && !reflect.DeepEqual(arg.Interface(), test.Args[ii].Interface()) {
				t.Fatalf("Fail to encode and decode %v %#v %#v", i, arg.Interface(), test.Args[ii].Interface())
			}
		}
	}
}
コード例 #21
0
ファイル: server_test.go プロジェクト: fcavani/gormethods
func init() {
	types.Insert(Calc{})
}