@@ -141,6 +141,34 @@ func testWithClient(t *testing.T, c *Client) {
141141 t .Fatalf ("second add(foo) want ErrNotStored, got %v" , err )
142142 }
143143
144+ // Append
145+ append := & Item {Key : "append" , Value : []byte ("appendval" )}
146+ if err := c .Append (append ); err != ErrNotStored {
147+ t .Fatalf ("first append(append) want ErrNotStored, got %v" , err )
148+ }
149+ c .Set (append )
150+ err = c .Append (& Item {Key : "append" , Value : []byte ("1" )})
151+ checkErr (err , "second append(append): %v" , err )
152+ appended , err := c .Get ("append" )
153+ checkErr (err , "third append(append): %v" , err )
154+ if string (appended .Value ) != string (append .Value )+ "1" {
155+ t .Fatalf ("Append: want=append1, got=%s" , string (appended .Value ))
156+ }
157+
158+ // Prepend
159+ prepend := & Item {Key : "prepend" , Value : []byte ("prependval" )}
160+ if err := c .Prepend (prepend ); err != ErrNotStored {
161+ t .Fatalf ("first prepend(prepend) want ErrNotStored, got %v" , err )
162+ }
163+ c .Set (prepend )
164+ err = c .Prepend (& Item {Key : "prepend" , Value : []byte ("1" )})
165+ checkErr (err , "second prepend(prepend): %v" , err )
166+ prepended , err := c .Get ("prepend" )
167+ checkErr (err , "third prepend(prepend): %v" , err )
168+ if string (prepended .Value ) != "1" + string (prepend .Value ) {
169+ t .Fatalf ("Prepend: want=1prepend, got=%s" , string (prepended .Value ))
170+ }
171+
144172 // Replace
145173 baz := & Item {Key : "baz" , Value : []byte ("bazvalue" )}
146174 if err := c .Replace (baz ); err != ErrNotStored {
0 commit comments