@@ -111,36 +111,61 @@ var _ = Describe("WriteArg", func() {
111111 wr = proto .NewWriter (buf )
112112 })
113113
114+ t := time .Date (2025 , 2 , 8 , 00 , 00 , 00 , 0 , time .UTC )
115+
114116 args := map [any ]string {
115- "hello" : "$5\r \n hello\r \n " ,
116- int (10 ): "$2\r \n 10\r \n " ,
117- util .ToPtr (int (10 )): "$2\r \n 10\r \n " ,
118- int8 (10 ): "$2\r \n 10\r \n " ,
119- util .ToPtr (int8 (10 )): "$2\r \n 10\r \n " ,
120- int16 (10 ): "$2\r \n 10\r \n " ,
121- util .ToPtr (int16 (10 )): "$2\r \n 10\r \n " ,
122- int32 (10 ): "$2\r \n 10\r \n " ,
123- util .ToPtr (int32 (10 )): "$2\r \n 10\r \n " ,
124- int64 (10 ): "$2\r \n 10\r \n " ,
125- util .ToPtr (int64 (10 )): "$2\r \n 10\r \n " ,
126- uint (10 ): "$2\r \n 10\r \n " ,
127- util .ToPtr (uint (10 )): "$2\r \n 10\r \n " ,
128- uint8 (10 ): "$2\r \n 10\r \n " ,
129- util .ToPtr (uint8 (10 )): "$2\r \n 10\r \n " ,
130- uint16 (10 ): "$2\r \n 10\r \n " ,
131- util .ToPtr (uint16 (10 )): "$2\r \n 10\r \n " ,
132- uint32 (10 ): "$2\r \n 10\r \n " ,
133- util .ToPtr (uint32 (10 )): "$2\r \n 10\r \n " ,
134- uint64 (10 ): "$2\r \n 10\r \n " ,
135- util .ToPtr (uint64 (10 )): "$2\r \n 10\r \n " ,
136- float32 (10.3 ): "$18\r \n 10.300000190734863\r \n " ,
137- util .ToPtr (float32 (10.3 )): "$18\r \n 10.300000190734863\r \n " ,
138- float64 (10.3 ): "$4\r \n 10.3\r \n " ,
139- util .ToPtr (float64 (10.3 )): "$4\r \n 10.3\r \n " ,
140- bool (true ): "$1\r \n 1\r \n " ,
141- bool (false ): "$1\r \n 0\r \n " ,
142- util .ToPtr (bool (true )): "$1\r \n 1\r \n " ,
143- util .ToPtr (bool (false )): "$1\r \n 0\r \n " ,
117+ "hello" : "$5\r \n hello\r \n " ,
118+ util .ToPtr ("hello" ): "$5\r \n hello\r \n " ,
119+ (* string )(nil ): "$0\r \n \r \n " ,
120+ int (10 ): "$2\r \n 10\r \n " ,
121+ util .ToPtr (int (10 )): "$2\r \n 10\r \n " ,
122+ (* int )(nil ): "$1\r \n 0\r \n " ,
123+ int8 (10 ): "$2\r \n 10\r \n " ,
124+ util .ToPtr (int8 (10 )): "$2\r \n 10\r \n " ,
125+ (* int8 )(nil ): "$1\r \n 0\r \n " ,
126+ int16 (10 ): "$2\r \n 10\r \n " ,
127+ util .ToPtr (int16 (10 )): "$2\r \n 10\r \n " ,
128+ (* int16 )(nil ): "$1\r \n 0\r \n " ,
129+ int32 (10 ): "$2\r \n 10\r \n " ,
130+ util .ToPtr (int32 (10 )): "$2\r \n 10\r \n " ,
131+ (* int32 )(nil ): "$1\r \n 0\r \n " ,
132+ int64 (10 ): "$2\r \n 10\r \n " ,
133+ util .ToPtr (int64 (10 )): "$2\r \n 10\r \n " ,
134+ (* int64 )(nil ): "$1\r \n 0\r \n " ,
135+ uint (10 ): "$2\r \n 10\r \n " ,
136+ util .ToPtr (uint (10 )): "$2\r \n 10\r \n " ,
137+ (* uint )(nil ): "$1\r \n 0\r \n " ,
138+ uint8 (10 ): "$2\r \n 10\r \n " ,
139+ util .ToPtr (uint8 (10 )): "$2\r \n 10\r \n " ,
140+ (* uint8 )(nil ): "$0\r \n \r \n " ,
141+ uint16 (10 ): "$2\r \n 10\r \n " ,
142+ util .ToPtr (uint16 (10 )): "$2\r \n 10\r \n " ,
143+ (* uint16 )(nil ): "$1\r \n 0\r \n " ,
144+ uint32 (10 ): "$2\r \n 10\r \n " ,
145+ util .ToPtr (uint32 (10 )): "$2\r \n 10\r \n " ,
146+ (* uint32 )(nil ): "$1\r \n 0\r \n " ,
147+ uint64 (10 ): "$2\r \n 10\r \n " ,
148+ util .ToPtr (uint64 (10 )): "$2\r \n 10\r \n " ,
149+ (* uint64 )(nil ): "$1\r \n 0\r \n " ,
150+ float32 (10.3 ): "$18\r \n 10.300000190734863\r \n " ,
151+ util .ToPtr (float32 (10.3 )): "$18\r \n 10.300000190734863\r \n " ,
152+ (* float32 )(nil ): "$1\r \n 0\r \n " ,
153+ float64 (10.3 ): "$4\r \n 10.3\r \n " ,
154+ util .ToPtr (float64 (10.3 )): "$4\r \n 10.3\r \n " ,
155+ (* float64 )(nil ): "$1\r \n 0\r \n " ,
156+ bool (true ): "$1\r \n 1\r \n " ,
157+ bool (false ): "$1\r \n 0\r \n " ,
158+ util .ToPtr (bool (true )): "$1\r \n 1\r \n " ,
159+ util .ToPtr (bool (false )): "$1\r \n 0\r \n " ,
160+ (* bool )(nil ): "$1\r \n 0\r \n " ,
161+ time .Time (t ): "$20\r \n 2025-02-08T00:00:00Z\r \n " ,
162+ util .ToPtr (time .Time (t )): "$20\r \n 2025-02-08T00:00:00Z\r \n " ,
163+ (* time .Time )(nil ): "$20\r \n 0001-01-01T00:00:00Z\r \n " ,
164+ time .Duration (time .Second ): "$10\r \n 1000000000\r \n " ,
165+ util .ToPtr (time .Duration (time .Second )): "$10\r \n 1000000000\r \n " ,
166+ (* time .Duration )(nil ): "$1\r \n 0\r \n " ,
167+ (encoding .BinaryMarshaler )(& MyType {}): "$5\r \n hello\r \n " ,
168+ (encoding .BinaryMarshaler )(nil ): "$0\r \n \r \n " ,
144169 }
145170
146171 for arg , expect := range args {
0 commit comments