mirror of
https://github.com/valyala/fasthttp.git
synced 2026-06-14 15:56:44 +03:00
42 lines
825 B
Go
42 lines
825 B
Go
package fasthttp
|
|
|
|
import (
|
|
"fmt"
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
func TestUserData(t *testing.T) {
|
|
var u userData
|
|
|
|
for i := 0; i < 10; i++ {
|
|
key := []byte(fmt.Sprintf("key_%d", i))
|
|
u.SetBytes(key, i+5)
|
|
testUserDataGet(t, &u, key, i+5)
|
|
u.SetBytes(key, i)
|
|
testUserDataGet(t, &u, key, i)
|
|
}
|
|
|
|
for i := 0; i < 10; i++ {
|
|
key := []byte(fmt.Sprintf("key_%d", i))
|
|
testUserDataGet(t, &u, key, i)
|
|
}
|
|
|
|
u.Reset()
|
|
|
|
for i := 0; i < 10; i++ {
|
|
key := []byte(fmt.Sprintf("key_%d", i))
|
|
testUserDataGet(t, &u, key, nil)
|
|
}
|
|
}
|
|
|
|
func testUserDataGet(t *testing.T, u *userData, key []byte, value interface{}) {
|
|
v := u.GetBytes(key)
|
|
if v == nil && value != nil {
|
|
t.Fatalf("cannot obtain value for key=%q", key)
|
|
}
|
|
if !reflect.DeepEqual(v, value) {
|
|
t.Fatalf("unexpected value for key=%q: %d. Expecting %d", key, v, value)
|
|
}
|
|
}
|