@@ -75,7 +75,11 @@ func TestDefaultValueDecoders(t *testing.T) {
7575 nil ,
7676 & valueReaderWriter {BSONType : TypeBoolean },
7777 nothing ,
78- ValueDecoderError {Name : "BooleanDecodeValue" , Kinds : []reflect.Kind {reflect .Bool }, Received : reflect .ValueOf (wrong )},
78+ ValueDecoderError {
79+ Name : "BooleanDecodeValue" ,
80+ Kinds : []reflect.Kind {reflect .Bool },
81+ Received : reflect .New (reflect .TypeOf (wrong )).Elem (),
82+ },
7983 },
8084 {
8185 "type not boolean" ,
@@ -741,7 +745,11 @@ func TestDefaultValueDecoders(t *testing.T) {
741745 nil ,
742746 & valueReaderWriter {BSONType : TypeDateTime , Return : int64 (0 )},
743747 nothing ,
744- ValueDecoderError {Name : "TimeDecodeValue" , Types : []reflect.Type {tTime }, Received : reflect .ValueOf (wrong )},
748+ ValueDecoderError {
749+ Name : "TimeDecodeValue" ,
750+ Types : []reflect.Type {tTime },
751+ Received : reflect .New (reflect .TypeOf (wrong )).Elem (),
752+ },
745753 },
746754 {
747755 "ReadDateTime error" ,
@@ -795,7 +803,11 @@ func TestDefaultValueDecoders(t *testing.T) {
795803 nil ,
796804 & valueReaderWriter {},
797805 nothing ,
798- ValueDecoderError {Name : "MapDecodeValue" , Kinds : []reflect.Kind {reflect .Map }, Received : reflect .ValueOf (wrong )},
806+ ValueDecoderError {
807+ Name : "MapDecodeValue" ,
808+ Kinds : []reflect.Kind {reflect .Map },
809+ Received : reflect .New (reflect .TypeOf (wrong )).Elem (),
810+ },
799811 },
800812 {
801813 "wrong kind (non-string key)" ,
@@ -873,7 +885,11 @@ func TestDefaultValueDecoders(t *testing.T) {
873885 nil ,
874886 & valueReaderWriter {},
875887 nothing ,
876- ValueDecoderError {Name : "ArrayDecodeValue" , Kinds : []reflect.Kind {reflect .Array }, Received : reflect .ValueOf (wrong )},
888+ ValueDecoderError {
889+ Name : "ArrayDecodeValue" ,
890+ Kinds : []reflect.Kind {reflect .Array },
891+ Received : reflect .New (reflect .TypeOf (wrong )).Elem (),
892+ },
877893 },
878894 {
879895 "can set false" ,
@@ -967,7 +983,11 @@ func TestDefaultValueDecoders(t *testing.T) {
967983 nil ,
968984 & valueReaderWriter {},
969985 nothing ,
970- ValueDecoderError {Name : "SliceDecodeValue" , Kinds : []reflect.Kind {reflect .Slice }, Received : reflect .ValueOf (wrong )},
986+ ValueDecoderError {
987+ Name : "SliceDecodeValue" ,
988+ Kinds : []reflect.Kind {reflect .Slice },
989+ Received : reflect .New (reflect .TypeOf (wrong )).Elem (),
990+ },
971991 },
972992 {
973993 "can set false" ,
@@ -1061,7 +1081,11 @@ func TestDefaultValueDecoders(t *testing.T) {
10611081 nil ,
10621082 & valueReaderWriter {BSONType : TypeObjectID },
10631083 nothing ,
1064- ValueDecoderError {Name : "ObjectIDDecodeValue" , Types : []reflect.Type {tOID }, Received : reflect .ValueOf (wrong )},
1084+ ValueDecoderError {
1085+ Name : "ObjectIDDecodeValue" ,
1086+ Types : []reflect.Type {tOID },
1087+ Received : reflect .New (reflect .TypeOf (wrong )).Elem (),
1088+ },
10651089 },
10661090 {
10671091 "type not objectID" ,
@@ -1148,7 +1172,11 @@ func TestDefaultValueDecoders(t *testing.T) {
11481172 nil ,
11491173 & valueReaderWriter {BSONType : TypeDecimal128 },
11501174 nothing ,
1151- ValueDecoderError {Name : "Decimal128DecodeValue" , Types : []reflect.Type {tDecimal }, Received : reflect .ValueOf (wrong )},
1175+ ValueDecoderError {
1176+ Name : "Decimal128DecodeValue" ,
1177+ Types : []reflect.Type {tDecimal },
1178+ Received : reflect .New (reflect .TypeOf (wrong )).Elem (),
1179+ },
11521180 },
11531181 {
11541182 "type not decimal128" ,
@@ -1210,7 +1238,11 @@ func TestDefaultValueDecoders(t *testing.T) {
12101238 nil ,
12111239 & valueReaderWriter {BSONType : TypeObjectID },
12121240 nothing ,
1213- ValueDecoderError {Name : "JSONNumberDecodeValue" , Types : []reflect.Type {tJSONNumber }, Received : reflect .ValueOf (wrong )},
1241+ ValueDecoderError {
1242+ Name : "JSONNumberDecodeValue" ,
1243+ Types : []reflect.Type {tJSONNumber },
1244+ Received : reflect .New (reflect .TypeOf (wrong )).Elem (),
1245+ },
12141246 },
12151247 {
12161248 "type not double/int32/int64" ,
@@ -1312,7 +1344,11 @@ func TestDefaultValueDecoders(t *testing.T) {
13121344 nil ,
13131345 & valueReaderWriter {BSONType : TypeString , Return : "http://example.com" },
13141346 nothing ,
1315- ValueDecoderError {Name : "URLDecodeValue" , Types : []reflect.Type {tURL }, Received : reflect .ValueOf (int64 (0 ))},
1347+ ValueDecoderError {
1348+ Name : "URLDecodeValue" ,
1349+ Types : []reflect.Type {tURL },
1350+ Received : reflect .New (reflect .TypeOf (int64 (0 ))).Elem (),
1351+ },
13161352 },
13171353 {
13181354 "ReadString error" ,
@@ -1386,7 +1422,11 @@ func TestDefaultValueDecoders(t *testing.T) {
13861422 nil ,
13871423 & valueReaderWriter {BSONType : TypeBinary , Return : bsoncore.Value {Type : bsoncore .TypeBinary }},
13881424 nothing ,
1389- ValueDecoderError {Name : "ByteSliceDecodeValue" , Types : []reflect.Type {tByteSlice }, Received : reflect .ValueOf (int64 (0 ))},
1425+ ValueDecoderError {
1426+ Name : "ByteSliceDecodeValue" ,
1427+ Types : []reflect.Type {tByteSlice },
1428+ Received : reflect .New (reflect .TypeOf (int64 (0 ))).Elem (),
1429+ },
13901430 },
13911431 {
13921432 "ReadBinary error" ,
@@ -1479,7 +1519,7 @@ func TestDefaultValueDecoders(t *testing.T) {
14791519 ValueDecoderError {
14801520 Name : "ValueUnmarshalerDecodeValue" ,
14811521 Types : []reflect.Type {tValueUnmarshaler },
1482- Received : reflect .ValueOf ( wrong ),
1522+ Received : reflect .New ( reflect . TypeOf ( wrong )). Elem ( ),
14831523 },
14841524 },
14851525 {
@@ -1510,7 +1550,11 @@ func TestDefaultValueDecoders(t *testing.T) {
15101550 nil ,
15111551 nil ,
15121552 nothing ,
1513- ValueDecoderError {Name : "UnmarshalerDecodeValue" , Types : []reflect.Type {tUnmarshaler }, Received : reflect .ValueOf (wrong )},
1553+ ValueDecoderError {
1554+ Name : "UnmarshalerDecodeValue" ,
1555+ Types : []reflect.Type {tUnmarshaler },
1556+ Received : reflect .New (reflect .TypeOf (wrong )).Elem (),
1557+ },
15141558 },
15151559 {
15161560 "copy error" ,
@@ -1589,7 +1633,11 @@ func TestDefaultValueDecoders(t *testing.T) {
15891633 nil ,
15901634 & valueReaderWriter {},
15911635 nothing ,
1592- ValueDecoderError {Name : "BinaryDecodeValue" , Types : []reflect.Type {tBinary }, Received : reflect .ValueOf (wrong )},
1636+ ValueDecoderError {
1637+ Name : "BinaryDecodeValue" ,
1638+ Types : []reflect.Type {tBinary },
1639+ Received : reflect .New (reflect .TypeOf (wrong )).Elem (),
1640+ },
15931641 },
15941642 {
15951643 "type not binary" ,
@@ -1649,7 +1697,11 @@ func TestDefaultValueDecoders(t *testing.T) {
16491697 nil ,
16501698 & valueReaderWriter {BSONType : TypeUndefined },
16511699 nothing ,
1652- ValueDecoderError {Name : "UndefinedDecodeValue" , Types : []reflect.Type {tUndefined }, Received : reflect .ValueOf (wrong )},
1700+ ValueDecoderError {
1701+ Name : "UndefinedDecodeValue" ,
1702+ Types : []reflect.Type {tUndefined },
1703+ Received : reflect .New (reflect .TypeOf (wrong )).Elem (),
1704+ },
16531705 },
16541706 {
16551707 "type not undefined" ,
@@ -1695,7 +1747,11 @@ func TestDefaultValueDecoders(t *testing.T) {
16951747 nil ,
16961748 & valueReaderWriter {BSONType : TypeDateTime },
16971749 nothing ,
1698- ValueDecoderError {Name : "DateTimeDecodeValue" , Types : []reflect.Type {tDateTime }, Received : reflect .ValueOf (wrong )},
1750+ ValueDecoderError {
1751+ Name : "DateTimeDecodeValue" ,
1752+ Types : []reflect.Type {tDateTime },
1753+ Received : reflect .New (reflect .TypeOf (wrong )).Elem (),
1754+ },
16991755 },
17001756 {
17011757 "type not datetime" ,
@@ -1749,7 +1805,11 @@ func TestDefaultValueDecoders(t *testing.T) {
17491805 nil ,
17501806 & valueReaderWriter {BSONType : TypeNull },
17511807 nothing ,
1752- ValueDecoderError {Name : "NullDecodeValue" , Types : []reflect.Type {tNull }, Received : reflect .ValueOf (wrong )},
1808+ ValueDecoderError {
1809+ Name : "NullDecodeValue" ,
1810+ Types : []reflect.Type {tNull },
1811+ Received : reflect .New (reflect .TypeOf (wrong )).Elem (),
1812+ },
17531813 },
17541814 {
17551815 "type not null" ,
@@ -1787,7 +1847,11 @@ func TestDefaultValueDecoders(t *testing.T) {
17871847 nil ,
17881848 & valueReaderWriter {BSONType : TypeRegex },
17891849 nothing ,
1790- ValueDecoderError {Name : "RegexDecodeValue" , Types : []reflect.Type {tRegex }, Received : reflect .ValueOf (wrong )},
1850+ ValueDecoderError {
1851+ Name : "RegexDecodeValue" ,
1852+ Types : []reflect.Type {tRegex },
1853+ Received : reflect .New (reflect .TypeOf (wrong )).Elem (),
1854+ },
17911855 },
17921856 {
17931857 "type not regex" ,
@@ -1847,7 +1911,11 @@ func TestDefaultValueDecoders(t *testing.T) {
18471911 nil ,
18481912 & valueReaderWriter {BSONType : TypeDBPointer },
18491913 nothing ,
1850- ValueDecoderError {Name : "DBPointerDecodeValue" , Types : []reflect.Type {tDBPointer }, Received : reflect .ValueOf (wrong )},
1914+ ValueDecoderError {
1915+ Name : "DBPointerDecodeValue" ,
1916+ Types : []reflect.Type {tDBPointer },
1917+ Received : reflect .New (reflect .TypeOf (wrong )).Elem (),
1918+ },
18511919 },
18521920 {
18531921 "type not dbpointer" ,
@@ -1912,7 +1980,11 @@ func TestDefaultValueDecoders(t *testing.T) {
19121980 nil ,
19131981 & valueReaderWriter {BSONType : TypeTimestamp },
19141982 nothing ,
1915- ValueDecoderError {Name : "TimestampDecodeValue" , Types : []reflect.Type {tTimestamp }, Received : reflect .ValueOf (wrong )},
1983+ ValueDecoderError {
1984+ Name : "TimestampDecodeValue" ,
1985+ Types : []reflect.Type {tTimestamp },
1986+ Received : reflect .New (reflect .TypeOf (wrong )).Elem (),
1987+ },
19161988 },
19171989 {
19181990 "type not timestamp" ,
@@ -1972,7 +2044,11 @@ func TestDefaultValueDecoders(t *testing.T) {
19722044 nil ,
19732045 & valueReaderWriter {BSONType : TypeMinKey },
19742046 nothing ,
1975- ValueDecoderError {Name : "MinKeyDecodeValue" , Types : []reflect.Type {tMinKey }, Received : reflect .ValueOf (wrong )},
2047+ ValueDecoderError {
2048+ Name : "MinKeyDecodeValue" ,
2049+ Types : []reflect.Type {tMinKey },
2050+ Received : reflect .New (reflect .TypeOf (wrong )).Elem (),
2051+ },
19762052 },
19772053 {
19782054 "type not null" ,
@@ -2026,7 +2102,11 @@ func TestDefaultValueDecoders(t *testing.T) {
20262102 nil ,
20272103 & valueReaderWriter {BSONType : TypeMaxKey },
20282104 nothing ,
2029- ValueDecoderError {Name : "MaxKeyDecodeValue" , Types : []reflect.Type {tMaxKey }, Received : reflect .ValueOf (wrong )},
2105+ ValueDecoderError {
2106+ Name : "MaxKeyDecodeValue" ,
2107+ Types : []reflect.Type {tMaxKey },
2108+ Received : reflect .New (reflect .TypeOf (wrong )).Elem (),
2109+ },
20302110 },
20312111 {
20322112 "type not null" ,
@@ -2080,7 +2160,11 @@ func TestDefaultValueDecoders(t *testing.T) {
20802160 nil ,
20812161 & valueReaderWriter {BSONType : TypeJavaScript , Return : "" },
20822162 nothing ,
2083- ValueDecoderError {Name : "JavaScriptDecodeValue" , Types : []reflect.Type {tJavaScript }, Received : reflect .ValueOf (wrong )},
2163+ ValueDecoderError {
2164+ Name : "JavaScriptDecodeValue" ,
2165+ Types : []reflect.Type {tJavaScript },
2166+ Received : reflect .New (reflect .TypeOf (wrong )).Elem (),
2167+ },
20842168 },
20852169 {
20862170 "type not Javascript" ,
@@ -2134,7 +2218,11 @@ func TestDefaultValueDecoders(t *testing.T) {
21342218 nil ,
21352219 & valueReaderWriter {BSONType : TypeSymbol , Return : "" },
21362220 nothing ,
2137- ValueDecoderError {Name : "SymbolDecodeValue" , Types : []reflect.Type {tSymbol }, Received : reflect .ValueOf (wrong )},
2221+ ValueDecoderError {
2222+ Name : "SymbolDecodeValue" ,
2223+ Types : []reflect.Type {tSymbol },
2224+ Received : reflect .New (reflect .TypeOf (wrong )).Elem (),
2225+ },
21382226 },
21392227 {
21402228 "type not Symbol" ,
@@ -2191,7 +2279,7 @@ func TestDefaultValueDecoders(t *testing.T) {
21912279 ValueDecoderError {
21922280 Name : "CoreDocumentDecodeValue" ,
21932281 Types : []reflect.Type {tCoreDocument },
2194- Received : reflect .ValueOf ( wrong ),
2282+ Received : reflect .New ( reflect . TypeOf ( wrong )). Elem ( ),
21952283 },
21962284 },
21972285 {
@@ -2203,7 +2291,7 @@ func TestDefaultValueDecoders(t *testing.T) {
22032291 ValueDecoderError {
22042292 Name : "CoreDocumentDecodeValue" ,
22052293 Types : []reflect.Type {tCoreDocument },
2206- Received : reflect .ValueOf (( * bsoncore .Document )(nil )),
2294+ Received : reflect .New ( reflect . TypeOf (( * bsoncore .Document )(nil ))). Elem ( ),
22072295 },
22082296 },
22092297 {
@@ -2259,7 +2347,7 @@ func TestDefaultValueDecoders(t *testing.T) {
22592347 ValueDecoderError {
22602348 Name : "CodeWithScopeDecodeValue" ,
22612349 Types : []reflect.Type {tCodeWithScope },
2262- Received : reflect .ValueOf ( wrong ),
2350+ Received : reflect .New ( reflect . TypeOf ( wrong )). Elem ( ),
22632351 },
22642352 },
22652353 {
@@ -2320,7 +2408,7 @@ func TestDefaultValueDecoders(t *testing.T) {
23202408 ValueDecoderError {
23212409 Name : "CoreArrayDecodeValue" ,
23222410 Types : []reflect.Type {tCoreArray },
2323- Received : reflect .ValueOf ( wrong ),
2411+ Received : reflect .New ( reflect . TypeOf ( wrong )). Elem ( ),
23242412 },
23252413 },
23262414 {
@@ -2332,7 +2420,7 @@ func TestDefaultValueDecoders(t *testing.T) {
23322420 ValueDecoderError {
23332421 Name : "CoreArrayDecodeValue" ,
23342422 Types : []reflect.Type {tCoreArray },
2335- Received : reflect .ValueOf (( * bsoncore .Array )(nil )),
2423+ Received : reflect .New ( reflect . TypeOf (( * bsoncore .Array )(nil ))). Elem ( ),
23362424 },
23372425 },
23382426 },
0 commit comments