@@ -102,6 +102,26 @@ func TestFullDocument(t *testing.T) {
102102 asMap , ok := result .(map [string ]any )
103103 require .True (t , ok )
104104 require .Lenf (t , asMap , testDocumentNBItems (), "Get(%v) = %v, expect full document" , in , result )
105+
106+ t .Run ("should set value in doc, with nil name provider" , func (t * testing.T ) {
107+ setter , err := New ("/foo/0" )
108+ require .NoErrorf (t , err , "New(%v) error %v" , in , err )
109+
110+ const value = "hey"
111+ require .NoError (t , setter .set (asMap , value , nil ))
112+
113+ foos , ok := asMap ["foo" ]
114+ require .True (t , ok )
115+
116+ asArray , ok := foos .([]any )
117+ require .Len (t , asArray , 2 )
118+
119+ foo := asArray [0 ]
120+ bar , ok := foo .(string )
121+ require .True (t , ok )
122+
123+ require .Equal (t , value , bar )
124+ })
105125 })
106126 })
107127}
@@ -873,4 +893,14 @@ func TestEdgeCases(t *testing.T) {
873893 require .ErrorIs (t , err , ErrUnsupportedValueType )
874894 })
875895
896+ t .Run ("set with empty pointer" , func (t * testing.T ) {
897+ p , err := New ("" )
898+ require .NoError (t , err )
899+
900+ doc := testDocumentJSON (t )
901+ newDoc , err := p .Set (doc , 1 )
902+ require .NoError (t , err )
903+
904+ require .Equal (t , doc , newDoc )
905+ })
876906}
0 commit comments