1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- // +build go1.15
- // remove these tests temporarily until https://github.com/golang/go/issues/38105 and
- // https://github.com/golang/go/issues/38940 is fixed
- package test
- import (
- "encoding"
- "strings"
- )
- func init() {
- testCases = append(testCases,
- (*map[stringKeyType]string)(nil),
- (*map[structKeyType]string)(nil),
- )
- }
- type stringKeyType string
- func (k stringKeyType) MarshalText() ([]byte, error) {
- return []byte("MANUAL__" + k), nil
- }
- func (k *stringKeyType) UnmarshalText(text []byte) error {
- *k = stringKeyType(strings.TrimPrefix(string(text), "MANUAL__"))
- return nil
- }
- var _ encoding.TextMarshaler = stringKeyType("")
- var _ encoding.TextUnmarshaler = new(stringKeyType)
- type structKeyType struct {
- X string
- }
- func (k structKeyType) MarshalText() ([]byte, error) {
- return []byte("MANUAL__" + k.X), nil
- }
- func (k *structKeyType) UnmarshalText(text []byte) error {
- k.X = strings.TrimPrefix(string(text), "MANUAL__")
- return nil
- }
- var _ encoding.TextMarshaler = structKeyType{}
- var _ encoding.TextUnmarshaler = &structKeyType{}
|